Slashdot Mirror


Amazon EC2 Now More Ready for Application Hosting

For months now, I've been geeked about Amazon's EC2 as a web hosting service. But until today, in my opinion, it wasn't ready for prime time. Now it is, for two reasons. One, you can get static IPs, so if an outward-facing VM goes down you can quickly start another one and point your site's traffic to it without waiting for DNS propagation. And two, you can now separate your VMs into "physically distinct, independent infrastructure" zones, so you can plan to keep your site up if a tornado takes out one NOC. If I were developing a new website I'd host it there; buying or leasing real hardware for a startup seems silly. If you have questions, or especially if you know something about other companies' virtual hosting options, post comments -- let's compare notes.

5 of 149 comments (clear)

  1. Some more about EC2 by jamie · · Score: 5, Informative

    So here's a little about what EC2 actually is, for those of you who don't know. You don't have to reply here, start your own comments ;)

    The Elastic Compute Cloud was originally designed as a way to host applications that needed lots of CPUs, and the option to expand by adding more CPUs. It's a hosting service that lets you start up virtual machines to run any software you want: they have a wide variety of pre-packaged open-source operating systems you can pick to start up your VMs with.

    Starting up a VM takes just a minute or two, and it's point-and-click thanks to the Firefox extension. Each VM comes in one of three sizes: small (webhead), large (database), and extra large (bigass database). They cost respectively $72, $288, and $576 a month (billed by the hour), plus bandwidth ($0.18/GB out, somewhat cheaper for data going in and there's a price break at 10 TB).

    One of the concerns everyone raises with hosting on virtual machines is that if a VM instance goes down, you lose everything on it. It comes with hard drive storage (160 GB on the small size), but if something goes wrong, that data's gone.

    I think the rejoinder here is that, on real hardware, if something goes wrong, your data's gone. You never set up an enterprise-level website on the assumption that any particular hardware has to survive. Single points of failure are always a mistake, and backups are always a necessity. When any machine explodes - real or virtual - the question is how fast your system recovers to "working well enough" (seconds, hopefully) and then how long it takes you to get it "back to normal" behind the scenes (hours, hopefully). Those answers shouldn't depend on whether there's a physical drive to yank out of a dead physical machine that may or may not retain valid data.

    Which brings up what I think is one of the selling points of EC2: free fast bandwidth to S3, Amazon's near-infinite-size, redundantly-replicated data storage platform. That's a nice backup option to have available. That's part of why, if I were starting a new web service, I wouldn't host it on real hardware. I'd like not having to worry about backups, tapes, offsite copies... bleah, let someone else worry about it.

    Slashdot hasn't run many stories on EC2 (none that I know of) because until now it's been a niche service. Without a way to guarantee that you can have a static IP, there had been a single point of failure: if your outward-facing VMs all went down, your only recourse was to start up more VMs on new, dynamically-assigned IPs, point your DNS to them, and wait hours for your users' DNS caches to expire. That meant that while it may have been a good service for sites that needed to do massive private computation, it was an unacceptable hosting service.

    Now with static IPs, you basically set up your service to have several VMs which provide the outward-facing service (maybe running a webserver, or a reverse proxy for your internal webservers), and you point your public, static IPs at those. If one or more of them goes down, you start up new copies of those VMs and repoint the IPs to them. No DNS changes required.

    I know there are other companies offering web hosting through virtual servers. Please share information about them, the more we all know the better.

  2. No persistent storage; not great value by saterdaies · · Score: 4, Informative

    There's still one glaring problem. There is no persistent storage (other than shuttling data to S3). That means that if your website is database-backed, you need to figure out what to do should your instance crash. Hourly backups? Mounting S3 as a slow FUSE filesystem that you can put your database on? It's all ugly.

    And it's still not a great value. It seems cheap. $72/mo for a 1.7GB RAM server. Well, look at Slicehost and you can get a 2GB RAM Xen instance (same virtualization software as EC2) for $140 WITH persistent storage and 800GB of bandwidth. That doesn't sound like a great deal UNTIL you calculate what EC2 bandwidth costs. 800GB would cost you $144 at $0.18 per GB bringing the total cost to $216 ($76 more than Slicehost). That 18 cents doesn't sound like much, but it adds up. The same situation happens with Joyent. For $250 you get a 2GB RAM server from them (running under Solaris' Zones) with 10TB of bandwidth. That would cost you $1,872 with EC2. Even if you assume that you'll only use 10% of what Joyent is giving you, EC2 still comes in at a cost of $252 - and without persistent storage!

    EC2 really got the ball rolling, but it just isn't such a leader. Other operations have critical features (persistent storage) that EC2 is lacking along with pricing that just isn't more expensive. I want to like EC2, but their competitors are simply better.

    1. Re:No persistent storage; not great value by jamie · · Score: 4, Informative

      You get database backup by replicating to another VM, presumably one in a different "zone" for physical separation. Then that backup VM every n hours stops its replication, dumps to S3, and starts replication back up (exactly like a physical machine would stop, dump to tape or to a remote disk, and restart).

      Database high-availability is similar. In the extreme case, you replicate your live master to the master database in another zone that entirely duplicates your live zone's setup (same number of webheads, same databases in same replication configuration, etc)... then if the live zone falls into the ocean you point your IPs to the webheads in the HA zone and resume activity within seconds, having lost only a fraction of a second of data stream.

      Having dealt with Slashdot's webheads and databases losing disk, and in some cases having to be entirely replaced, I don't see how persistent storage is a big selling point. I mean it's nice I guess, but not something that I'd sacrifice any functionality for. Applications have to be designed to run on unreliable hardware.

  3. Re:check out Mosso by lb746 · · Score: 4, Informative

    What's also interesting about Mosso is their billing method being based on requests and not on the type of requests/media or demands your applying to the servers. What would cost you $1.89 a month on S3, costs you $100 on Mosso. You can easily max out your monthly request amount on Mosso with 3 small websites, so make sure you look into this factor carefully before considering their services.

  4. Re:I have a question: by jamie · · Score: 4, Informative

    That is avoiding the question. The question is if Slashdot is getting some sort of kickback or favor for running this article. The answer is: of course not. We never do that.