Techno-Babble: “Monoliths” and “Microservices”

A reductionist guide to currently fashionable terms.

What is a “monolith”?

A “monolith” is software where coupling and cohesion have been managed incorrectly.

What is a “microservice”?

“Microservices” are software systems where all code and transactional data that are likely to change when working on a piece of business functionality are co-located. Each microservice can be owned, modified and deployed by a team without requiring extensive regression testing and coordination with other teams.

What advice do you have for a non-technical CEO who hears that the CTO/Technical Lead is considering moving from a “monolith” to a “microservices architecture”?

Have your CTO/Technical Lead explain technical proposals in terms of impact on project management effort, frequency and importance of needing to coordinate work between developers and cost of ownership. Decreased need for project management and increased autonomy for teams are the hallmarks of good technical design.

Comments are closed, but trackbacks and pingbacks are open.