EyeEm Achieve 138,000 Hours on Spot and Save 72%

Cost reduction not the only benefit for EyeEm, as automated instance management also frees up developer time

Reserved Instances Prove too Inflexible and Spot Proves too Difficult to Manage

For EyeEm, Reserved Instances were the first option explored when trying to reduce Cloud compute costs. Reserved Instances do offer reductions in cost compared to On-Demand, yet for EyeEm they were also too limiting: buying a large number of instances in advanced would reduce cost, but to get the best reductions you become somewhat locked-in with the instance families you choose over long periods of time. Simply put, EyeEm needed more agility.

Spot Instances offer a very significant reduction in cost without the issues of inflexibility, yet the effort required to keep applications running on Spot stable and available meant that cost reductions could be negated by man-hours spent on management. For EyeEm, keeping an eye on the Spot market, manually managing the Spot Instances and Spot Fleets and implementing the necessary fallback solutions created a significant overhead for the infrastructure team.

Spotinst Elastigroup's Advantages for EyeEm

Spotinst Elastigroup brings unique value in a number of key ways:

  • Spotinst provides an SLA, falling back to other Spot Instances across AZs or in different instance families before falling back to On-Demand. This gives EyeEm complete confidence in their application’s availability.
  • Spotinst provides sophisticated instance allocation and control, allowing EyeEm to select their preferred instance types to fall back to, alongside allocating based on price and availability.
  • Predictive analytics means complete application confidence, as the Spotinst algorithm predicts Spot demand and preemptively migrates customer workloads with an average notice time of 15 minutes.
  • Spotinst can run on nearly any workload, meaning that EyeEm could run their EMR clusters on Spotinst. Besides EMR, Spotinst also supports Chef, Puppet and Rancher, container Auto-scaling for ECS, Kubernetes, Nomad and Docker Swarm, and support for all AWS services.
  • Spotinst stateful support, with AMI auto backups, persistence of root and data volumes, maintaining private IP, alongside user-initiated pause and resume policies.

EyeEm Look to GlobalDots and Spotinst to Help Reduce Costs

EyeEm first found Spotinst through the work of Spotinst’s partner in Germany, GlobalDots. GlobalDots specialize in accelerating business growth, enhancing IT security and making Cloud environments more efficient. When GlobalDots heard of EyeEm’s challenge, they knew that Spotinst would be the perfect fit for helping reduce costs without creating more work for the team.

After the EyeEm team began using Spotinst to automatically provision EC2 Spot Instances for their workloads, the savings could be seen immediately. Soon EyeEm was using Spotinst to reduce costs on the majority of their platform and data services – most notably their image analysis infrastructure – alongside the main API machines and EMR Clusters.

“Pretty much anything that was previously behind an ELB or in Auto Scaling Groups is or will soon be running on Spotinst” – Friedemann Kiersch, Head of Platform Engineering at EyeEm.

Spotinst Allows EyeEm to Run EMR Clusters on Spot

EyeEm were pleasantly surprised to learn that their EMR clusters were able to utilize Spotinst. Spotinst Elastigroup for EMR makes efficient and sophisticated use of the Spot market, by combining Spot Instances and On-Demand Instances to lower cluster costs, improve the ROI and maintain full-time availability of the cluster. Spotinst ensures that the capacity won’t drop from the user-set minimum, by using a prediction algorithm in the Spot market. When Spotinst scales down resources, it scales first from “risky” Spot capacity, and always scales up from the most available Spot markets.


EyeEm Save Time Alongside Costs

Cost reduction, however, wasn’t the only benefit that the EyeEm team experienced using Spotinst. With Spotinst Elastigroup now automating the provisioning of instances in the EyeEm environments, the EyeEm team no longer had to dedicate time to instance management and could instead focus all their energy on the EyeEm platform and their core competencies.

“We’re experiencing a reduced workload on the infrastructure team, as we seamlessly integrate Elastigroups with our existing infrastructure and automation,” explained Friedemann. “The tools to monitor costs for individual groups give easy entry to tweak the system, meaning we can do things like experiment with instances sizes for a specific service whilst always keeping the resources in check.”

What’s Next for EyeEm?

EyeEm is currently in the process of moving parts of their microservice architecture over to Spotinst, alongside continuously developing their product and building new offerings for their customers and photographers. “Naturally, we plan to use Spotinst to reduce costs and management requirements wherever possible.”