Od monolitu do mikroserwisów - przegląd podejść architektonicznych
Szkolenie wprowadzi uczestników w podstawowe podejścia architektoniczne poprzez wyjaśnienie schematu działania, wspólną analizę kodu, omówienie mocnych i słabych stron danego podejścia, jak i możliwych przypadków użycia dla każdego z nich.
2150 PLN+23% VAT (2644 PLN brutto / 1 os.)Czas trwania szkolenia:2 dni (16h)
Kod kursu:ARCH/C/AZURE
Od monolitu do mikroserwisów - przegląd podejść architektonicznych
Cele szkolenia
Prezentacja podstawowych podejść architektonicznych
Omówienie sposobów wdrażania podejść w chmurze i środowisku on-premise
Wspólna analiza kodu aplikacji i omówienie przejścia od architektury monolitycznej do mikroserwisowej
Dla kogo?
Managerów
Początkujących architektów
Osób reprezentujących sferę biznesową w organizacji
Technicznych członków zespołów chcących odświeżyć swoją wiedzę (poziom podstawowy)
Zalety
Niezbędna dawka teorii potrzebna dla zrozumienia podstawowych koncepcji
Warsztatowy charakter szkolenia dający szansę na uaktualnienie własnej wiedzy i skonfrontowanie własnych doświadczeń i przypadków
Kompleksowa prezentacja najważniejszych modeli architektonicznych
Możliwość przećwiczenia razem z grupą wspólnej tranzycji aplikacji z monolitu do mikroserwisów
Wymagania
Podstawowa znajomość zagadnień z infrastruktury i komponentów IT
Podstawowa znajomość Javy (nie będziemy pisać od zera, a jedynie wspólnie edytować istniejący projekt)
Kod aplikacji do analizy podczas kursu: https://github.com/chrosciu/taskmanager-lite
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program
Wprowadzenie oraz pomoc w organizacji środowiska
Czym jest architektura i jakie ma znaczenie
Co wyróżnia „dobrą” architekturę i jakie atrybuty definiują jej jakość
Odpowiedzialność architekta w procesie wytwarzania oprogramowania
Rodzaje architektur (software/system/enterprise/inne)
Analiza wybranych podejść architektonicznych (wraz z ich mocnymi stronami, ograniczeniami i przykładami użycia)
N-Tier
Monolit
Microkernel
SOA
Mikroserwisy i nanoserwisy
Message based
Event based (reactive)
Sposoby wdrażania rozwiązania:
Maszyna wirtualna
Kontenery i Kubernetes
Usługa typu PaaS lub SaaS (np. Azure AppService)
ServerLess
Wspólna analiza i refactoring kodu z architektury monolitycznej do mikroserwisów (Java)
Stworzenie testów czarnej skrzynki w celu bezpiecznej refaktoryzacji
Reorganizacja pakietów w celu odkrycia potencjalnych domen / serwisów
Wprowadzenie fasady jako jedynego punktu wejścia do serwisu
Separacja serwisów na poziomie warstwy utrwalania
Podział na rozkazy i zapytania (CQRS)
Użycie uproszczonej encji w celu eliminacji powiązań bazodanowych
Eliminacja bezpośrednich powiązań między serwisami za pomocą eventów Springa
Wykorzystanie zewnętrznego brokera do przesyłania eventów - RabbitMQ
Końcowa zamiana monolitu na oddzielne aplikacje per serwis