When I first joined Taxfix in September 2020, our product-facing engineering teams had already identified domain separation as one of the main challenges to scale the existing architecture. Today, our microservices capture almost 15 diverse business domains and — based on our internal growth plans — we foresee adding 15 more in the next year alone.
There are many different microservices architecture patterns out there, and until recently, our teams were using the shared database and SDK pattern. Although there may have been a good reason for this pattern in the past, it was no longer scaling with our rapid business growth. It was time to transition to separate databases and SDK for each domain.