This is a story about trying to rethink complex systems: the challenges you face when you try to rebuild them, the burdens you face as they grow, and how inaction itself can cause it’s own problems. When you’re weighing the risk and reward of replacing architecture, it can take several attempts to find a solution that works for you.
One of the tough decisions you and your team may face as you scale is deciding between keeping your current codebase and rebuilding on a new architecture.