4 ms·
> There are two essential strategies to manage this problem: a team can keep everything together (create a monolith) or a team can divide a project into smaller
by toddsiegel 12y ago
> There are two essential strategies to manage this problem: a team can keep everything together (create a monolith) or a team can divide a project into smaller pieces (create microservices).
There is a middle ground: creating libraries. We have a monolithic app we're planning to break up, but to avoid the costs of running a whole other service we're going to package up some of those pieces that have distinctly different responsibilities and lifecycles and tuck them into a library.
Even as we plan to break up the front end into separate smaller apps, those libraries remain reusable.
If ever we decide to turn a library into a microservice that library serves as its core and just needs to be wrapped in an HTTP interface, or whatever.