Szkolenie: 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.
- Trenerzy praktycy
- Kameralne grupy
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
Doświadczenie w projektach IT, na różnych stanowiskach
Podstawowa znajomość koncepcji SDLC (Software Development Lifecycle)
Ogólna wiedza na temat chmury obliczeniowej oraz narzędzi i koncepcji DevOps
Znajomość dowolnego języka obiektowego wysokiego poziomu (np. Java, C#)
Znajomość dowolnego frameworka opartego na dependency injection (np. Spring)
Podstawowa wiedza o REST API
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 szkolenia
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