MaxSpotter is a continous cloud cost workload optimization tool implementing an automated bidding algorithm against the Amazon AWS EC2 spot market, which often gives you much cheaper spot instances, allowing you to generate significant savings, often in the 70-90% range over on-demand.
What are spot instances, what is the spot market and how does it work?
Cloud providers such as Amazon AWS need to always have some spare capacity available, so that any customer willing to launch new compute machines would be able to do it without getting errors. Normally this capacity would be sitting idle but still consuming power until someone needs to use it.
Instead of wasting this idle capacity, Amazon created a marketplace for anyone willing to pay some money in order to use these machines, but knowingly taking the risk that this spare capacity may be taken back within minutes when it needs to be allocated to an ordinary on-demand user.
This is known as the spot market, and these volatile compute machines are called spot instances.
The market automatically computes a price based on the current supply and demand, updated daily, and everyone from the same AvailabilityZone (note: availability zone names may not necessarily match between different AWS accounts) within a region pays the same price for a given instance type.
Luckily the market price is most of the times a number of times less than the normal, on-demand price, sometimes up to 10 times less, but usually in the 5x-7x range. In many cases the spot capacity is so stable that spot instances may run for weeks or even months at about 80% savings, so it's basically a waste of money not to run spot instances there. This sounds too nice to be true, and it almost is. In case of demand surges or maintenance events in which some of the capacity is reclaimed. The spot instances are terminated with a two minute notice when AWS needs that capacity for on-demand users. In those cases it would obviously be better to fall back to the normal on-demand instances in order not to cause user impact for your application.
Since each availability zone and instance type combination has a different price graph, in case one of them became too pricy and terminated all its instances, it is possible to find another cheap one which may still run your workload, at least for a while. With enough redundancy(which should be in place anyway where it really matters), a surprisingly large amount of applications are able to migrate the user traffic to surviving machines in the event of spot instance terminations on some of the availability zones. One could generate a lot of savings if somehow could protect against these unexpected terminations, like by quickly switching to another instance type or even falling back to on-demand instances for relatively brief periods of time. MaxSpotter is implementing exactly this kind of automation of switching between different spot instance types, also falling back to on demand during price surges.
MaxSpotter is a cloud cost optimization tool implementing bidding automation against the AWS APIs.
It predicts best bids for maximum capacity and lowest interruption rates. Provides long running instances with upto 60 days.
It monitors some of your AutoScaling groups where it was enabled and it continuously replaces any on-demand instances found in those groups with compatible and identically configured spot instances. It can also keep some of them running.