3. Motivation
• Ease of use / Speed of use
• Experimentation
• AMIs
• Flexibility
• Pricing
4. LocalSocial
• S3
– Stores our AMI
– Fedora 8 from AWS
– Plus all our own stuff (RoR, Scripts, …)
• EC2
– One “small instance” Server
• 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2
Compute Unit), 160 GB of instance storage, 32-bit platform
– Runs our AMI fulltime
– Two domains right now
• gigmonkey.com
• mylocalsocial.com
– And our VPN
• EBS
– Connected to running EC2 Instance
– Persistent Store for all mySQL DBs
7. LocalSocial: Tools etc.
• Wrote some wrappers around the command line tools
– start_instance: start a new instance of our Base AMI
– attach_database_volume: mount our EBS volume to our EC2 instance
• Gets a new instance running with the required EBS volume (with our
mySQL DB) mounted.
• Also have commands to do with bundling up the AMI. Used if we make
system changes that want to reflect across all newly started instances.
– Excludes our application code - this is deployed after the instance is started.
• Start to finish deploy
– 1. Start new Instance of Base AMI
– 2. Attach the DB EBS volume
– 3. Setup our application environment (Capistrano deploy:setup)
– 4. Deploy our application from our SVN repository.
– 5. Restart services
• Backup tasks
– backup : wraps the ec2 snapshot command (creates a snapshot of our
EBS volume)
– Did this ourselves, but may use ec2onrails in future
8. Dial2Do: CloudFront
• Amazon's CDN service
• Delivery of static assets
– e.g. images, javascript, stylesheets
– Huge increase in speed (3x to 10x depending….)
• Drawback
– Can't manually expire the local caches in CF
– If you upload a new image it's fine
– If you update a CSS file without changing it's name then the
change will not be picked up for 24 hours.
• Workarounds
– Version every filename (a pain!),
– Use multiple "buckets" in Amazon
14. Wish List / to be done…
• Auto scaling
• Cost management
• Monitoring
15. Conclusions
• Nowadays: This stuff works!
• Excellent for startups
– Contrast with “old days”
• Killer combo
– Virtualisation
– On-demand compute and storage
• Gets better month by month
– The “grid” is becoming a reality