Go Upgrade Checklist: Lessons Learned from Upgrading 150+ Services
2025-01-02
This post details the experience of upgrading 150+ Go services from 1.17 to 1.20 at Lyft. The author stresses the importance of meticulous planning and outlines a step-by-step process including reading release notes, checking tools, running unit tests, and code linting. Automation is key, leveraging existing build, CI/CD, and deployment pipelines. Lyft completed the upgrade in 3-4 weeks with minimal production issues. The post also addresses potential pitfalls such as linter support, changes in sorting algorithms, and handling deprecated functions, highlighting the importance of a rollback plan.
Development
Go upgrade