Using the cloud to handle high peak traffic for limited times - without going broke.
Scaling Drupal using Amazon Web Services.
A talk by Frank Febbraro and Eric Johnson at Drupalcon DC.
http://dc2009.drupalcon.org/session/scaling-drupal-using-amazon-web-services-aws
http://el-studio.com/articles/scaling-drupal-amazon-cloud-drupalcon-presentation
7. THE PEOPLE
Eric at The Case Foundation
• Was spending for boxes not always needed
• Runs periodic campaigns (48,000 people donating for 6 month
grant competition)
• Likes to send press releases
• Moved Drupal to AWS in December 2007
Friday, March 6, 2009
8. THE PEOPLE
Frank at Phase2 Technology
• Architect
• First significant AWS deployments
• Kickoff to deployment in 5 weeks
• Team developed code & deployment scaling concurrently
Friday, March 6, 2009
9. IN THE CLOUD
The Promise The Challenge
Servers when you need Configuration, please
Multiple datacenters Filesystem sync
$70/month/cpu + bandwidth
Pay for what you need
Friday, March 6, 2009
10. WHAT IS AWS?
Amazon Web Services
Friday, March 6, 2009
12. EC2
elastic compute cloud
Friday, March 6, 2009
13. EBS
elastic block storage
Friday, March 6, 2009
14. SHUT UP ALREADY!
how do I actually deploy & scale my site
Friday, March 6, 2009
15. OUR SOLUTION
• multiple front ends
• master/slave database
• dedicated edit server
• ebs mounted filesystems (files & db)
• sync files to front ends every minute
• not ideal for large number of editors
Friday, March 6, 2009
26. EC2 Instance
Boot Scripts
AMI - O/S
Friday, March 6, 2009
27. EC2 Instance
Boot Scripts
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
28. EC2 Instance
Boot Scripts
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
29. EC2 Instance
Boot Scripts
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
30. EC2 Instance
Boot Scripts
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
31. EC2 Instance
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
32. EC2 Instance
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
33. EC2 Instance
Operational Scripts
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
34. EC2 Instance
Operational Scripts
backup snapshot
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
35. EC2 Instance
Operational Scripts
site deployment
backup snapshot
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
36. EC2 Instance
Operational Scripts
failover
site deployment
backup snapshot
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
37. EC2 Instance
Operational Scripts
failover
site deployment
backup snapshot
Boot Scripts
register with load balancer
deploy site, restore db
vhost install, customize config
mount EBS, DNS
php, httpd, apc, memcached
AMI - O/S
Friday, March 6, 2009
38. EC2 Instance
Operational Scripts
M
failover
o
n
site deployment
i
t
backup snapshot
o
r
Boot Scripts i
n
register with load balancer g
deploy site, restore db &
vhost install, customize config A
l
e
mount EBS, DNS
r
t
php, httpd, apc, memcached
s
AMI - O/S
Friday, March 6, 2009
45. OR DROP US A NOTE
Eric Johnson
•
Director of Technology
The Case Foundation
@elstudio
http://el-studio.com/tag/cloud/
Frank Febbraro
•
CTO
Phase2 Technology
@febbraro
http://agileapproach.com
Friday, March 6, 2009
Editor's Notes
ERIC
ERIC
ERIC
ERIC
ERIC
ERIC
FRANK
ERIC
FF
FF persistent distributed storage for files via http post/get, high latency
FF servers
FF low latency, permanent storage, but not multi datacenter
FF
ERIC
ERIC
multiple front ends
master/slave database
dedicated edit server
ebs mounted filesystems (files & db)
sync files to front ends every minute
not ideal for large number of logged-in users
FF It is important to note that your deployment in cloud scenarios is often “developed” in much the same way your site is developed and it requires time, testing, review, etc. DO not underestimate this amount of time.
command line, aws console, puppet, etc.
EJ
EJ The one sentence summary is that the current EC2 console is a control panel that gives you access to all EC2 functions while RightScale is a complete management platform to design, deploy, and manage the life-cycle of mission critical cloud deployments.
EJ Leading provider of mangement console for entire server deployment environment. Their onsole
EJ
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
EJ extract the variations and things that are required to be unique and provide them as input.
EJ done based on deployments. server + templates = deployment
deployments only vary based on the inputs given
to make these diff envs, just clone your deployment
FF test the hell out of it. This is where a ton of your work developing the deployment applies
FF you need sysadmin skills on staff, or cloud management. Depends on the usage profile of your site, kernel requirements, etc.