Stan mikrousług i przetwarzania w chmurze

Według niedawnego badania radarowego O'Reilly dotyczącego rozwoju przetwarzania w chmurze jeden z bardziej interesujących wskaźników wykazał, że 52 procent z 1283 odpowiedzi twierdzi, że używa koncepcji mikrousług, narzędzi lub metod do tworzenia oprogramowania. Spośród nich duża mniejszość (ponad 28 procent) korzysta z mikrousług od ponad trzech lat.

Był to drugi co do wielkości klaster wśród użytkowników mikrousług. Największa grupa, ponad 55 proc., Korzysta z mikrousług od roku do trzech lat. Co więcej, tylko 17 procent użytkowników jest nowicjuszami w mikrousługach, a ich wdrożenie i użytkowanie trwa krócej niż rok.

O'Reilly wskazuje również na pewne dowody na to, że zainteresowanie mikrousługami może być osiągnięte lub bliskie szczytu. Ponadto odnotowana dekompozycja struktur usług - przynajmniej do stopnia szczegółowości zalecanej w architekturze mikrousług - okazuje się trudniejsza niż przewidywano.

Wykorzystanie mikrousług to tak naprawdę naturalny postęp w orientacji na usługi i wykorzystanie systemów chmurowych. Zdolność do dekompozycji usług opartych na kursie na mikrousługi to po prostu dobry pomysł. Będziesz mieć więcej usług, które mają więcej zastosowań, takich jak usługa aktualizowania zapasów według kursu, którą można podzielić, aby odczytać istniejące dane zapasów, zmodyfikować istniejące dane zapasów, aby zaktualizować dane zapasów, zweryfikować zaktualizowane dane zapasów i zapisać zaktualizowane dane zapasów Do magazynu.

Gdy ta usługa makr zostanie podzielona na cztery mikrousługi, można ich używać w ramach tej usługi makr. Lub możesz użyć ich ponownie w innych usługach makr i aplikacjach złożonych (wybacz zbyt uproszczony przykład). Celem jest jednorazowe napisanie mikrousługi i wielokrotne jej używanie.

Lepiej będzie pisać mikrousługi w sposób, który sprawi, że będą one bardziej ogólne i mają zastosowanie w wielu różnych wzorcach użytkowania (w przeciwieństwie do powyższych przykładów, które nie są ogólne, koncentrując się tylko na danych o zapasach). Tu jednak pojawia się trudność.

Istotą efektywnego wykorzystania mikrousług jest możliwość konfigurowania struktur dekompozycji usług, w których wykorzystywana jest maksymalna liczba mikrousług. Jednak rozwinięcie tej umiejętności było trudne dla większości architektów aplikacji.

Spędziłem dużą część czasu w ciągu ostatnich kilku lat, przeglądając projekty aplikacji obsługujące mikrousługi i stwierdzając, że większość z nich nie ma planowania niezbędnego do pełnego wykorzystania mikrousług. Widziałem mieszaninę drobnoziarnistych usług, które są napisane raz i raz wykorzystane, bez podstawowej korzyści z tego, do czego służą mikrousługi: ponownego użycia wzmocnionych i przetestowanych małych usług.

Jak wskazuje ankieta, odkrywamy, że właściwa dekompozycja usług na mikrousługi - i ogólnie orientacja na usługi - to dla większości projektantów aplikacji o wiele za daleko. Jedynym rozwiązaniem jest odbycie szkolenia ze zrozumieniem, że to bardziej sztuka niż nauka. Może wtedy zdołamy przepchnąć się przez stragan.