Tworzenie Microservices z użyciem Spring Boot

Dla kogo

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/Lagom, Docker, Mesos i Marathon, RabbitMQ, Hystrix.

Wymagane umiejętności

  • Uczestnik zna podstawy klasycznych podejść architektonicznych (m. in. warstwy, DDD, messaging).
  • Uczestnik ma co najmniej 2 lata doświadczenia w tworzeniu systemów informatycznych, w tym zna stos technologiczny Java.

Szkolenie otwarte jest prowadzone w języku Java.
Na indywidualne potrzeby szkolenie można dostosować do innego stosu technologicznego np. Lagom.

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 Mesosem i Marathonem
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
  • Zuul proxy jako API Gateway
  • Skalowanie Eureki i Zuul
  • Strumienie dla reaktywnych usług
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
  • Monitoring microcervices
  • Spring Cloud Hystrix
  • Agregacja strumieni Hystrixowych
  • Analiza danych z użyciem Data Lakes
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
  • Instalacja Dockera na AWS EC2
Moduł. 9
Zarządzanie kontenerami z Mesosem i Marathonem
  • Zarządzanie klastrem
  • Powiązania z Microservices
  • Powiązania z wirtualizacją
  • Rozwiązania klastrowe
  • Docker Swarm
  • Kubernetes
  • Apache Mesos
  • Nomad
  • Fleet
  • Zarządzanie klastrem z użyciem Mesosa i Marathon
  • Możliwości Mesosa
  • Architektura Mesosa
  • Marathon
  • Instalacja i konfiguracja Mesosa, Marathon oraz ZooKeepera
  • Uruchamianie jako usługi
  • Menedżer cyklu życia
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
  • Praktyki i procesy DevOps
  • Design thinking
  • Startup model
  • Agile
  • Koncept Minimum Viable Product
  • Continuous integration
  • Continuous testing
  • Continuous release
  • Continuous monitoring i feedback
  • Explratory testing
  • 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ń