Beachbody avoided the headache associated with cloud migrations by leveraging Harness continuous delivery.
Beachbody is a leading provider of fitness, nutrition, and weight-loss programs with over 23 million customers and $1 billion in gross sales. Beachbody is the creator of the nation’s most popular fitness and weight-loss solutions including P90X® Series, INSANITY®, FOCUS T25®, 21 Day Fix®, Body Beast®, PiYo®, and Hip Hop Abs®.
Beachbody over the past year has refactored many of their on-premises monolith applications to Kubernetes microservices and Lambda functions running in Amazon Web Services (AWS). In 2019, another 90 API services are scheduled for onboarding and migration to the public cloud.
In the past, developers and DevOps engineers at Beachbody would onboard and deploy services using Jenkins Pipelines. Over time, this process became extremely difficult, with significant infrastructure costs and time spent upgrading and troubleshooting the Jenkins platform. “Our Jenkins Pipelines were manual, brittle, and costly to manage,” said Bob Chen, Senior Director of Tech Ops, DevOps, and SRE at Beachbody. “Onboarding new cloud-native services with Jenkins could take our DevOps team 3 days,” said Bob.
Deployment velocity with Jenkins was daily in non-production and bi-weekly for production. Production deployments typically averaged 6-8 people for approximately 2 hours, with manual verification (health checks) taking 30-60 minutes using Dynatrace APM and Elastic stack. Bob and his team also looked at open-source solutions such as Spinnaker, but estimated it would take months to set up, and would require 2-3 full-time engineers to manage long term.
Our Jenkins pipelines were manual, brittle, and costly to manage. - Bob Chen | Senior Director of DevOps | Beachbody
Developers have self-service Continuous Delivery (CD) capabilities that abstract all cloud-native services, artifacts, tools, and technologies. Pipelines are templatized, version controlled, and managed as code using Harness GitOps. HashiCorp Terraform scripts are also integrated into each pipeline stage, so environments are consistent and dynamically provisioned/decommissioned when they are required. “Onboarding new Kubernetes and Lambda services now takes 2 hours instead of 3 days,” said Bob. In addition, Harness integrated with Dynatrace APM and Elastic stack out-of-the-box to auto-verify deployments using unsupervised machine learning to detect anomalies/regressions in any time-series performance metrics or log events. “With Harness, our QA and testing is now fully automated and takes less than 5 minutes,” said Bob. As a result, Beachbody has been able to automate their deployment pipelines end-to-end so environments, testing, deployment, and verification can be done in minutes vs. hours or days.
With Harness, we get automated deployment verification across Dynatrace and Elastic using unsupervised machine learning. - Bob Chen | Senior Director of DevOps | Beachbody
Empowering engineers with self-service deployment capabilities at Beachbody required a focus on security and compliance. Engineers are authenticated through Harness OKTA SSO integration and are authorized/restricted through a well-defined role-based access control (RBAC) system, which provides a separation of duties and permissions across services, environments, and teams. Harness also provides a full audit trail giving instant insight into who changed what, when services are impacted. This allows Bob and his team to pinpoint the cause of impact in a matter of seconds. In addition, Harness keeps a record of all service versions across all environments so teams can report what software artifacts are deployed to specific clusters.
Beachbody saw the following business benefits and ROI from implementing Harness Continuous Delivery: