3 ms·
> That literally makes zero sense. Heavy utilisation RIs have been available since forever, and are extremely price competitive with every other major competito
by gtaylor 12y ago
> That literally makes zero sense. Heavy utilisation RIs have been available since forever, and are extremely price competitive with every other major competitor in the cloud infrastructure space (namely Google, and Azure).
The big difference is that with AWS, I am probably "stuck" with an instance for 1-3 years, unless I want to take my chances with the hit-or-miss reservation marketplace. This is a really bad fit for some businesses that are still vertically scaling, but don't have deep pockets. AWS can still make sense for companies on a budget because of their great portfolio of services, but EC2 is by far the most inconvenient billing-wise.
For example, we reserved an m3.large RDS instance, which at the time left us more than enough breathing room. About four months went by, and traffic grew far faster than projections. We weren't hurting, but we now wanted to bump to a m3.xlarge to feel comfortable, even after a round of optimizations and profiling. We're stuck with that 1-year reservation's sunk cost, and have no use for the old m3.large reservation if we switch to m3.xlarge.
The other fun part was buying a 3-year m1.medium reservation, only to see the new m3 series instances come out before those three years were up. These new instance types have been landing pretty frequently.
Reservations shift a lot of "risk" on to the customer and away from Amazon. GCE's pricing model is harder to estimate your bill with, but I actually like the idea of not being "stuck" if I want to be economical. Automatically give me discounts for instances that I run often, but don't lock me down.
- Alex3917 12y agoCan you rent out your instance to someone else, or at least use it to mine some CPU-bound crypto? That way you'd be at least making some/most of the money back.
- gtaylor 12y agoYou can try your luck on the reservation marketplace, but depending on your region, instance size, reservation duration, reservation age, you may not end up being able to get out.
- _almosnow 12y agoI can't see what's wrong on Amazon's side. It's like a business telling you "if you buy four coffes you'll get one for free"; and then you complain "but I would have to buy four coffees there!".
- gtaylor 12y ago> I can't see what's wrong on Amazon's side. It's like a business telling you "if you buy four coffes you'll get one for free"; and then you complain "but I would have to buy four coffees there!". To make that analogy more correct, you've got a finite amount of coffee money, and you'd be agreeing to drink the same coffee (size, flavor, quantity) for 1-3 years. If a better blend or different flavor arrived at the coffee shop, you'd be out of luck until the end of your contract. Unless you wanted to go outside of your contracted discount and pay the full rate (On Demand), while eating the sunk cost of the reservation fee. If you found your tolerance rising and wanted a bigger cup or more cups, you'd lose your discount. It's not as simple as "give me an instance and give me a discount". It's a shifting of risk from AWS to the customer.
- Ensorceled 12y agoThe risk to AWS is that you'll go the fancy coffee shop down the street and leave them holding 1-3 years of bulk coffee. You are getting discount for saying "No risk, I'll stick around until the coffee runs out". There is no "shifting the risk", it's explicitly the reason for the discount.
- gtaylor 12y ago> There is no "shifting the risk", it's explicitly the reason for the discount. Sure there is. I'm not going to get into potential motivations and logistics (since I as a customer don't care), but there is no doubt that reservations are for shifting risk to the customer and away from Amazon. It doesn't matter if they're offering a discount, that's really not the point I am trying to make. I'm more concerned with the "risk" I take on each time I reserve an instance. The big gripe I have is that a reservation is made with the assumption that everything (quality of service, the needs of your application, customer service) stays roughly the same for the duration of the reservation. If the customer service stinks, or there are some really bad outages, I've sunk the cost and end up throwing the money away if I switch (we eat the expense instead of Amazon). If I want to upgrade my instance size and have mixed duration reservations, I've got that sunk cost to swallow. If I want to scale down, ditto. I risk throwing away money if I change plans. In a perfect world, I'd like the option to either pay an upfront reservation fee for the best rates, or run On Demand and get a graduated discount curve like Google Compute. They'd still get have an incentive to stay put, and people or companies with lower budgets could avoid the large reservation fees. At the same time, you could still pay the upfront reservation fee if you wanted the best rate and didn't mind committing for a year+.
- sly010 12y agoActually, you can upgrade reservations as long as they are on the same machine type, so m3.large -> m3.xlarge -> m3.large is possible mid-year. m1 -> m3 is certainly a problem, but that shouldn't happen too often. So as long as you stuck to m3 and you know you will be using some machines, you should be fine. A bigger problem I see is that most startups don't actually know where they will be in a year (or 3). One solution would be to reserve compute units, instead of machines. You could reserve 16 m3 "units" and could use that as 4 x m3.large or 2 x m3.xlarge. Those are equivalent in hardware anyway (minus some fragmentation).
- gtaylor 12y ago> Actually, you can upgrade reservations as long as they are on the same machine type, so m3.large -> m3.xlarge -> m3.large is possible mid-year. m1 -> m3 is certainly a problem, but that shouldn't happen too often. There are a lot of caveats to this. Most importantly, you had to have purchased the reservations that you are going to combine at the same time. You can't mix and match durations. If you have one with 8 months left and another wix 6 months left, you're out of luck. So if you want this kind of thing, you've got to shell out a lot more at the same time to buy a group of reservations. That's kind of a pain to me. > One solution would be to reserve compute units, instead of machines. You could reserve 16 m3 "units" and could use that as 4 x m3.large or 2 x m3.xlarge. Those are equivalent in hardware anyway (minus some fragmentation). The fact that we're sitting here talking about making a huge investment that we may or may not end up using effectively is the thing I dislike about this reservation system. I'm going to have to shell out a good bit of coin upfront for all of this, and I am effectively locked in for at least a year. Unless I want to gamble on the reservation market. This is my biggest gripe, as an AWS customer. Give me more simple billing and get out of my way. Don't lock me into this thing that resembles a contract with a cancellation fee.