Читать книгу Mikroserwisy w akcji - Группа авторов - Страница 34
Część 2
Projekt
3. Architektura aplikacji mikroserwisowej
3.2. Platforma mikroserwisu
ОглавлениеMikroserwisy nie działają w izolacji. Mikroserwis jest obsługiwany przez infrastrukturę:
■ środowiska wdrożeniowego, w którym są uruchamiane usługi, w tym podstawowe elementy infrastruktury, takie jak moduły równoważenia obciążenia i maszyny wirtualne;
■ gromadzenia dzienników i monitorowania w celu obserwacji działania usługi;
■ spójnych i powtarzalnych strumieni wdrażania do testowania i udostępniania nowych usług i wersji;
■ wsparcia bezpieczeństwa operacji, takich jak kontrola sieciowa, zarządzanie bezpieczeństwem czy utwardzania aplikacji (application hardening);
■ kanałów komunikacji i dostępu do usług w celu wspierania ich interakcji.
Na rysunku 3.5 przedstawiono te możliwości i ich związek z warstwą usług aplikacji. Jeśli każdy mikroserwis jest domem, platforma zapewnia drogi, wodę, elektryczność i kable telefoniczne.
Rysunek 3.5. Możliwości platformy mikroserwisowej
Solidna warstwa platformy zmniejsza ogólne koszty wdrożenia, zwiększa ogólną stabilność i umożliwia szybki rozwój usług. Bez tej platformy twórcy produktów musieliby wielokrotnie pisać kod wykonujący podstawowe operacje zamiast dostarczać nowe funkcjonalności i wpływać na działalność. Przeciętny programista nie musi być ekspertem od zawiłości każdej warstwy aplikacji. Ostatecznie nawet częściowo niezależny, wyspecjalizowany zespół może opracować warstwę platformy, aby sprostać potrzebom wielu zespołów pracujących w warstwie usług aplikacji.
3.2.1. Mapowanie platformy uruchomieniowej
Platforma mikroserwisowa zwiększy naszą pewność, że możemy zaufać usługom, które pisze nasz zespół, aby obsługiwały zadania produkcyjne oraz były odporne, przejrzyste i skalowalne. Na rysunku 3.6 przedstawiono platformę uruchomieniową dla mikroserwisu.
Platforma uruchomieniowa (lub cel wdrożenia) – na przykład środowisko chmurowe, takie jak AWS, lub platforma jako usługa (PaaS), na przykład Heroku – zapewnia prymitywy infrastruktury niezbędne do uruchamiania wielu instancji usług i kanałów żądań między nimi. Ponadto zapewnia mechanizmy umożliwiające konfigurację – danych poufnych oraz zmiennych specyficznych dla środowiska – dla instancji usług.
Na tym fundamencie budujemy pozostałe elementy platformy mikroserwisowej. Narzędzia związane z obserwacjami będą zbierać i łączyć dane z usług i bazowej infrastruktury, strumień wdrażania zaś będzie zarządzać aktualizacją (lub wycofaniem) tej struktury.
Rysunek 3.6. Konfiguracja wdrożeniowa dla mikroserwisu działającego w typowym środowisku chmurowym