What workload will be useful for use with Amazon EC2 Spot Instances?

Amazon has just announced " Spot Instances " for its EC2-based infrastructure. I was wondering what workloads are suitable for such a service?

Spot instances allow you to bid on unused Amazon EC2 capacity. Instances are charged at the Point Price set by Amazon EC2, which varies periodically depending on the supply and demand for Spot Instance capacity.

Interesting quote :

The JIT philosophy is simple: inventory is waste.


Edition:

I wonder if there are applications that could support themselves (read: be viable) just by using a large volume of these Spot instances. Think about it: imagine that you get 10 copies for the price of 1 on average ... Of course, there would be no guarantees, but if there were no Spot copies, you could use several “normal” copies.

+6
web-services amazon-ec2
source share
4 answers

Obviously, this is for any workload, which does not have to be in real time.

Tell me a little less, how is this applicable to stackoverflow? For example, many icons on this site are not calculated in real time. There is a periodic process that will evaluate the right to participate, and it does not matter whether it will work at 4 a.m. or 4 p.m. every day while it is working. Doing this in 4 hours can be 5 cents cheaper. (obviously, they don’t use EC2 at all for this)

Large scale? A search engine with a large data set can require tremendous computational power to create its own indexes. If you index new data once a day, and you need 2 hours to index it on hundreds of servers, you can do it overnight and save perhaps thousands of dollars every day.

Spreading the workload around the clock helps Amazon maximize its resources and therefore provides the cheapest prices on the market.

+4
source share

Amazon could only think of these loads:

  • Image and video processing and conversion, conversion and rendering
  • Research data processing
  • Financial Modeling and Analysis

Spot instances remind me of “double tariff electricity meters” where you pay less energy when demand is less. I think this is a very interesting concept and a rather unexpected introduction to the cloud, but it will probably be difficult to apply to ordinary business problems.

+1
source share

I am considering the possibility of creating a flexible cluster (for example, HADOOP) with a base that runs on regular copies and several sets of additional copies while lowering spot prices. As prices decline, additional copies become available for processing work units. If the price rises, the nodes will be closed. The cluster processes this by re-issuing work units to other nodes, as would be the case in the event of a node failure.

Obviously, this is a fairly hostile environment, so some adjustments need to be made. If you work with standard 3x replication for the global file system, and the three nodes that contain the block are disconnected at the same time, you will lose. Spreading spot prices reduces the likelihood of losing many in one fell swoop. Increasing the replication rate will reduce the impact, and disk space will in any case be free with the instance, so this will not be a factor. It's enough? We'll see.

+1
source share

There are obvious use cases, such as batch processing or tasks that should not be run 24/7.

Other interesting implementations for extra capacity. You can use a combination of on-demand instance and spot to run your website. On-demand instances will serve as your core. If your spot instances do not work for several hours here or there, your instance on request may work a little more complicated, but your site will still be available.

0
source share

All Articles