Why Amazon Reserved Instances don’t make economic sense for startups
jonathanboutelle.com
jonathanboutelle.com
> As a result, it ONLY makes sense to consider a dedicated instance for a machine that will be running 24 hours a day, 7 days a week.
Amazon have addressed this with their Light, Medium and Heavy RIs. The break-even points on the cost savings are on this page: http://aws.amazon.com/ec2/reserved-instances/
The one thing I would add about RIs is: they only apply to a pairing of AZ and instance size. They suit people who scale out (adding more instances) and don't suit people who scale up (changing their instance sizes and not using the old reservations).
EC2 shines for very small, very large or very dynamic deployments (jitter of at least +/- 20 servers).
Most startups outgrow "very small" (2-4 Servers) quickly and then stick around in the mid-range (5-30 servers) for an eternity.
During this mid-range phase EC2 is usually 2x-3x more expensive than rented dedicated servers.
That expense might be worth it, though, if your startup goes unexpectedly viral and the site goes down for hours or days while you wait for your host to provision new dedicated servers for you.
2.) For small systems, don't forget hybrids! EC2 is a _steal_ as a disaster contingency option. Run your own stuff. Replicate state to EC2. Keep your configuration managed and up to date both places. Build your routing horizon (dns most likely, perhaps anycast) to be able to shift traffic between the two fluidly and quickly.
Moron at your data center kills the power? No big deal, spin up instances and keep users happy. Got a big but occasional data processing job? No problem, and less ways the job can affect the production system.
The open source tooling for doing this kinda sucks but it's getting better fast. It's a huge opportunity for smaller businesses to level advantage vs large organizations with multiple in house data centers.
That makes it a lot more flexible, and a better value in a lot of cases, I think.
On Reserved instances a one year Reserved instance is equivalent to 6 months running a non-reserved instance. So it starts to save you money after 6 months. Don't remember if this was a High, Medium or Low usage reserved instance. (slides 15, 16, 17)
Other cost savings techniques I found interesting:
* Using AWS ancillary services instead of building your own on EC2 servers saves a big chunk of cost (elastic load balancer, SQS, DynamoDB) -- slides 30-34
* Consider bidding for spot instances if you have data processing requirements that fit those usecases (Map/Reduce jobs for example). This will save you heaps. -- slides 21-30
* It's really all about fitting your usage graph to the right combination of EC2 instances, so something long-term to handle the average traffic. A medium resource to handle the daily peak loads, and something extra on hand to handle a short but sharp spike in traffic. And spot instances to push down the per hour resource cost in batch processing.
(Disclaimer, I work for LOVEFiLM, an Amazon company, but not involved in AWS side of things)
Reserved instances make perfect sense if your server on EC2 is running 24/7 for months on end. In fact, with now that Amazon has different rates for medium/light/heavy utilization, it makes perfect sense for even more situations.
We've taken advantage of RI's at my startup and the benefits are pretty clear. Our app servers are micro instances running PHP, Python and Java (SOLR). We scale by adding more instances not by renting bigger servers, so our RI's are always in use. It's also worth noting that the reserved instances for RDS are a great way to reduce costs as well (if you choose to use RDS).