Artykuł - Dan Haywood: In defence of Monolith Wyważone porównanie obu podejść. Część 2
Monolit musi być dobrze zmodularyzowany by był utrzymywalny. Prawdopodobnie większość monolitów taka nie jest.
Monolit dobrze się sprawdza w złożonej domenie biznesowej, mikroserwisy błyszczą tam, gdzie jest wielka skala.
Jonas Bonér: From Microliths to Microsystems
Sander Mak Modules vs Microservices pisze o zaletach modularnego monolitu zamiast mikroserwisów.
Pomysł Geoffreya Moore'a:
Modularność można sprowadzić do trzech podstawowych zasad:
-
Mocna enkapsulacja: ukrycie szczegółów implementacyjnych wewnątrz modułów. Zespoły będą mogły wtedy pracować oddzielnie na różnych częściach.
-
Dobrze zdefiniowane interfejsy: wystawiają to co jest niezbędne dla kolaboratorów. Komponent może być zastąpiony przez nową implementację.
-
Zależności wyrażone wprost: powinieneś mieć dobry sposób na wyrażenie i weryfikowanie związków między modułami.
Mikroserwisy dosyć dobrze stosują się do tych zasad.