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.
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).
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.
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?
I like the look of your service. It always seem to me that when you start pushing these low price-points, the expense of dealing with customer support, DMCA takedowns, hacking complaints etc would dominate the cost of providing the hardware and bandwidth. I expect this is why Linode and Slicehost don't go below the $20 price point. Do you find this to be a problem - are you valuing your time at a very low value? Perhaps you avoid this to an extent, I expect your low profile and simple web design helps keep away problem customers.
I really think it would be worth the investment in time to provide an auto-provisioning system and some more images for the major Linux distributions. Linode gets by booting a standard kernel for all distributions (with the option of pv-grub for your own), which might reduce the support cost and is probably more convenient for most customers. Also, are you running Xen 3.3 now? (the Kernel compatability page on your wiki indicates not, though I thought pv-grub was new to Xen 3.2 or 3.3).
on time, yeah, I'm undervaluing my time some. But one of my skills is that I'm good at picking good people. I've been able to consistently get really good helpers for around $15/hr. Sometimes customers, sometimes friends, always people who either have little paid experience (I will take someone with no paid experience and lots of hobby experience over the other way around any day) or someone who has been underemployed for a while. (a few years after the .com crash I met a sysadmin who worked with me during the bubble years making sandwiches, and hired him for about a year before he got a real job)
so if I can get $50-70/hr people (judging from what they get hired away from me for) for $15/hr, I can afford to undervalue time a bit. Key here is automating abuse, though. I will write more about the snort bits.
I'm running 3.3.1 on all new servers. 3.1/3.0.3 (CentOS 5.2) on the old servers. I need to update the kernel compatability.
I agree that auto-provisioning is going to be really important. right now, people usually wait a good 12 hours.
my current plan is to set it up so that from the PVGRUB menu you can choose the net-install kernels of several different distros. that way, you set it up how you want. (of course, I'll need to setup local mirrors for all of them.)
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!
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' ?
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.
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.)
You can also take advantage of predictable declines in costs by setting pricing below your initial costs, but making sure that its more than made up for over the life of the subscription as your costs decline faster than your pricing drops. You can be sure your competitors will take advantage of this.
1. I like to know that my service will improve. No sense in getting a service that prices below initial cost and won't see improvement for 4 years because of that.
2. It makes it impossible for people to buy equipment if they don't have capital. These services either need loans, VC, or cashflow to continue expanding and the last is the best.
my capital right now comes from my consulting gig... if you can spell Linux, you get huge amounts of money for sitting in an overpriced chair in the bay area, and between interviewing well, and having some impressive experience, it will be a while before the hosting revenue passes the contracting revenue. (the real problem here is burn-out, which needs to be carefully managed. But right now, good cheap people are easy to find, so it makes sense for me to work for the client and then hire several other people to work on what I care about.)
the 25% more ram a year idea is a good one. Right now, for people willing to pre-pay, I offer discounts that amount to almost that much. pay for a year and get 20% off. (10% for 6 months, etc...) Also, when I lower prices on a plan, I lower prices for all my existing customers. It is important, I think, if you want easy to manage customers, to treat your non-complainers as well as your complainers. If your competitors lower prices, and you lower prices for new customers, well, existing customers will leave if you don't also lower prices for them.
I think this is actually a key motivator behind many of the cloud computing vendors. Hopefully some better competition will continue to keep pushing things forward.
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...)
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.
I suspect Amazon is trying to do two things simultaneously: (1) become more price competitive with traditional dedicated server offerings while still charging a premium for "on demand" compute power and (2) improving their ability to predict demand patterns over time.
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.
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.
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.
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.
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.)