Five years ago, my company decided to switch to microservices. In five year, we grew our architecture to 30 microservices, organised in several repositories. The growing number of microservices (and, thus, repositories) had a negative impact on our developer experience and productivity, including: - struggle to perform evolutions across several microservices (like updating dependencies versions) - time-consuming pull requests in several repositories for a single feature - difficulty to share best practices between teams - bugs in production due to partially merged code To solve this issues, we decided to migrate all 30 microservices to a monorepo. Over the course of several weeks, we had a team dedicated to performing the migration. We migrated all the microservices while: - preserving git history of every single microservice - keeping the Continuous Integration flow fast - adding tools to further improve developer experience and productivity - and introducing zero bugs in production! This talk will give you the plan to painlessly migrate your microservices to a monorepo as well as solutions to address the major pitfalls of such a migration.
Lead developer at Theodo, Darya loves creating products that improve the everyday life of people. In her free time, she likes hiking and exploring France.