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.
Elastigroup by Spot’s Advantages for EyeEm
Elastigroup by Spot brings unique value in a number of key ways:
Spot 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.
Spot 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 Spot algorithm predicts spot demand and preemptively migrates customer workloads with an average notice time of 15 minutes.
Spot can run on nearly any workload, meaning that EyeEm could run their EMR clusters on Spot. Besides EMR, Spot also supports Chef, Puppet and Rancher, container Auto-scaling for ECS, Kubernetes, Nomad and Docker Swarm, and support for all AWS services.
Spot 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 Spot to Help Reduce Costs
EyeEm first found Spot through the work of Spot’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 Spot would be the perfect fit for helping reduce costs without creating more work for the team.
After the EyeEm team began using Spot to automatically provision EC2 spot instances for their workloads, the savings could be seen immediately. Soon EyeEm was using Spot 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 Spot” – Friedemann Kiersch, Head of Platform Engineering at EyeEm.
Elastigroup by Spot Allows EyeEm to Run EMR Clusters on Spot
EyeEm were pleasantly surprised to learn that their
EMR clusters were able to utilize Spot. 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. Spot ensures that the capacity won’t drop from the user-set minimum, by using a prediction algorithm in the Spot Market. When Spot 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 Spot. With Elastigroup by Spot 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.”
EyeEm is a community of 20 million photographers from all over the world. Photographers of all levels use the EyeEm platform to share, interact, get published or exhibited and earn money. EyeEm offers the world’s leading brands and agencies a marketplace of authentic imagery and access to a community of creative photographers. The EyeEm platform is powered by world leading computer vision algorithms.https://www.eyeem.com/