How SoulCycle is speeding up code deployment, leveraging Kubernetes


SoulCycle is best known for its cycling classes and community of customers, but the company is also getting its IT and software development efforts more fit.
Featured
The company is moving applications into containers via Kubernetes, building a microservices platform called Podium, splitting compute between Amazon Web Services and Google Cloud Platform and moving code into production via orchestration and automation software from Harness.
SoulCycle, which filed to go public in 2015 but withdrew this year, is also plotting to use more technology and apps to take its experience and classes beyond the studio. We caught up with Mark Sost, engineering and product leader at SoulCycle, to talk shop. Here are the key lessons:
Why decouple applications into microservices? Sost noted that SoulCycle has traditionally been more about monolithic applications that would be run centrally for multiple functions. "We had to rethink our cloud architecture and how we interact with each other," he explained. Microservices allow SoulCycle to develop faster and expand to serve new areas. For instance, SoulCycle has offered corporate and private rides, but that effort has ramped as companies look for alternatives to standard happy hours.
Also Microservices: First break down monolithic thinking, then monolithic applications | Microservices and containers in service meshes mean less chaos, more agility
What's an example of a microservice making a difference? That private ride business has expanded into various industries and partners, but SoulCycle's team was booking bikes by hand. At one point there were 10,000 bikes booked by hand for corporations. By creating an application that's container friendly, the team focused on corporate partners was able to ditch working by hand.
SoulCycle is deploying code daily across more than 20 services that are used in 82 studios.
The platform. The services are delivered on a platform called Podium, which is a holistic and agile effort to break down applications and functions. "Our purpose is to break down feature development to give value quickly," he said. By breaking down features into services and building blocks, Sost is hoping to remix services, data access and business logic into something new.
Multicloud. SoulCycle has legacy applications for things like reconciliation, point of sale and booking and registration that run on Amazon Web Services. Over time, the company plans to break those apps down into services. Podium, which is containerized, runs on Google Cloud Platform and Kubernetes. Sost said that SoulCycle evaluated Microsoft Azure and Google Cloud Platform, but ultimately went with Google. "We needed a managed Kubernetes solution and Google offered a good partnership. We are also G Suite users and Chomebooks are used as main PCs in studio," he explained. Google also has a standup every Friday with SoulCycle to talk Kubernetes bet practices.
Also: Kubernetes: The smart person's guide TechRepublic
Moving services code into production. Sost said one issue SoulCycle faced was having enough bandwidth for the QA process. More services means more code and speed. SoulCycle turned to Harness to help orchestrate code and move it from a developer's laptop to production. "After we get code in a place where engineers think it's ready to go we hand over to Harness," said Sost. Harness uses machine learning to automate workflows, put code into a remote repository, handle reviews and minimize DevOps bottlenecks. "Harness pushes it to the right environment and then pushes it to production," said Sost. Coordination via Harness also helps disparate teams work on a services oriented approach.
Using Harness, SoulCycle was able to cut its deployment time by 80 percent. Harness integrates with monitoring tools such as AppDynamics, New Relic and Datadog as well as log tools like Splunk and SumoLogic to verify the success of a deployment. If the performance isn't as good as the previous version there's an automated rollback. Here's a look at Harness' integration points with SoulCycle's stack:
- Go, Node.JS, Python, Postgres
- Google Cloud Platform (GCP), GKE , Kubernetes, Docker for Container Orchestration
- Cloud SQL, Big Query, PostgreSQL, MySQL
- Travis CI, Cloud Builder and GCR for Continuous Integration (CI)
- StackDriver and Datadog for monitoring
Expansion. Moving code into production quickly is critical given SoulCycle has big plans that rely on software. SoulCycle has an instructor talent agency, a media business and apps that aim to bring the company's classes to riders in new ways. Peloton, which features cycle classes via software, has emerged as a SoulCycle competitor. Sost said the main challenge remains having enough hours in the day so the goal is to automate as much as possible to have a business impact. "There is a new platform and engineers are excited to be working with new technology. I have to get the tools to do that and not have to worry about certain things," said Sost.
- DevOps: What is it, and how can it help your business?
- Research report: A big shift towards DevOps adoption is coming
- Why it's time to cash a ticket to the DevOps revolution
- Ten ways DevOps can change how you run your IT department
- Implementing DevOps: 5 obstacles to overcome
- How to implement DevOps: 5 tips for doing it right
- Eight best practices for hiring DevOps engineers
- DevSecOps: What it is and how it can help you innovate in cybersecurity