3. ?
You and the project lifecycle
Deployment
and Launch
DesignDiscovery
Content
staging
Information
Architecture
Development/
Implementation
Quality
Assurance
Maintenance
From “Planning and Managing a Drupal Project” by Amye Scavarda in Definitive Guide to Drupal
What defines
success
What risks in each
phase?
How can you affect
all phases?
3Wednesday, June 12, 2013
4. This is based on...
• Case studies and real-life examples
• Shared expertise and knowledge
• Growing group of project managers in Drupal
• DrupalCon and DrupalCamp presentations
• Learning from your peers!
4Wednesday, June 12, 2013
8. Launch meeting
• Discuss contingencies for going live
• Who
• Project manager
• Developers
• Client stakeholder
8Wednesday, June 12, 2013
9. What do you think
are the risks
in the deployment or
launch phase?
Mitigate the risks
9Wednesday, June 12, 2013
10. Testing before launch
• Testing
• Functional Testing.
• Mobile Testing
• Testing with Drupal Modules: SimpleTest
• Migration of the system to the production
servers. (mitigate with same environment)
• Detailed launch plan (cutover and rollback)
10Wednesday, June 12, 2013
11. Planning for traffic
• Load testing and goals
• Users
• Test patterns - ordering? video? sharing?
• What can your site handle?
11Wednesday, June 12, 2013
12. Neccessary planning
Cutover
Identify timeframe.
Document steps, assign
stakeholders and tasks.
Validate - test once or
twice to document
issues and timings.
Rollback
Clear tasks in case of
rollback
Test the rollback plan
Who is responsible for
each step?
12Wednesday, June 12, 2013
14. Why is this risky?
Code
PHP, JS, CSS
Data
Files
Code
PHP, JS, CSS
Data
Files
Local Production
Copy down
latest data?
FTP up
latest code?
Make live
changes in
configuration
14Wednesday, June 12, 2013
15. The deployment problem
Code
PHP, JS, CSS
Data
Files
Code
PHP, JS, CSS
Data
Files
Local Development Staging Production
15Wednesday, June 12, 2013
16. Code OK (version control)
Local Development Staging Production
Added
change to a
theme
Files
Data changed
Code changed
PHP, JS, CSS
Code
PHP, JS, CSS
Files
Added a new
View
Code
PHP, JS, CSS
Data
Files
16Wednesday, June 12, 2013
17. Data conflicts
Local Development Staging Production
Files
Data changed
Code changed
PHP, JS, CSS
Files
New user
added an
article!
Code
PHP, JS, CSS
Data
Files
Code
PHP, JS, CSS
17Wednesday, June 12, 2013
18. Configuration to code
Local Development Staging Production
Files
Data changed
Code changed
PHP, JS, CSS
Files
Export
configuration
to code
Code
PHP, JS, CSS
Data
Files
Code
PHP, JS, CSS
Code
PHP, JS, CSS
18Wednesday, June 12, 2013
19. Export to code?
• Think “Features” such as an image gallery.
• Contains: Config, content, code, files.
• What can be exported:
• Views, content types, settings, etc.
• Eliminates hazards of rebuilding on
production sites.
• Does not: Manage data export.
• Modules: Features, Strongarm, custom.
19Wednesday, June 12, 2013
20. Staging for testing
Local Development Staging Production
Files
Data changed
Code changed
PHP, JS, CSS
Code
PHP, JS, CSS
Files Files
Code
PHP, JS, CSS
Data
Files
Code
PHP, JS, CSS
Files
Data Data
Run scripts from
code that update
the database with
new configuration.
20Wednesday, June 12, 2013
21. Environments needed
Development
Developers
collaborating and
testing.
Code should be
version controlled.
Multiple dev
environments
(local and online).
Staging/QA
Test updates from
development.
Should be exact
same environment
as production.
Sync content and
files from
production.
Production/Live
Live, stable version
of site.
Tested.
This is where users
login and add
content (usually).
21Wednesday, June 12, 2013
22. Consider
• Why is important that QA and Production
mimic each other?
Screenshot of Acquiaʼs hosting UI.
22Wednesday, June 12, 2013
25. The ***P stack
• Drupal is flexible, but most tested on...
• Linux: But works on other OSs
• Apache: But works on other servers
• MySQL: But works on other databases.
• PHP: This is a requirement.
http://drupal.org/requirements
25Wednesday, June 12, 2013
26. Hosting considerations
Performance
How fast can this
software respond?
How long does it
take to process a
request and output
a page to the
browser?
Scalability
How fast can this
system respond?
How many
requests can the
system handle at
once?
Improvements
Optimize database
queries.
Cache (save a
processed copy) for
anonymous visitors.
Use a CDN (content
delivery network) for
files or media.
26Wednesday, June 12, 2013
29. Hosting a single site
Contributed
module
Contributed
module
Contributed
themes
Core
DB
Web Site
Drupal site
http://www.acquia.com/resources/collateral/drupal-powered-enterprise
29Wednesday, June 12, 2013
34. Easy win
• Option 1:
• Buy the right hardware, install load
balancers, setup MySQL servers in master-
slave mode, setup static file servers, setup web
servers, get PHP working with an opcode cache, tie in
a distributed memory object caching system like memcached,
integrate with a content delivery network, watch security advisories
for every component in your system and configure and tune the hell out of everything.
• Option 2:
• Choose optimized Drupal-tuned hosting.
34Wednesday, June 12, 2013
35. Acquia Network
• Operate sites more
effectively
– Drupal site monitoring
– SEO Grader
– In-the-wild software testing
– Self-service load testing
– Performance monitoring
• Extend site capabilities
efficiently
– Faceted search and
navigation
– Content recommendations
– Automated spam protection
– Mobile interface design
– A/B, multivariate testing
35Wednesday, June 12, 2013
36. Application management
• Checks 80+ Drupal
specific settings
• On-demand scoring
• Personalized real-
time notifications
• Best practice
recommendations
36Wednesday, June 12, 2013
38. Build in training
• Demo functionality to stakeholders
• Record demos at key milestone meetings.
• Get content editors involved at the earliest
stages so they learn incrementally.
• Testing and learning at the same time.
38Wednesday, June 12, 2013
39. Documentation
• Create a central repository for project
documentation, gather as you go along.
• Improve inline documentation.
• Content entry screen “help text”.
39Wednesday, June 12, 2013
40. Drupal for Content editors!
• June 26th - check the webinar schedule
• https://acquia.com/resources/webinars
• How Drupal works
• Content administration
• Typical customizations
• Key terminology
40Wednesday, June 12, 2013
41. ANY QUESTIONS?
For those watching the
recording, ask questions here:
http://bit.ly/d4pm3
41Wednesday, June 12, 2013
42. Useful resources
• Launch checklists
• http://www.zivtech.com/blog/impending-
drupal-site-launch-use-list
• http://www.microserveltd.co.uk/blogs/
drupal-development/going-live-drupal-
checklist
• More resources will be posted at
bit.ly/d4pm3
42Wednesday, June 12, 2013