Tworzenie Microservices z użyciem Spring Boot

Opis

Architektura Microservices to coraz bardziej popularne podejście do tworzenia systemów, które mają duże wymagania związane ze skalowalnością i niezawodnością. Podejście to dostarcza wiele korzyści – rozluźnia zależności pomiędzy częściami systemu, które można niezależnie skalować. Z drugiej strony to architektura rozproszona, która niesie ze sobą wiele wyzwań związanych ze złożonością komunikacji i monitoringiem zachodzących w systemie zdarzeń. Szkolenie to praktyczne zastosowanie narzędzi i wzorców z użyciem Spring Boot/Cloud.

Podstawowy program

Moduł. 1
Wprowadzenie do Microservices
Moduł. 2
Tworzenie Microservices z użyciem Spring Boot
Moduł. 3
Praktyki implementowania Microservices
Moduł. 4
Przykładowy projekt
Moduł. 5
Skalowanie z Spring Cloud
Moduł. 6
Autoskalowanie Microservices
Moduł. 7
Logowanie i monitoring
Moduł. 8
Konteneryzacja
Moduł. 9
Zarządzanie kontenerami z Kubernetes
Moduł. 10
Praktyki procesu wytwarzania oprogramowania związane z Microservices

Szczegółowy program

Moduł. 1
Wprowadzenie do Microservices
  • Definicja Microservices
  • Główne założenia Architektury Microservices (MSA)
  • MSA a SAO
  • Modularyzacja, time-to-market, skalowanie
  • Continuous Delivery a MSA
  • Czy Twoja organizacja jest już gotowa na MSA?
  • Ewolucja w stronę Microservices
  • Charakterystyka systemów typu MSA
  • Główne korzyści MSA
  • MSA a wartość biznesowa
  • Spójność i modularność
  • Modej dojarzałości MSA
Moduł. 2
Tworzenie Microservices z użyciem Spring Boot
  • Omówienie środowiska i narzędzi
  • Tworzenie projektu z użyciem CLI, STS oraz Spring Initializr
  • Konfiguracja
  • Automatyczna konfiguracja
  • Zmiana wbudowanego serwera
  • Implementacja bezpieczeństwa podstawowego i OAuth2
  • Spring Boot Messaging
  • Monitoring z użyciem JConsole i SSH
  • Tworzenie własnych metryk
  • Dokumentowanie Microservices
Moduł. 3
Praktyki implementowania Microservices
  • Wzorce i główne decyzje projektowe
  • Definiowanie granic usług
  • Komunikacja synchroniczna i asynchroniczna
  • Orkiestracja Microservices
  • Silniki reguł
  • BPM a Microservices
  • Granice transakcji
  • Microservices a współdzielenie danych
  • Transakcje rozproszone
  • Microservices zorientowane na komunikaty (message-oriented)
  • Microservices po HTTP
  • Współdzielone biblioteki
  • Interfejs użytkownika
  • API Gateways
  • ESB a Microservices
  • Wersjonowanie usług
  • Logowanie i monitoring
  • Zarządzanie zależnościami
  • Kultura organizacyjna
  • Testowanie
Moduł. 4
Przykładowy projekt
  • Proces projektowania
  • Baza danych
  • Natywne zapytania i procedury składowane
  • Granice dziedzinowe
  • Granice usługi
  • Analiza zależności
  • Wprowadzenie zdarzeń
  • Priorytetyzowanie usług w kontekście migracji
  • Synchronizacja danych w czasie migracji
  • UI i aplikacje web
  • Sesja i bezpieczeństwo
  • Strategie testowania
  • Warstwa pośrednia
  • Obsługa wyjątków
Moduł. 5
Skalowanie z Spring Cloud
  • Czym jest Spring Cloud?
  • Komponenty Spring Cloud
  • Konfiguracja serwera
  • Dostęp do serwera z klienta
  • Obsługa zmian w konfiguracji
  • Monitorowanie stanu serwera
  • Stworzenie klienta REST
  • Ribbon do load balancingu
  • Eureka dla Service Registration and Discovery
  • Konfigurowanie Eureki
  • Skalowanie Eureki
  • Zuul proxy oraz Spring Cloud Gateway jako API Gateway
Moduł. 6
Autoskalowanie Microservices
  • Koncept autoskalowania
  • Korzyści autoskalowania
  • Modele autoskalowania
  • Autoskalowanie aplikacji
  • Autoskalowanie infrastruktury
  • Autoskalowanie w chmurze
  • Skalowanie z ograniczeniami zasobów
  • Skalowanie w wybranych momentach czasowych
  • Skalowanie w oparciu o długość kolejki komunikatów
  • Zarządzanie cyklem życia Microservices
Moduł. 7
Logowanie i monitoring
  • Wyzwania związane z logowaniem
  • Zcentralizowanie logowanie
  • Różne rozwiazania związane z logowaniem
  • Log shippers
  • Log stream processors
  • Log storage
  • Dashboards
  • Spring Cloud Sleuth
  • Zipkin
  • Monitoring microservices
  • Stos ELK
  • Spring Cloud Hystrix
  • Agregacja strumieni Hystrixowych
Moduł. 8
Konteneryzacja
  • Czym są kontenery?
  • Różnica miedzy kontenerem a VM
  • Korzyści z użycia kontenerów
  • Microservices a kontenery
  • Wprowadzenie do Dockera
  • Kluczowe komponenty Dockera
  • Demon Dockerowy
  • Klient Dockerowy
  • Kontenery Dockerowe
  • Wdrażanie Microservices na Dockerze
  • Uruchomienie RabbitMQ na Dockerze
  • Użycie rejestru Dockera
  • Konfiguracja Docker Huba
  • Publikowanie usług w Docker Hubie
Moduł. 9
Zarządzanie kontenerami z Kubernetes
  • Zarządzanie klastrem
  • Powiązania z Microservices
  • Powiązania z wirtualizacją
  • Kubernetes
  • Architektura Kubernetesa
  • Pods
  • ReplicaSets
  • Deployments
  • Services
  • NodePort
  • NodeIP
  • LoadBalanced
  • Konfiguracja przykładowego systemu z użyciem Kubernetes
  • Stworzenie klastra i wdrożenie systemu z użyciem minikube
  • Wdrożenie na AWS EKS
Moduł. 10
Praktyki procesu wytwarzania oprogramowania związane z Microservices
  • DevOps
  • Automatyzacja każdego możliwego kroku
  • Value-driven delivery
  • Łączenie dewelopmentu i operations
  • Wykorzystanie chmury
  • Agile
  • Koncept Minimum Viable Product
  • Continuous monitoring i feedback
  • A/B testing, canary testing, blue-green deployment

Parametry szkolenia

Czas trwania
3 x 8h
Forma zajęć
Ćwiczenia - 60%, wykład - 40%
Kod
MSSB
Wielkość grupy
do 10 osób

Jak zamówić

« lista szkoleń