
Announcing Amazon EC2 Reserved Instances - jeffbarr
http://aws.typepad.com/aws/2009/03/announcing-ec2-reserved-instances.html
======
bdr
Amazon has continued to iterate on AWS and execute brilliantly. They're making
Google look shabby, and I'd love to know more about how their internal
processes differ.

------
mdasen
The question I'm left with: What happens if/when Amazon changes what you're
given with an EC2 instance? EC2 was launched in August 2006 offering the same
specs for the same price that they're offering now. Since we're coming upon
the three year anniversary, I don't think it's outrageous to believe that
upgrades to what we're given might come within a year or so. If I commit to a
small instance (1.7GB) for 3 years and in 9 months they have a new 2009 small
instance which is 2.5GB, would I get that upgrade?

I hate to be as simplistic as moore's law, but server capacity is increasing
when you look at what you can get in a dedicated box. Amazon will have to keep
parity over the long term and if you're committing to a 3-year period, you
might miss out on the upgrades. In fact, this could be a way for Amazon to
roll out newer, better hardware onto their network while not seeing older
hardware just disused. And I guess you can't complain about getting a 1.7GB
server for $35/mo (which is the three year commitment price).

~~~
TimothyFitz
We might not see upgrades any time soon, they may try to push the price of
their slowest instances down. Imagine if you could get an instance for $10/mo?
$5/mo? They're just buying faster hardware and figuring out how many instances
they can effectively run per-machine.

~~~
lsc
if you are willing to pay per month, there is a lot of competition in that
arena. I'm one of the cheaper offerings... see <http://prgmr.com/xen/> but
then, I don't have the cool provisioning system ec2 has. In fact, I need to
finish up my next server before putting people on it. But yes, competition
will force ec2 prices down. 4gb dual-rank registered ecc ddr2 is almost cheap
enough for me to move to 64GB servers (meaning I'll be able to lower prices
again.) - how much cheaper would I need to be before a service like mine
became compelling vs. ec2?

~~~
mdasen
None of this is meant to sound harsh, but I would like to detail out my
impressions:

Mosso is announcing 256MB Xen instances for 1.5 cents per hour (under $11/mo).
You're at $8/mo and only have 1 rack. Mosso is backed by Rackspace. You're
offering 6GB of space while Mosso is offering 10GB, but you're throwing in
40GB of transfer. So, maybe you're a bit cheaper (considering Mosso's
22cents/GB bandwidth), but if one of the server boxes dies, can you replace it
within an hour or do you need to have one shipped from Dell? You probably
don't have a lot of spare capacity lying around. Likewise, if I need to scale
up, it might take a while for you to provision hardware.

There's very little information on your service in some ways. Like, is the
storage RAID? What if I need an OS reload? Is there a nice control panel for
things like that? Heck, do you even provide DNS?

Form an LLC. I don't like dealing with some guy. The LLC makes me feel happy.
. .even if it's just some guy.

You could be the next Slicehost. From what I know, they didn't start off too
differently. I'd simplify the pricing a little (or at least get rid of the
64MB one - it simply isn't enough memory, especially considering the $1/mo
cost savings). In fact, start at the $20 level. At that price, you're offering
1GB of RAM and that's a nice level to be offering for $20. All the lower
levels just make the service look cheap and unreliable. I mean, how much can
you make on $5/mo considering the potential for things like chargebacks? I see
that the $8 plan is your most popular (and that you mirror - from your
profile). Maybe keep it starting at 256, but for $4 more people could get the
512.

Create an auto-provisioning system. This is a must. It's the difference
between looking awesome and looking cheap. It's why Slicehost did so well - a
couple minutes and you were up, faster than EC2 oftentimes. Offer backups,
they make people feel warm and fuzzy. If you're really in it, get a second
rack and more equipment. That will make people feel a lot more safe. It also
means you could start offering HA setups. I'm not stupid, but sometimes I just
like a simple control panel. I don't want to learn a new API if I don't have
to.

The issue kinda is that your service would be cool for personal stuff, but I
couldn't launch production stuff on it. For production stuff, I like having HA
setups with IP failover which means having instances on different machines in
different racks. If I'm going to go Xen, I might as well get the benefits of
instant (or near instant) provisioning from Slicehost/Linode/EC2. Sure, let's
say they're twice as expensive or more. They're still cheap.

Offer the ability to snapshot an image and then launch another instance of it.
That's really popular with IT managers.

And you don't have to be so cheap. In fact, I'd have to say that's your
biggest flaw - you underestimate how valuable you are. Make some money, put
time into it. I haven't looked into it, but there's a decent chance that RAM
prices follow a predictable decline in price over several years. So, if you
find that RAM halves its price every 2 years, maybe offer customers 25% more
RAM every 6 months - predictably. That sure beats the nebulousness of
Slicehost and others. I'd definitely pay $20 for a 512MB server with the
knowledge that I'd be getting regular RAM increases as hardware costs go down.
Although you probably know what your costs are better than anyone.

Sorry for the length of this. It's just really cool to get to talk to someone
running a service like this. Oh, idea, for backups you could possibly
integrate tarsnap which would compress the images before storage and so for
people who didn't use much space it wouldn't cost much - yet people pay for
good backups. I currently use both Slicehost and Linode and I'm considering
that your service might be a nice alternative, but it's still hard to commit
to such a young service with so few resources.

I know that Slicehost also lamented the lack of resources to spend on new
machines. To an extent, you're not entering the market at a time that will
accept a waitlist like how people waited for Slicehost. Well, it's late. Sorry
for lacking eloquence in this post, but I'm half asleep. Might try to contact
you through your site if I have other suggestions. I really, really hope you
become a fourth entrant onto the scene to make sure prices stay nice. Good
Luck!

~~~
lsc
thanks for the feedback! I'm looking at eucalyptus for provisioning. I want
something standard. the optimal situation is one where you can easily move
from me to another provider and back. the idea is that you'd run your backup
images on ec2, but mostly run through prgmr (or whoever is cheapest at the
time) for your day to day needs. You'd have the instant provisioning if you
need to expand right away or if the guy running the cheap provider gets hit by
a bus, but you'd be able to save money running with the cheap provider most of
the time

Automatic provisioning would also allow me to drop the price on my smaller
images. (right now I charge you $4 per account, plus $1 for every 64Mb ram you
want every month.)

I give you console access, and access to PVGRUB, so you can change your
kernel, or boot into a read-only rescue image I provide if you mess up your
own image beyond recoverability. Any easier interfaces will be built using
whatever provisioning API I end up with (like I said, right now I'm looking at
Eucalyptus, but I haven't implemented anything yet)

the idea is that if you have managed servers before, the concept of a remote
rebooter, a serial console, and a read only rescue image (a cdrom in the
drive) will be familiar to you.

I don't think I want to get rid of the cheap plans. I meet lots of interesting
people that way. I've hired a few of them, with good results. But on the other
hand, I think my larger plans are a much better deal. Personally, I agree with
you on the 64MiB plans, I'd rather pay the extra dollar to double my ram, but
some other people disagree. I sell more 64Mb plans than 128Mb plans. (though,
like I said, the 256Mb plan is the most popular.) I've got some people running
NetBSD (which runs fine in 64M, if you aren't doing much) and others who
upload custom linux distros, replacing sshd with dropbear. But then, I know at
least one customer who lives (in China) on what amounts to about
USD$200/month, so I imagine he cares a lot more about that one dollar than you
or I do.

I like the sort of people you meet running these low-cost services (the big
problem is making it unfriendly to spammers and other scum. I run snort on my
outgoing traffic, proactively monitoring for abuse, which helps.) and I think
the contacts you make on the low end (because even us wealthy bay area nerds
can be pretty cheap sometimes.) often help with the high-end stuff, too. It
certainly has allowed me to up my consulting rates, and it has gotten me a
book deal. <http://nostarch.com/xen.htm> (Yes, I got someone who went to
college to help. Also, most of it I wrote when I was not this tired.)

I compete on price because I don't have sales skills. I understand I need to
make my website look better (and start buying hardware ahead of time) but I
will always be at a disadvantage there. From my point of view, selling 10x as
many images at 1/2 the cost (which seems to be about what happened last time I
lowered my prices) seems like a damn good deal. I don't have to deal with
salespeople or even focus on sales skills. I focus on building out new
hardware and keeping my system reliable, and people keep coming.

with the price of dual-rank 4GB registered ecc ddr2 modules coming down, I
will soon be able to move to 64MB ram per server rather than my current 32GB
ram. (to give you an idea, right now each 32GB ram/ 8 core box sets me back
around $2K, including disk.)

I've been doing this since '05... well, I was jerking around with FreeBSD
jails before that, but I moved to Xen (Xen 2.0 on NetBSD) in December of '05.
when ec2 came out, they were cheaper than I was. It looked like the end, and I
even warned my customers and quit. (I kindof screwed myself there.) But it
became clear that ec2 had no intention of lowering prices.

With my next server, I will experiment with providing more disk space (via NFS
or ISCSI from an OpenSolaris storage unit.)

but yeah, this is all home built. Dell? why would i pay extra for a box with
only 8 ram slots? There's almost always enough spare parts for another server
in the garage. My new workstation (the parts are in the mail) will also use
the same hardware, so that's something else I could pull from. But since I
switched to new hardware (sometime in '07) the only hardware failure I've had
was a disk (and that was half of a mirrored pair, so I was able to replace it
at my leisure.)

It's all standard stuff, though, so if worst came to worst, I could always run
down to fry's and get the parts I need. (not that I regularly buy anything but
retail-packaged hard drives from Fry's, for quality and price reasons. But if
someone was down, I could do it.)

Really, assembling computers is easier than jerking around with the salesguy
long enough to get the 'real price' at least for me, and I'm something of a
paranoid asshole when it comes to ESD (you see, for quite some time now I have
been the guy who gets woken up in the middle of the night when a server
mysteriously reboots. It doesn't take many of those before you are willing to
perform any ritual that might make your server even slightly more reliable.)

Now, I do have a lot of good price competition in the below-512MiB size
range... but it seems that few competitors discount the higher ram amounts. I
wonder if it is because they are using Dell or other hardware that only has 8
ram slots, requiring the more expensive 4GB modules? or if it's just 'If you
need eight gigabytes, you can afford to pay through the nose' ?

~~~
mdasen
Wow, I didn't know that you could get a 32GB/8-core server for only $2,000.
That makes the economics of it a lot less scary (and your prices a lot more
understandable - I was a little worried that they you were significantly
underselling your costs).

I do like that larger RAM servers are cheaper. I hope all your images don't
sell too quickly once you get the new box provisioned! Oh, what do you charge
for bandwidth overages? Not that I have a ton of traffic, but still.

Also, play up your history. Knowing that you've been around since 05 makes you
a ton more credible - you aren't a me-too service and rather someone that's
coming into their own.

~~~
lsc
right now it's $0.10/gb. (hopefully I'll lower that when I get to my new
location later this month. My goal is to keep everything below half what ec2
charges.) - Nick finished up the new server and put ordering on last night,
it's got 30GB still free. there are parts for two more 32GB servers in the UPS
system as we speak, so hopefully there won't be a gap between when this one
fills up and when I get the next one installed.

the key to cheap ram servers is twofold. 1. get motherboards with 16 ram
slots. this is changing, but 4gb modules are still more expensive than 2gb
modules. 2. get motherboards that support registered ecc ddr2 (not FBDIMM-
they take a whole lot of power) I use the low-power quad-core opterons. then
don't go crazy on the CPU. (most of mine are 1.9Ghz bartons. if you go that
route, make sure you don't get a broken stepping. one of the new servers will
be a 2.1Ghz low-power shanghai that just came out. they are cheap! Shanghais
look really good.)

------
lecha
IMHO this is great, but not perfect. The model of reserved instances takes EC2
users back into the business of provisioning planning. How many instance/years
should I buy for the next year? How many is too many? EC2 users are still
unable to to spread the 1 year time credit over multiple instances. In
principle, it costs the same to run one instance for 1000 hours than to run
1000 instances for one hour. In practice, the current model makes it
impossible to capture the discount. What is needed is to able to buy a year
worth of CPU time at discount, and then be free to launch as many instances as
needed to use up the time credit. (more on
[http://weblog.smirnov.ca/2009/03/12/ec2-reserved-
instances-a...](http://weblog.smirnov.ca/2009/03/12/ec2-reserved-instances-
are-great-but-not-perfect/))

~~~
easp
I don't buy the argument that this somehow puts a big provisioning planning
burden back on users.

Most small users of EC2 know that they are going to need one or two instances
on all the time. Amazon just lowered their base costs, making it easier for
them to choose EC2 over another VPS offering.

Most larger users also know they have a "base load" that they have to meet.
It's not hard to imagine that a lot of sites will have 2 machines as redundant
load balancers, two as redundant web/app servers, and two for a DB failover
cluster.

Paying in advance for these instances is a no-brainer once you've decided EC2
is for you. If figuring out the rest is too much work or involves too much
uncertainty, the on-demand pricing is still compelling.

"In principle, it costs the same to run one instance for 1000 hours than to
run 1000 instances for one hour."

This wouldn't be true if you were operating your own datacenter, and it's not
true in Amazon's datacenter either. In order to offer on-demand instances,
Amazon has to keep idle capacity in reserve. There is a difference in degree,
since Amazon is averaging over a lot more customers, but they still have to
build and maintain capacity that will sit idle for significant periods of
time. By creating a new pricing tier for reserved instances, they can both
reduce their uncertainty about unused capacity, and give customers a better
price for making that commitment.

What's really missing here is another low-priced tier for low-priority
instances. These would either be suspended and paged completely to disk during
times of high load, or they'd be started and killed automatically to make use
of idle capacity. They could be used for long-running batch jobs.

------
mjtokelly
If your capacity requirements are very steady, you could save more than 30% on
CPU time with this. At the very least, figure out how many instances you need
at 3am and buy that many reservations.

That's what I'll be doing tomorrow.

~~~
gommm
I always have at least one instance running so it's good for saving money...

At this price point it's actually cheaper than a vps at slicehost: 325/12 +
720*.03 = 49$

slicehost for an equivalent instance it's between 70$ and 130$ (but need to
count the included bandwidth from slicehost to be more fair)

~~~
wmf
Slicehost prices are dropping (looks like 2x) on Monday.

~~~
wmf
Correction: They're switching from a prepaid bandwidth quota to per-GB
pricing, so if you use less bandwidth the price is lower but if you use the
full quota the price is higher.

------
timf
Here's a look at the new prices with different bandwidth scenarios:
<http://news.ycombinator.com/item?id=514056>

------
froo
This is actually very interesting news for someone like me who would open up a
good number of high CPU instances at any one time but only for short periods
to do some rendering. Typically a few hours

Now I guess I gotta do a cost analysis and figure out which will be better, as
both models have their strengths and weaknesses for my particular use.

------
smakz
Wow, this is really great news. I use Amazon EC2 for all my web hosting and
absolutely love it. Total control of a not-too-shabby box for 70$ a month was
a great deal. For 40$ a month it's a downright steal.

Thanks for sharing.

------
gojomo
Or, "slightly _less_ elastic" instances.

Is there a resale/arbitrage opportunity here? Buy a bunch of reserved
instances, resell at a price less than "full elastic" instances but higher
than your cost (taking the risk that sometimes you might not have buyers for
all your prepurchased capacity).

(Amazon could make this easier or harder by controlling whether reserved
quotas can be delegated to others, or how easily AMIs and traffic can flow
between billing accounts.)

------
webfabric
Save around 300/yr on a small instance based on a 30day month

------
numair
Can someone create a nifty JavaScript calculator for this?

~~~
moe
Sure.

Copy to clipboard, then middle click in firefox:

javascript:var%20si=prompt(%22how%20many%20of%20your%20small%20instances%20run%2024/7?%22);var%20sip=(si
_(0.1_ 24 _365_ 3)/3/12).toFixed();var%20sip_1yr=(si _(0.03_ 24
_365+325)/12).toFixed();var%20sip_3yr=(si_ (0.03 _24_ 365
_3+500)/3/12).toFixed();var%20li=prompt(%22how%20many%20of%20your%20large%20instances%20run%2024/7?%22);var%20lip=(li_
(0.4 _24_ 365 _3)/3/12).toFixed();var%20lip_1yr=(li_ (0.12 _24_
365+1300)/12).toFixed();var%20lip_3yr=(li _(0.12_ 24 _365_
3+2600)/3/12).toFixed();var%20xli=prompt(%22how%20many%20of%20your%20extra%20large%20instances%20run%2024/7?%22);var%20xlip=(xli
_(0.8_ 24 _365_ 3)/3/12).toFixed();var%20xlip_1yr=(xli _(0.24_ 24
_365+2600)/12).toFixed();var%20xlip_3yr=(xli_ (0.24 _24_
365*3+4000)/3/12).toFixed();window.location.href=%22_blank%22;document.write(%22<h1>Potential%20savings</h1>%22);if(0<si){document.write(%22<h2>%22+si+%22%20Small%20instances</h2>%22);document.write(%22%22);document.write(%22<table%20border=1>%22);document.write(%22<tr>%22);document.write(%22%20<td>&nbsp;</td>%22);document.write(%22%20<td>Normal</td>%22);document.write(%22%20<td>1yr%20Reservation</td>%22);document.write(%22%20<td>3yr%20Reservation</td>%22);document.write(%22</tr>%22);document.write(%22<tr>%22);document.write(%22%20<td>Effective%20Monthly%20Fee</td>%22);document.write(%22%20<td>$%22+sip+%22</td>%22);document.write(%22%20<td>$%22+sip_1yr+%22</td>%22);document.write(%22%20<td>$%22+sip_3yr+%22</td>%22);document.write(%22</tr>%22);document.write(%22</table>%22)}if(0<li){document.write(%22<h2>%22+li+%22%20Large%20instances</h2>%22);document.write(%22%22);document.write(%22<table%20border=1>%22);document.write(%22<tr>%22);document.write(%22%20<td>&nbsp;</td>%22);document.write(%22%20<td>Normal</td>%22);document.write(%22%20<td>1yr%20Reservation</td>%22);document.write(%22%20<td>3yr%20Reservation</td>%22);document.write(%22</tr>%22);document.write(%22<tr>%22);document.write(%22%20<td>Effective%20Monthly%20Fee</td>%22);document.write(%22%20<td>$%22+lip+%22</td>%22);document.write(%22%20<td>$%22+lip_1yr+%22</td>%22);document.write(%22%20<td>$%22+lip_3yr+%22</td>%22);document.write(%22</tr>%22);document.write(%22</table>%22)}if(0<xli){document.write(%22<h2>%22+xli+%22%20Extra%20Large%20instances</h2>%22);document.write(%22%22);document.write(%22<table%20border=1>%22);document.write(%22<tr>%22);document.write(%22%20<td>&nbsp;</td>%22);document.write(%22%20<td>Normal</td>%22);document.write(%22%20<td>1yr%20Reservation</td>%22);document.write(%22%20<td>3yr%20Reservation</td>%22);document.write(%22</tr>%22);document.write(%22<tr>%22);document.write(%22%20<td>Effective%20Monthly%20Fee</td>%22);document.write(%22%20<td>$%22+xlip+%22</td>%22);document.write(%22%20<td>$%22+xlip_1yr+%22</td>%22);document.write(%22%20<td>$%22+xlip_3yr+%22</td>%22);document.write(%22</tr>%22);document.write(%22</table>%22)}void%20(0);

~~~
mdasen
Could you possibly put that on a site like dpaste.com so that the comments
don't just all scroll to the left and then link to it.

~~~
timf
"nuke anything" works: <https://addons.mozilla.org/en-US/firefox/addon/951>

~~~
throw_away
also, firebug has a "delete element" function.

