Run stateful, single instance workloads on spot instances

Reading Time: 3 minutes

Managing hundreds of thousands of instances across three different cloud providers, grants Spot a unique point of view on the different kinds of workloads managed on the cloud. While it is clear that containerized applications, for example, are ever more popular, it is also evident that a substantial part of cloud workloads are comprised of stateful, single instance.

According to research conducted by the Enterprise Strategy Group, in 2016 alone, Development & Test servers accounted for 44% of workloads being run in the cloud by enterprises, with numbers rapidly increasing in the following years. Typical workloads range from development and testing environments, to single Proxies and Bastions, Cassandra, ElasticSearch, Kafka and more.

Spot provides organizations with solutions that allow them to reduce their cloud compute costs, while simultaneously delivering automation that simplifies daily operations.  As more and more systems are moving away from an infrastructure-dependent availability model, to an application-centric, replication-based model, spot instances are becoming relevant for running such workloads. However, running and managing infrastructure on spot instances can be a difficult task, and maintaining a consistent state between spot instance interruptions, is even harder.

Enter the Solution – Managed Instance

In order to mitigate the aforementioned difficulties, Spot has introduced its latest innovation, Managed Instance,  a dedicated product that makes it easier than ever to maintain state (Data & Network) on spot instances, regardless of spare capacity availability, allowing customers to run any stateful replication-based application with 99.99% application up-time. With Managed Instance, engineering teams can simply import their existing on-demand workloads, and begin leveraging the benefits of spot instances, while eliminating any potential downside.

Managed Instance utilizes spot instances while enabling persistence for the root volume, data volumes, network interface, and other launch specifications such as tags, security groups, key pair and more. This, in turn, allows for state preservation with absolutely no data loss during instance replacements.

When an imminent spot instance interruption is predicted, Managed Instance will initiate a replacement process that will automatically move the workloads to the most optimal  spot instance market, leveraging all available instance types, sizes and AZs.

In case of no available spot instance capacity, Managed Instance will fall back to an on-demand instance, to assure high-availability. 

Moreover, when a matching, unused reserved instance is identified, it will be used instead of a spot instance, ensuring maximal cost optimization and availability for the workload.

How It Works 

For the purpose of a stateful Managed Instance, “state” includes a combination of several resources:

  • Root Volume and AMI.
  • Data Volumes attached via the Block Device Mapping of the instance, or other means.
  • Elastic Network Interface (ENI), the network device holding both Private and Public IPs.

Managed Instance enables Root Device and AMI persistence by continuously snapshotting the instance’s Root Volume, including post shut down. The latest snapshot is used to register an AMI when a new instance needs to be provisioned, therefore ensuring that the application can pick up exactly where it left off.

For Data volume persistence, Managed Instance can either reattach the original volumes to newly launched instances, or utilize snapshots to launch new volumes. As Managed Instance is aware of your AZ selection, snapshots and volumes are seamlessly created in the right AZ, at the right time. 

With the most recent data available, any unexpected service interruptions do not affect the workload, as the application can pick up right where it left off.

In addition to maintaining root and data volumes, Managed Instance allows for the persistence of your instances’ Private & Public IP. Network persistence is achieved by retaining the ENI (or multiple ENIs) associated with the original instance, and using it for the newly provisioned instances upon replacement. This ensures consistency for workloads whose configuration relies on specific IP addressing. Moreover, a Managed Instance can be registered automatically to DNS or load balancing services if necessary (Route53, ELB or ALB/MLB).

You can learn more about Managed Instance by heading over to the Spot documentation, or get started in minutes by watching this tutorial below.