AWS (Amazon Web Services) has been around for a while, but I never thought I was the target audience for it, so I never really looked into that.
Last weekend, I had the following problem to solve: I’m working on a model, that realistically needs approx 1,000 “normal” PCs in order to run within an hour. This is a simulation running on Processing I’ve been working on.
Realistically, I won’t be able to persuade my boss to buy me a cluster of servers with the processing power of 1,000 machines for this.
Here is where AWS saves me. AWS allows you to rent any number of machines for any number of hours. Well, sort of… You don’t actually rent real machines, you get virtual machines, runnning on clusters I suppose. The beauty of this service is that you can select either a pre-defined image or build and use your own. There are many pre-defined images to select from, including Fedora, Ubuntu, Suse, Debian and of course all the Windows Servers.
You have full control of the firewall and you can attach IPs and storage (at a price) if you like on your loaded image.
I created an account and started playing around and I was actually pretty impressed with the service.
You are getting charged by the hour; if, for example, you are using a smallish linux server for 1 hour, you will pay $0.10 which is not actually that bad. In my case, if I need to use 1,000 machines for 1 hour, I’ll have to pay $100, which is pretty acceptable. There are other charges for storage and traffic, but again these are pretty low too.
Even if you don’t need 1,000 machines, it’s always great to be able to have a virtual linux machine ready to be used as a sandbox for just 10 cents an hour.
I think Google offers a similar service, but, Google’s service is more about running a program on their servers rather than a program on a virtual machine that you have full (root) control, like AWS
Link: Amazon Web Services