10. Designed to provide 99.99% durability and 99.99% availability Designed to provide 99.999999999% durability and 99.99% availability Also versioning allows you to preserve, retrieve, and restore every version of every object stored in your bucket
29. WARNING HTTPS and CNAMEs are not supported S3 bucket name must only contain lower case alphanumeric characters, periods, or hyphens Bucket names must be unique across entire AWS You can’t rename – Delete + Recreate (which costs)
30. Cost Data transfer from EC2 machines in same region are free AppHarbour runs out of US East Region, meaning transfers to US Standard are free.
31. 1gb stored, 10gb downloaded via 1,000,000 requests == $2.22 per month 1gb stored, 1tb downloaded via 10,000,000 requests == $132.90 per month CloudFront has additional pricing. 10gb = $2 http://calculator.s3.amazonaws.com/calc5.html
54. Availability Zones Availability Zones are distinct locations that are engineered to be insulated from failures in other Availability Zone 2-3 per region.
55. Regions US East (Northern Virginia) US West (Northern California) EU (Ireland) Asia Pacific (Singapore) Asia Pacific (Tokyo)
56. Business / Technical Decisions Geo-location It’s a data centre, it can die. Scale across multiple regions for maximum up-time.
57. EBS & Snapshots EBS == Hard drive. Can increase volume size, but means taking machine down. Snapshots == Backup. Can attach to new / different AMI
58.
59.
60. Keypairs BE CAREFUL – DON’T LOSE THE FILE Used to generate password / SSH auth What do you do if you lose the key pair? Storing in AMI? Encrypt with key passed in via user-data
61. User Data Install-lamp #!/bin/bash set -e -x export DEBIAN_FRONTEND=noninteractive apt-get update && apt-get upgrade -y tasksel install lamp-server echo "Please remember to set the MySQL root password!” ec2-run-instances --key KEYPAIR --user-data-file install-lamp ami-bf5eb9d6
62. AMI Amazon Machine Image Official base snapshots or private AMI images allow you to spin up multiple machines. Great when combined with Spot Pricing. Before creating AMI for Windows: Disable SysPrep (BundleConfig.xml) Disable machine renaming (Config.xml)
79. Temp Data It will get deleted on reboots. RabbitMQ + Hbase both used temp locations as default storage. Reboot == lost work. Takes a long time to debug.
80. Sharepoint / SQL Server + Rename Microsoft products generally don’t like a machine to be renamed. Reboots == rename as it’s based on IP. Return it off as described earlier.
90. Configuration Self discovery Use DNS + Load Balancers to reduce config changes Internal DNS on EC2? HAProxy Store in external system which can update / replicate to other nodes.
91. Hybrid Cloud Providers One won’t fit all Optimize for use-case Best of breed CAN BE REALLY EXPENSIVE + COMPLEX!
92. Think! At some point and scale, the cloud doesn’t make sense. Zynga has around 12,000 EC2 nodes Once game is proven, moved to private cloud. EC2 for experiments and additional load.
93. Small, isolated components Design system for scale Design system for failure Message Queues are great! Use them. Keep everything async
94. User’s Browser Javascript File via Lighttpd ELB Single EC2 Machine Easily add additional nodes to ELB User’s Browser Javascript File via S3 CloudFront
95. Heroku + NodeJS Data Collection Ruby Data Processor RabbitMQ Queue HBase Data Storage Heroku + Rails UI Single EC2 Machine Three separate components, designed to scale each individually when required. Deployment, Scale, Cost
96. Chaos Monkey Kill random machines. See what breaks, fix it. Amazon will do it without telling you, be prepared and plan ahead! http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
100. Elastic Beanstalk – Easily deploy Java based applications + Stack VPC – virtual network topology Elastic MapReduce – Hosted Hadoop CloudFormation – Similar to Chef / Puppet. Start group of machines RDS – Hosted MySQL / Oracle ElastiCache – Hosted Memcached SNS - Simple Notification Service. Similar to a queue IAM – Sharing access to AWS with a team
101. Amazon Mechanical Turk EC2 for Humans! Crowdsourcing work Grockit used it to verify content - http://mechanicalturk.typepad.com/blog/2011/10/editors-note-ari-bader-natal-is-the-chief-learning-architect-at-grockit-the-fast-growing-online-social-learning-startup-bac.html “Usability Test on www.somewebsite.com #1148” - $10 “Click on google +1 for my website - $0.01”