The general perception of Amazon spot instances is that they are ideal for web services, containerized applications or other stateless, fault-tolerant workloads.
However, in reality, they can also be used for a much broader set of use cases, without any significant impact on availability or performance. Here are some examples:
Stateful applications typically require data and IP persistence. With automated solutions, even in the event of AWS spot instance replacement, your workload will immediately restart in the desired Availability Zone, from the same exact data point, maintaining root and data volumes as well as private and public IPs.
Machine Learning is another area in which deep learning and training progress can be negatively impacted by unplanned AWS spot instance interruptions. But with the right tools, you can successfully run all your ML projects on spot instances.
CI/CD operations, whether Jenkins, Chef, Gitlab or others, can be run at scale on spot instances quite easily.
Big Data running on AWS EMR, Hadoop or Spark are great candidates for spot instances.
Distributed DBs such as Elasticsearch, Cassandra, Mongo which can handle a “reboot” of a single instance without losing data or affect service, can also run on spot instances.