“GoodRx reduces pipeline deployment time by 50%”
As well as speeding up our pipeline, Codefresh has enabled us to improve performance, enhanced our security, and reduced latency.
The technological backdrop
GoodRx’s tech stack was a broad mix, reflecting the specific needs of each team and some additional tech inherited with the acquisition of other companies. The company primarily uses Python, Go, and Node.js to write code, and nearly all of its workload is on AWS, with some on GCP and Azure. For CI/CD, it predominantly used TravisCI, with some teams using CircleCI, GitLab, and other solutions.
The challenge
As a fast-growing enterprise, GoodRx wanted to speed its engineering process from concept to deployment by modernizing and streamlining its infrastructure. The company also decided to move to container-based, serverless-based deployments. A key component of the new approach included unifying the CI/CD from the 7 different systems in use at the time to a single platform. Each team in the company was invited to submit its own list of requirements, and these were then condensed into a top 10. The most critical was finding a platform that could provide both a scalable private runner to run pipelines on their own clusters and support the company’s new Kubernetes-based infrastructure.
The hybrid requirement was a deal breaker for us; the new solution would [also] have to be compatible with [Kubernetes]. While most options we explored ticked one or other of these boxes, only Codefresh ticked both.
“Being able to deploy in a hybrid environment was a must-have for us and one of the main reasons we chose to migrate to Codefresh,” says Andy Chan, Principal Architect at GoodRx. “As a healthcare company, we have to be compliant with many regulations, so we can’t have our data sitting in someone else’s cloud. Also, since we had almost completed our migration to Kubernetes, the new solution we selected would have to be compatible with that. While most options we explored ticked one or other of these boxes, only Codefresh ticked both.” Codefresh’s Hybrid mode (a software-as-a-service [SaaS] engine with private deployed Codefresh runtime environments) allowed them to manage the workload and deploy more safely and easily to their production environments.
The solution
Within two months, GoodRx had migrated 99% of its workload, comprising more than 100 projects, from TravisCI onto Codefresh, taking a lift and shift approach to translate the logic almost line by line. No additional optimization was required.
“The migration was pretty straightforward, with just a short learning curve as we got used to the differences between Codefresh and the other solutions we had been using,” Chan said. “The Codefresh team was on hand to provide support along the way.”
The migration was pretty straightforward [and] the Codefresh team were on hand to provide support along the way.