Earnin Drives Innovation and Boosts Deployment Velocity by 3x with Armory Enterprise and AWS
Through its app, Earnin empowers customers to control the money they earn by providing early access to wages outside the traditional payroll system. With a DevOps team of only four, Earnin needed to find a quick and cost-effective way to migrate its monolithic applications, microservices, and pipelines while at the same time improving and standardizing the deployment process to meet customer needs. By using Armory Enterprise —with the open-source continuous delivery platform Spinnaker at its core—to deploy to Amazon Elastic Kubernetes Service (Amazon EKS) and Amazon Elastic Compute Cloud (Amazon EC2), Earnin completed its migration in three months of effort and cut its deployment time by two-thirds.
Moving from Monolith to Microservices
Earnin started out by solving one of the greatest—and least discussed— inequities in the American financial system: the practice of employers paying workers bi-weekly. Earnin's core product, Cash Out, allows people to access the pay they’ve already earned. There are no loans or hidden costs; people pay what they choose. As the company grows, it is continually adding features to help customers manage their finances better.
While the Earnin app began as a monolithic application, it soon became clear that the complexities of scaling and maintaining the monolith would prevent the company from reaching its ambitious growth goals. At that point, the Earnin team decided to start the process of migrating to microservices using Amazon EKS and Amazon EC2. The flexibility of the Amazon solutions enabled Earnin to migrate over time with a goal of completing the process by the end of the year. “We’ve significantly improved our infrastructure using Amazon EKS,” said Dien Mac, Engineering Manager at Earnin. “We’ve cut overhead maintenance costs and accelerated our ability to automate and scale.”
“We’ve significantly improved our infrastructure using Amazon EKS. We’ve cut overhead maintenance costs and accelerated our ability to automate and scale.”
- Dien Mac, Engineering Manager, Earnin
Optimizing DevOps and Deployment
Having migrated 45-plus microservices to AWS, Earnin turned its efforts toward improving its ad-hoc deployment process. With a DevOps team of four supporting over 100 engineers, Earnin needed a tool that would easily integrate with its existing stack and overhaul its complex, opaque, and manual deployment process. Because of its success working with AWS, Earnin chose Spinnaker for its AWS continuous delivery platform solution. After selecting Spinnaker, Earnin turned to Armory as the best-in-class provider of Spinnaker on AWS. Spinnaker creates a single path from production to the deployment target using a pipeline that can be reused and iterated on as needs change. Armory's Pipelines-as-Code functionality creates a repeatable, automated process, allowing Earnin’s small DevOps team to amplify their efforts. It also enables software developers to pick and choose which type of pipeline they need from a predefined set, which reduces errors and speeds developer productivity.
Using Armory, Earnin created pipeline templates and modules that allow its DevOps team to generate the CI part of the CI/CD process in one to two hours and the CD portion in 30 minutes. “All people have to do is take the template and rename it,” said Mac. “They just go in and run the script, put in the service name, and it regenerates everything for them and then the CI/CD is ready. With Armory, our developers don’t have to worry about CI/CD anymore—they can focus on new coding and new features.” Because Armory supports a number of different deployment strategies, including blue/green (red/black) and canary analysis, Earnin can be confident that the code it’s releasing is free of issues. “We have more visibility into the deployment process and more control of the target deployment,” said Mac.
Realizing Business Value
Using Armory, the Earnin team migrated two monolithic applications and more than 40 microservices (80 pipelines) in only three months. The results of the migration have been just as impressive: the number of deployments nearly doubled in four months, production deployment time fell from 45 to 15 minutes, and the number of rollbacks has been reduced. In addition, Earnin's engineering productivity has risen due to the use of Pipelines as Code, allowing engineers to focus on new features that create customer value.
“By leveraging Armory, Spinnaker, and AWS, Earnin’s DevOps team has created a repeatable process that allows them to be as efficient and effective as possible.”
- Adam Lefkowitz, Technical Account Manager, Armory
Making an Outsized Impact
Going forward, Earnin is looking to grow, and part of that growth means making sure its platform is stable and available for expansion into new regions. “We’re going to grow with AWS for sure, and Armory allows us to manage the deployment part of our growth,” said Mac. “We want to make our company bigger; we want to impact people everywhere. The solution we have right now is scalable, and it supports our vision and growth.” “This is the story of a small DevOps team making a very big impact,” concluded Adam Lefkowitz, Technical Account Manager at Armory. “By leveraging Armory, Spinnaker, and AWS, Earnin’s DevOps team has created a repeatable process that allows them to be as efficient and effective as possible. Earnin has proven that scale isn’t necessarily dependent on the acquisition of people—with the proper infrastructure, you can focus less on the number of hands on the keyboard and more on innovation.”
Earnin is a community-supported financial platform with a suite of tools that let people take control of their financial future. Earnin's core product, Cash Out, allows people to access the pay they've already earned with no loans or hidden costs.
Published September 2021