What do you like best?
EC2, coupled with other AWS products/services, is a very deep offering.
The most useful/valuable features to our team are:
- Predictable performance (m3/m4, i2, r3, etc. instance types)
- When coupled with VPC, sensible networking, predictable/definable private IP's
- When coupled with ELB, load balancers that enable rolling upgrades of app tiers by easily adding/removing instances using Ansible
- Predictable latency intra and cross AZ
- Availability zones are a huge plus. Knowing you have instances on isolated power/cooling/network that have ~1ms latency to another AZ in the same region is huge for building highly available systems.
- Points of presence all over the world
What do you dislike?
- I wish us-west-1 had 3 or more AZ's, so we could have protection from any single AZ wide event/issue in our zookeeper and elasticsearch qorums.
- No presence in China or Russia. China would be esspecially useful, since it is so latent to get through the "Great firewall", and it is so prohibitively hard to get compute on mainland china for serving content on the internet there.
- No d2 instances in us-west-1. We need affordable fast sequential write storage for kafka and hadoop (until we transition to S3+spark)
Recommendations to others considering the product
Run stateless app tiers: Treat instances like trash, if one of them has a problem, terminate it and replace it.
Assume you will have some random but infrequent issues with an instance.
Build H/A from the start, use multiple AZ's
What business problems are you solving with the product? What benefits have you realized?
- Infrastructure as service.
- We are no longer in the datacenter business (almost), for example.
Here is a 2014 comment:
"We can't do that, its going to take months to get hardware, find a colo, config everything, ship it, and get it working/tested"
after migrating to AWS and using Ec2:
"Oh, sure, we can spin up our platform in Germany for a campaign that requires data locality within the country, give me the rest of the night and we will benchmark tomorrow"