Plan Szkolenia
Wprowadzenie
- Architektura systemów i usług, PaaS i projektowanie natywne dla chmury
Przegląd architektury systemów monolitycznych
- Uruchamianie całej funkcjonalności aplikacji monolitycznej w pojedynczym procesie
- Scala Elastyczność dzięki replikacji na wielu serwerach
- Protokoły używane w systemach monolitycznych: EAI, CORBA, itp.
Przegląd usług sieciowych
- Architektura zorientowana na usługi (SOA) i Microservices Architektura
Service-Oriented Architecture (SOA)
- Korzyści i koszty SOA
- Sukcesy i porażki we wdrażaniu SOA
- Komunikacja i ESB
- Infrastruktura i narzędzia wspierające SOA
Jak Microservices wdrażać koncepcje usług sieciowych
- Rób jedną rzecz i rób to dobrze
- DevOps
- Ciągłe wdrażanie i dostarczanie (ciągła integracja, ciągły proces kompilacji itp.)
- Lekkie protokoły
Protokoły i standardy mikrousług
- HTTP, JMS, AMQP, Websockets, JSON itp.
Ramy programistyczne do budowania Microservices
- Javaframeworki oparte na skryptach (Spring Cloud)
- Javaframeworki oparte na skryptach (Seneca)
Dekompozycja aplikacji monolitycznej
- Tworzenie niezależnie wdrażanych aplikacji
- Organizowanie aplikacji mikrousługowych wokół możliwości biznesowych
- Studium przypadku: Migracja aplikacji monolitycznej do trzech podstawowych mikrousług
Konfigurowanie środowiska deweloperskiego Spring Cloud
- Konfigurowanie Docker i Docker Compose
- Ustawianie zmiennych środowiskowych
Przegląd Spring Cloud i Spring Boot
- Podprojekty Spring Cloud: Config Server & Bus, Eureka, Ribbon, Feign i Hystrix
- Spring Boot
Tworzenie aplikacji Spring Boot
Scentralizowane, wersjonowane zarządzanie konfiguracją z Spring Cloud Config
Dynamiczne aktualizacje konfiguracji z Spring Cloud Bus
Wykrywanie usług za pomocą Eureka
Równoważenie obciążenia za pomocą Ribbon
Stosowanie wyłączników z Hystrix
Deklaratywni klienci REST z Feign
Praca z bramą API
Zabezpieczanie aplikacji mikrousług
Śledzenie mikrousług w celu wykrycia opóźnień
Wdrażanie Microservices
- Kontenery (Docker, K8N, LXC, itp...)
- Configuration Management (Ansible itp.)
- Wykrywanie usług
- Monitorowanie i zarządzanie Microservices
- Infrastruktura dla Microservices
Chmura i automatyczna Scala elastyczność Microservices
- Nadmiarowość mikrousług i przełączanie awaryjne
- Skalowalność wydajności dla Microservices
- Automatyczna skalowalność
- Wdrażanie Microservices na OpenStack, AWS i innych platformach chmurowych
Rozwiązywanie typowych problemów z aplikacjami rozproszonymi
- Złożoność ekosystemu
- Wydajność sieci
- Bezpieczeństwo
- Wdrożenie
- Testowanie
- Nano-usługi
Końcowe rozważania dotyczące tworzenia systemów gotowych do produkcji
- Uczynienie systemu łatwym dla początkujących
- Uczynienie systemu kompletnym, aby mógł służyć jako podstawa dla aplikacji korporacyjnych
Podsumowanie i wnioski
Wymagania
- Zrozumienie inżynierii oprogramowania i systemów
- Doświadczenie w rozwoju Java
- Doświadczenie z Spring Framework
Uczestnicy
- Deweloperzy chcący szybko budować i wdrażać mikrousługi Java
- Architekci systemów pragnący wdrożyć architekturę mikrousług
Opinie uczestników (3)
Przekazywanie informacji w sposób zrozumiały nawet dla osób, które miały mały kontakt z architekturą Microservice, Zajęcia praktyczne, gdzie można było na żywo zobaczyć, jak coś działa, Wykorzystanie aktualnie wykorzystywanych narzędzi i technologii (InteliiJ, Docker Desktop, Java 17, Spring)
Szymon - Seth Software
Szkolenie - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Duża wiedza merytoryczna i praktyczna prowadzącego co przekłada się na wiedzę 'wyniesioną' ze szkolenia.
Tomasz Dworak - Seth Software
Szkolenie - System Architecture, Service Architecture, and Microservice Architecture with Spring Cloud
Sposób nauki, równoległa praca każdego uczestnika do materiału, który realizował i opisywał wykładowca.