Here is a cool thing which I didn’t hear of until today. Amazon provides a service where you can upload a machine image (think VMWare), deploy it to as many instances you need and pay Amazon 10 cents for every hour you use it and 20 cents for each Gb data transfer. This will allow you to instantly scale an application if your demand temporarily increases.
With the risk of sounding like an Amazon marketing droid here are some highlights of what you get for those 10 cents:
- Self-scaling: You can commission one, hundreds or even thousands of server instances simultaneously. This is all controlled with web service APIs, your application can automatically scale itself up and down depending on its needs.
- Complete control of your instances. You have root access to each one, and you can interact with them as you would any machine. Each instance provides the equivalent of a system with a 1.7Ghz Xeon CPU, 1.75GB of RAM, 160GB of local disk, and 250Mb/s of network bandwidth.
- Easily hook up to the S3 storage service.
The cool thing is that it seems relatively simple to deploy a machine. So, it would be easy to create a Linux image with your great Rails mashup application, deploy it and just switch on more instances as customers start arriving.
When I think about applications I have created earlier in my career I can see how nicely several of them would fit this business model. Who will be the first to report of a Rails deployment to the Elastic Cloud? Oh, someone already did it.
For more details see Amazon Elastic Compute Cloud (Amazon EC2) and how to set up a VM in the cloud.