All organizations, regardless of size, need to be able to make rapid changes and improvements in their constantly growing systems. How can we handle all this change while maintaining a reliable product?
In 2018, Lyft operated a few hundred services. Deploying a change was difficult: a developer had to take a lock, read a runbook, then execute several manual steps, all while monitoring for potential problems. This took time, resulting in large, delayed, deploy trains, and ultimately, reliability issues. Today, Lyft operates over 1,000 services, and, by adopting continuous delivery, more than 90% are now automatically deployed to production, with no manual intervention. This has significantly improved reliability, freed up developer time, and sped up our ability to ship changes.
I will share the details on our journey to continuous delivery, the benefits, challenges, and lessons we learned along the way:
- The benefits, obvious and maybe non-obvious, of continuous delivery.
- How to set up your organization’s deploy culture to successfully adopt continuous delivery.
- How to design a pluggable system of checks to automatically detect issues in deployments before they become widespread.
- How we measured to ensure we improved reliability and developer productivity through continuous delivery.
Senior Staff Software Engineer @Lyft
Tom Wanielista is part of the Infrastructure team at Lyft, where he has focused on improving reliability in production by speeding up the deployment feedback loop. Prior to Lyft, Tom worked on Infrastructure in the Fintech space, where he was responsible for building tools to allow developers to safely deploy changes while keeping the stack secure & compliant. Tom studied at New York University where he received a BA in Computer Science.