Amazon EC2 and S3
All I can say is WOW. These services are great. Since I was a moron and went back in my browser before saving...I lost this entire article and I'm retyping it. So I'd like to summarize which is good anyway. Why I'm posting is because I want to shoot down some inconsistent information across blogs out there. I didn't realize what was going on until I started to pay close attention to the dates the articles were posted.
So what is Amazon EC2 and S3? EC2 is like pay as you go virtual web hosting...similar to VPS, but better. It's scalable, flexible, and more powerful for the money you spend. Though you can get cheaper VPS....if you get huge traffic spikes, you'll be in trouble without EC2. So EC2 is great for startups that don't want to pay for a huge empty room before using it. You pay as you go. I think all hosting should be this way. As many people talk about, it is changing the landscape of web hosting and I truely think everything will be like this. Which brings up my question, why isn't Google doing this?
Anyway. S3 now is a file storage / content delivery network. VERY affordable at that...also pay as you go. The reason I talk about EC2 and S3 together is because you kinda have to. S3 is your backup because EC2 won't save your data if you turn it off. That's the biggest draw back. However I bet they'll come up with some sort of solution eventually...like they did (very quickly) for many other issues people had with EC2.
So to kill one myth (that's actually not hard to find out, most blogs point this out)...RESTARTING your instance won't kill your data...shutting it down and turning it back on WILL. I haven't tested this, but people confirmed it...I don't know why I'd restart my instance...I see this is as more of a fail safe.
The next misconception is the IP addresses. Amazon does give you IP addresses now...rather you request them. The "elastic" IPs work great. I pointed my A record from godaddy to my server intance after assigning an IP and voila. The thing is that Amazon will charge you (or penalize) for keeping an IP and not associating it with an instance....rightfully so and they should charge more and more over time. It's very dick to hold on to an IP and not use it. Right?
The next biggest complaint I see is going back to the persistent storage. When your site is large enough....and depending on what you're doing...you start to think about scalability issues like file serving. You want to use CDNs...of course YSlow gives you a better grade for it right? Ok well you don't HAVE to use them but if you're hosting up tons of media, you better. What better service than S3?? Transfer between EC2 and S3 is free. Backup away. What does cost though of course is to serve that data to visitors...but it's cheap.
What about non media file? What about databases, scripts, and other files? The killer of this whole issue/debate is ElasticDrive (I don't know of any competitors). With ElasticDrive, you can mount your S3 (or any NAS) like it was another drive. It's transparent and your web application will simply think it's writing to another directory on your system. This is WICKED easy to setup on Amazon EC2 using S3. From my limited experience with their FREE 5gb version, I'm VERY happy. In fact, for a small guy, it's perfect...If I wante to host my personal site for example. I'll NEVER go over 5gb. Plus I'm not high trafficked nor do I make a profit...so thank you ElasticDrive people for being good people.
This crushes a lot of fears people have. It would be super wise to host your site's files on S3 and simply keep the instance of EC2 for the server. Now...turn on more instances if you need to that are mirror copies and you know for sure that each instance is the same. Wow. You're already half way there to one great scalability solution.
So the cost is the next and final thing I'll get into. I won't get into any numbers...you can read about some examples on Smug Mug's blog and Digital Web Magazine's article about Blue Origin. However, what I can say is that yes - you can get a $30 VPS...but it won't be able to offer anything near what EC2 offers. Amazon gives you the best price for the power I've seen. I've looked into other solutions and the last thing I'll do here is list some competitors. I do my homework people =)
So the cost of running a small site let's say (most people's personal sites and hell their friends on the same instance for that matter) is going to be about $80 a month. It's 10 cents an hour to run. The data transfer will vary...but if you're not hosting up a ton of media, then you'll be ok. For companies that do host a ton of media, the cost is generally (from everything I can read) better than anywhere else you'll find. Also as a company, a couple hundred a month is not bad at all. As an individual developer playing around...I REALLY don't want to go over that $80 a month. =) ...and yes I do have 3 shared web hosts that I have to consolidate so I'm being silly.
So in conclusion...EC2 and S3 rock and Amazon is setting a trend here. No, they aren't the first, but they sure are the most talked about. Now here's some others that aren't talked about as much which you should look into:
http://www.joyent.com - Joyent (partnered with facebook)
They looked good, but I'm not sure about Solaris and they are very anti Amazon...they also were responsible for writing a false blog/article about Amazon's services. So they are dirty in my mind...though they could've just had bad information and not done as much research as they should've (completely possible, there is bad info out there if you're not careful). The other gripe I have with them is the pricing and while you can get a refund, they really want you to buy into the whole 2+ years thing which is ABSURD for technology.
http://www.slicehost.com (A good VPS great for developers)
http://dev.aol.com/api/xdrive - Aol's Xdrive (for storage)
Perhaps a real good link would be Real Metrics, which shows you some information on variou web hosts. You have to pay a small fee to get all the listings, but check out the free ones and what kinda info you can get.
Note: The reasons why I chose EC2 + S3 were many but primarily because I wanted to gain the experience of setting that type of soution up so I can be prepared for a need for something like that in my career.
Other Blogs 



No Comments »
No comments yet.
RSS feed for comments on this post. TrackBack URI
Leave a comment