localsocial, dial2do and the cloud
DESCRIPTION
LocalSocial and Dial2Do presentation at www.cloudsummit.ieTRANSCRIPT
Experience with AWS
Sean O Sullivan
LocalSocial / Dial2Do
Motivation
• Ease of use / Speed of use• Experimentation• AMIs• Flexibility• Pricing
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 EC2Compute 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
LocalSocial
Localsocial: VPN
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 ourmySQL DB) mounted.
• Also have commands to do with bundling up the AMI. Used if we makesystem 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
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
Dial2Do: CloudFront
Dial2Do: Backups
• Backup to S3• Rotation policy
– 7 dailies– 5 weeklies– Monthlies (never rotated)
• Keeps the size maintainable– And the bill modest
Costs
• EC2– Running Small Instance
• $0.10 per instance-hour• 743 hours• $74.30 per month
• S3– 6-7Gb stored– Costs about $1 a month– $0.150 per GB
Costs
EC2 Dashboard
Wish List / to be done…
• Auto scaling• Cost management• Monitoring
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