For the past few months I have been looking at different ways to host a modern (dare I say, Web 2.0) website. Gone are the days of managing your own infrastructure in house. There are just too many better ways to do things now. Shared hosting, collocation, fully managed hosting, and now grid computing, have all changed the hosting arena. From simple sites like ianneubert.com to large scale sites like Amazon.com there are many ways to set yourself up on the net.
After comparing the various different offerings, I have found one that I am very excited about and one that I think best shows where the future of web hosting is going. That solution is grid computing, and is currently well implemented by Amazon AWS.
The service is divided into two pieces (actually several more, but I'll talk about the two that I use): the Elastic Compute Cloud, and the Simple Storage Service.
Simple Storage Service (S3)
The Simple Storage Service, or S3, is the backend component where all your files are stored. Everything from images, to HTML files, to backups and config files go here. Think of it as an infinitely scaleable, high availability storage cluster. Working with it all happens via HTTP. It's a piece of cake to work with and you'll never have to worry about where to store things again.
Elastic Compute Cloud (EC2)
The elastic compute cloud is what you run your computers on top of. Think of it as an enormously large computer where you can run an infinite number of virtual machines. Running your computers here lets you scale the number of machines active at any given time up or down without ever having to own or care about any physical hardware. Never again will you have to think about maintaining BGP sessions, or that hard disk in server 235 that just failed. Best of all, is the EC2 API. So your program can become "self-aware" and launch instances as needed, fully automatic. You only pay for what you use, so there's no need to maintain enough computers to deal with peak load, while letting them sit idle all night long.
Putting it all together
The real value in Amazon Web Services is when it all comes together. Using EC2 to host your website and storing all your content and backups on S3 results in cost savings when transferring to S3 from EC2. Not mention that it is all faster because you're already inside the Amazon network. Scaling from 1 server to 100 servers and 1GB to 1TB is a piece of cake. You'll never have to care about the hardware again.