Amazon Web Services LLC has launched a new auction room-style purchasing package for its EC2 cloud computing rental service. The firm said in a statement today that customers could now use a new option called “Spot Instances” that allows them to bid on unused Amazon EC2 capacity and run those instances for as long as their …
Would this really work in practice?
I may be naive but It's hard to believe anyone really has applications that can be shunted offline at a moment's notice without anyone minding.
Unless I'm completely misunderstanding how things work, that seems to be the deal here.
It also seems like it would work horribly from a storage perspective. What happens to your data when your instances get moved offline as the spot price goes up?
HPC and grid apps
It's a perfect fit for HPC and grid based applications. Grid middleware is designed to handle re-execution of failed jobs, checkpointing jobs in case of failure and so on. The loss of a system because the spot price is too high should just mean the job can be queued and restarted later when the price is more acceptable.
In one of the announcements, it was mentioned that clean shutdowns of systems will always be attempted (though as always, not a given), so you would even be able to checkpoint the job's state during shutdown.
For most applications, this probably isn't useful and the normal on-demand service will continue to be what's used, but for some workloads, it makes a lot of sense.
Such applications do exist
Here's one I know of - we need to run a lot of instances of a particular simulation with different parameters. Each one is relatively quick, but they add up to a lot. Queuing them on the hardware we normally use will complete some time next week. In that time we could monitor EC2 and dump some on there when it is cheap, to bring the completion time forward. It would be nice of you got kicked off gracefully, but even of the odd ones gets trashed and goes back on the queue it would still be worth it.
Greg Egan gives up mathematics, stops writing SF and takes up Prophecy as a full-time job.
"QIPS Exchange" anyone?
Mine's the one with the lizard entrails in the pockets.
An intersting idea
This is an interesting idea but whether it will be successful or not depends on the things Cowherd above has mentioned. If the switch over is "instantaneous" then i see big problems, however if the switch over allows for the processing to be stopped correctly, data stored securely, and programs ended/paused correctly, then i see no reason why this shouldnt be a huge success.
Novel thinking, now lets just see how it works in practice...
Can work in practice for the right job
Whilst we don't use EC2 at the moment, we do have batch jobs that involve lots of small pieces of calculation. We could make use of this where the actual completion time isn't too critical (i.e. start at 1am, get it done sometime before 8am), by using the bid system until say 4am and then use the more costly system after that if all the jobs aren't completed.
Would also work well for systems where there are lots of smaller parts to a job, especially when the finish time isn't as critical as the cost of the doing the job. As long as you can save the state of the work being done, you can continue it later on. Take the projects that run on BOINC as an example (not a realistic example to run on EC2, but a good example of how things can be run in an ad-hoc way)
Re: "Would this really work in practice?" and "An intersting idea"
There are a couple of comments above about shutting down machines ungracefully. The people who wrote them have obviously never developed on the EC2 platform. When building stuff to run in EC2 you have to take into account that your instances can be shut down and started up on new hardware at any point in time. Local storage on an EC2 instance disappears with it, which is why you use EBS or S3 or their database solutions. This is just the way it works, and you build your application around it.
If you have a long running process which has to run until completion, then you wouldn't use this new solution, you'd just bring up a normal instance, run the process, and then shut it down again.
re: The people who wrote them have obviously never developed on the EC2 platform.
That's very true. I work on the sales rather than the management side of technology so I'm used to exciting sounding but ill-thought out services being offered with flaws so substantial as to render them useless.
Assuming you're right about the detail on this one, and it sounds like you probably are, this could be a massive boon for Amazon and the people with large but not time critical data processing loads.
What were the sky like when you were young?
Props for the Orb reference. At least, I'm assuming you're not referencing the movie the sample came from - that would just be bizarre.
This is a smart move by Amazon. The business model for cloud means you need to have huge amounts of excess capacity sitting around doing nothing. So this is a smart way to get something for it – even a contribution to overhead helps pay the bills! This is why cloud will never be less expensive than dedicated servers, due to the cost of the unused excess capacity you need on hand. Other providers may not be able to match this as their billing systems may not be flexible to offer variable pricing.
Any reason NOT to use it?
Say the price for a regular EC2 instance is $0.10/hr. What happens if I bid $0.101 for a spot instance? Is there any reason at all why I would continue to use a regular instance when I can do that instead?
Spot instances: perfect for password cracking
Here is a perfect example of an app born to use spot instances:
- Opportunity selfie: Martian winds have given the spunky ol' rover a spring cleaning
- Spanish village called 'Kill the Jews' mulls rebranding exercise
- Reddit users discover iOS malware threat
- Pics R.I.P. LADEE: Probe smashes into lunar surface at 3,600mph
- Ex–Apple CEO John Sculley: Ousting Steve Jobs 'was a mistake'