A few months ago we were looking for a new/better/faster scalable hosting solution for a project. So it was finally time to start looking at cloud computing.
Traditionally, scaling web applications beyond a single machine meant having to architect non trivial network configurations to provide both fault tolerance and flexibility to be able to add additional computer hardware as needed (to provide additional horsepower). It also meant both shopping for rack space and negotiating rates for bandwidth. And most costly of all, it meant paying someone or some group of people to manage the complexity.
To top it all off, they system could only scale as fast as you could add hardware to the equation. That fact usually resulted in buying too much hardware to 'build in' room to grow so you wouldn't have to scale the hardware up any time soon.
Wouldn't it be great if there was a way that you could have as much bandwidth, processing power, memory and storage as you needed when you needed it? Wouldn't that be better than having to guess how much power, memory and storage you might need. Wouldn't it be great if you could scale up your hardware in an instant rather than the hours/days it might take to install additional hardware?
There has to be a better way. Well, there is... kind of.