Architektura mikroserwisów – dlaczego biznes powinien o niej wiedzieć?

Mikroserwisy, nazywane czasem mikrousługami to jeden z trendów przy budowaniu systemów dedykowanych. Architektura mikroserwisów dotyczy dekompozycji monolitycznego systemu na mniejsze aplikacje. Mówiąc prościej, jedną dużą aplikację dzielisz na kilka mniejszych działających bardziej niezależnie. Biznes może na tym znacząco skorzystać.

To nasza lista, przy jakich scenariuszach mikroserwisy pozwolą zaoszczędzić Ci czas, pieniądze i nerwy.

1. Planujesz zabezpieczyć przyszłość aplikacji

Nigdy nie wiesz, w którą stronę rozwinie się Twoja aplikacja – jak bardzo się rozrośnie, ile testów będzie potrzebowała, jak dużej mocy obliczeniowej zużyje do odpowiedniego funkcjonowania. Mikroserwisy są elastyczne i skalowalne, a dzięki swojej prostocie sprawiają, że kod nie jest wiedzą tajemną. Dzięki temu wdrażanie nowych wersji czy aktualizacja tylko pojedynczych fragmentów jest dużo łatwiejsza. To wymarzona architektura IT dla testerów i innowatorów!

Dzięki mikroserwisom, które dodatkowo często korzystają z narzędzi konteneryzacji, programiści przenoszą pomiędzy maszynami wirtualnymi kontenery zawierające kod usługi jak i wszystkie niezbędne zależności (np. zewnętrzne biblioteki) do jej poprawnego działania. Ty jako właściciel projektu masz pewność, że korzystają z dobrze wypracowanych wcześniej rozwiązań, zamiast tracić czas i budować je od zera.

2. Dopuszczasz migrację

Bardzo często zdarza się, że aplikację, którą tworzyliśmy lata temu, budowały osoby od dawna z nami nie pracujące. Dodatkowo brakuje dokumentacji i w zasadzie jako właściciel systemu IT nie wiesz, co w nim masz. Wyobraź sobie teraz tę sytuację, gdy masz do czynienia z monolityczną aplikacją z wieloma wewnętrznymi zależnościami i dużą liczbą funkcjonalności. Migracja takiego narzędzia, np. do chmury obliczeniowej, żebyś mógł szybciej i w bardziej skalowalny sposób rozwijać biznes, jest prawdziwym wyzwaniem. Nie tylko informatycznym, ale także logistycznym i organizacyjnym.

Dzięki mikroserwisom migrujesz całe, lekkie paczki, które zawierają wszystkie potrzebne komponenty, aby system się nie rozsypał po migracji. Nie musisz szczegółowo wiedzieć, jakie zależności ma konkretny mikroserwis oraz jaka jest jego konfiguracja – musisz wiedzieć tylko, jaki mikroserwis migrujesz.

3. Chcesz efektywniej zorganizować zespół

Architektura mikroserwisów pomoże Ci znacząco zautomatyzować pracę całego zespołu. Team pracujący nad danym obszarem (np. tylko nad optymalizacją wyszukiwarki czy działaniem koszyka) działa bardzo niezależnie oraz dokładnie zna swój zakres prac. Unikasz w ten sposób problemów z zakresu komunikacji czy zarządzania projektem. Sama przynależność do zespołu już definiuję obowiązki. Co za tym idzie pod kątem biznesowym Twój zespół nie traci czasu (a Ty mu za to nie płacisz) na czynności organizacyjne. Programiści sprawniej kończą swoje zadania, a więc Ty szybciej wprowadzasz produkt i zaczynasz zarabiać.

4. Zarządzasz różnorodnym zespołem

Dzięki mikroserwisom nowy podwykonawca, np. software house lub nowo zatrudniony pracownik, korzysta w demokratyczny i zrozumiały sposób z tego, co wypracowała poprzednia ekipa. 

Architektura mirkoserwisów przyda się również w momencie, gdy nad Twoim systemem pracuje kilka różnych teamów zewnętrznych, a zarządza nimi wewnętrzny koordynator. Praca nad aplikacjami powinna być maksymalnie transparentna. Mirkousługa właśnie to zapewnia, bo każda grupa ma szansę zajmować się oddzielną funkcją systemu.

Mikroserwisy nie są jednak pozbawione wad. Przede wszystkim to usługa wyższego rzędu wymagająca zaprojektowania odpowiedniej komunikacji pomiędzy mikrousługami, aby cały system poprawnie działał. Przy dużej liczbie połączeń większe jest ryzyko błędu. Zdecydowanie się na taki typ architektury wymaga zatem od Zamawiającego wysokiej świadomości usług IT, gotowości do prowadzenia i aktualizowania dokumentacji projektowej oraz zadbania o logistykę projektu po stronie Klienta. Rozwiązaniem pośrednim może być hybryda obejmująca mikroserwisy tylko w jakimś zakresie.

Zobacz również

Doświadczony software house – czyli w sumie jaki? – część 2

Przedstawiam kolejną część artykułu Doświadczony software house – czyli w sumie jaki? Jakie zadania są realizowane przy tworzeniu projektów IT? Praktycznie każdy projekt IT realizowany przez software house ma swój cykl życia. W jego skład wchodzi cały szereg zadań, a w zależności od obszaru z jakiego jest realizowany dany projekt zadania mogą się od siebie […]

Czytaj więcej

Doświadczony software house – czyli w sumie jaki?

Doświadczony software house – czyli w sumie jaki? W tytule artykułu mamy zestawione ze sobą dwa proste pojęcia oraz banalne pytanie na które odpowiedź nie jest już taka oczywista. Zacznijmy od tego czym jest software house – w ogólnym rozumieniu to firma zajmująca się projektowaniem i wytwarzaniem różnych rozwiązań IT dla biznesu. Jak zdefiniować doświadczenie? […]

Czytaj więcej