Running Kubernetes workloads on Amazon EC2 Spot using Elastigroup
Success Story – Front Gate Tickets
“As of today, 100% of our k8s workers are running on Spotinst Elastigroup, We are not thinking about cost any more, Elastigroup does that for us”
~ Shane Savoie, Chief Architect at Front Gate Tickets
Started in 2003 as an alternative ticketing service for venues in Austin, Texas, Front Gate Tickets offers end-to-end ticketing, fulfillment, RFID-powered access control, marketing and cashless POS systems that streamline festival entry, sponsorship activations, and concession sales.
To date, Front Gate Tickets has sold over 20 million festival tickets, operated at over 400 festivals and shipped over 6.5 million wristbands. Front Gate was acquired by Ticketmaster in June 2015.http://www.ticketmaster.com/
The Challenge – Preserving availability while cutting expenses
Front Gate Tickets is a fast-growing company, with several million people purchasing tickets on a daily basis around the world. To support this rapid growth, Front Gate Tickets requires the ability to quickly and efficiently scale its web applications and backend services. Front Gate is running a several large big Kubernetes deployments on AWS using Amazon EC2 Compute Optimized instances. The costs of these workloads became a challenge over time, therefore they were looking for the option of running their workloads on EC2 Spot Instances. However, for Front Gate’s mission-critical applications such as online ticketing platform and interfaces with Ticketmaster, downtime or a service interruption is not an option.
“After looking into Spotinst and evaluating the product we understood that Spotinst Elastigroup was the nirvana we were looking for in managing our complex EC2 Kubernetes environments”, said Shane Savoie, Chief Architect at Front Gate Tickets.
Front Gate have automated their k8s deployments and started using Spotinst to reduce their AWS costs as they were facing a massive scale. “As of today, 100% of our k8s workers are running on Elastigroup, We are not thinking about the costs anymore, Elastigroup does that for us,” Shane says.
An Integral part of Front Gate’s DevOps Procedures
Today Front Gate’s are running 100% of their Kubernetes minions(workers) on Elastigroup at ~80% Saving on average, nevertheless, Elastigroup became such an integral part of their infrastructure that they have developed several interfaces and built custom code and solutions around it.
An example of such a solution is an Helm chart for Kubernetes that automatically creates and link everything needed to run Kubernetes on Elastigroup on large scale including: exposing the API services using ELB and whitelisting its network rules to allow Spotinst’s services to use it, as well as creating a Cluster role and a Service account.
Spotinst’s Elastigroup k8s Dashboard
Elastigroup provides a dashboard that allows DevOps and Software engineers to monitor and track their complex heterogeneous k8s clusters and gain confidence with regards to any provisioning activity.
Native Autoscaling support
Elastigroup integrates with k8s Cluster Autoscaler project (Github) that enables automatic and dynamic scaling across all scheduled pods. If the cluster doesn’t have enough capacity, a new node is added and underutilization is handled by the Autoscaler. If all pods are removed from a node, the node enters a un-utilized state and will eventually be terminated.
Operational features, combined with low-cost and availability insurance helps Front Gate Tickets to scale effectively and transparently.