Na konferencji BoilingFrogs (o której pisałam tutaj) byłam na prezentacji Łukasza Szydło „Modularity – the final frontier” dotyczącej architektury modularnej. Zainspirowała mnie ona do napisania tego wpisu.
Monolit vs Mikroserwisy
Zwykle to, co słyszymy na różnych konferencjach to
Monolity są be, a mikroserwisy są super!
I co mamy zrobić z taką informacją? Wiele utworzonych aplikacji to stare, ciężkie monolity. Mamy teraz rzucić wszystko i przepisać całość na podejście mikroserwisowe? Tak od razu? Monolit -> Mikroserwisy?
Czy mamy tylko te 2 opcje?
No właśnie niekoniecznie. Zmiana całej architektury aplikacji to poważna sprawa. Trzeba się za nią zabrać z pomysłem i wdrażać stopniowo.
Jednym z ważnych aspektów, o których wspomniał Łukasz, było pokazanie, że istnieją inne rozwiązania, niż zwykły monolit lub mikroserwisy. Istnieją etapy pośrednie.
Okazuje się, że może być coś gorszego od monolitu – czyli próba utworzenia rozproszonego monolitu. Może to się kończyć przykładowo deployem wielu aplikacji na raz.
Ale może być też coś lepszego od zwykłego monolitu! Jest to efektywny, modularny monolit. Może on być etapem pośrednim przy dążeniu do wprowadzenia struktury mikroserwisowej. Ale może również istnieć sam, bez potrzeby późniejszego przekształcania go na mikroserwisy.
Podsumowanie
Droga od monolitu do mikroserwisów może być trudna. Należy pamiętać, żeby w trakcie stopniowej (!) zmiany architektury stawiać na modularność (tworząc modularny monolit), a nie na rozproszenie (rozproszony monolit).
Podoba Ci się to, co tworzę? Chcesz dostawać informacje o:
– wydarzeniach, które organizuję lub wspieram (np. konferencje, meetupy, webinary)
– inicjatywach, które organizuję lub wspieram (np. GeekWeekWro, DevAdventCalendar)
– moich prelekcjach, kursach i szkoleniach
– wyróżnionych artykułach z mojego bloga
0% SPAMu, 100% informacji! Krótko i na temat.
Od jakiegoś czasu staram się praktykować ten sposób tworzenia aplikacji. Dobrze o tym opowiada Simon Brown https://www.youtube.com/watch?v=kbKxmEeuvc4 a także Jakub Nabrdalik https://www.youtube.com/watch?v=5Q8kiSN6390. Na potrzeby takich rozwiązań w ASP.NET Core wystarczy kilka trików https://github.com/P2P2sp/P2P2.AspNetCore.Mvc.Modularity 🙂
PolubieniePolubione przez 1 osoba
Dzięki za linki! Trafiają na listę „do obejrzenia” 🙂
PolubieniePolubienie
Pingback: Skąd brać pomysły na posty? – programmer-girl