(in the voice of The Clash) Should I break or should I mono (lith)?
(originally posted on LinkedIN ) Been at Synopsys 5+ months now and having a wonderful time onboarding and learning about the scale challenges this company has to solve for, but I really felt like I should do a brain dump on one of my favorite projects at my previous company (LinkedIN) - breaking up the frontend API service monolith. In both of my previous employers, breaking up the monolith was a major, prioritized project. The reasons why, the end state and solution were different, based on the needs of the company/org. It's always break, break, break... (or why we decided to break up the monolith) 1. The codebase was massive (4 million lines of hand written code, another 1-1.5 million lines of generated code) 2. Catered to most of the lines of businesses at LinkedIN. This meant that with thousands of developers committing code, deploying and releasing this monolith became a bottleneck. While we had a true north of multiple deployments/day, we were satisfying ourselves with 1 per...