Architektura mikroserwisów z wykorzystaniem Spring Cloud
Czas trwania szkolenia:5 dni (40h)
Kod kursu:SPRING/C
Poziom zaawansowania:
O szkoleniu Architektura mikroserwisów z wykorzystaniem Spring Cloud
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
Dla kogo?
- Szkolenie Architektura mikroserwisów z wykorzystaniem Spring Cloud adresowane do programistów języka Java, pragnących dowiedzieć się jak tworzyć i utrzymywać aplikacje w architekturze mikroserwisów
Wymagania
- Od uczestników wymagana jest umiejętność programowania w języku Java oraz podstawowa znajomość Spring framework
Zalety
- Szkolenie Architektura mikroserwisów z wykorzystaniem Spring Cloud ukierunkowane jest na praktyczne zdobywanie wiedzy, umożliwiającej efektywne budowanie rozwiązań opartych o omawianą tematykę
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Wprowadzenie do architektury mikroserwisów, przedstawienie jej mocnych i słabych stron oraz kontekstu zastosowania
- Nauka budowy usług infrastrukturalnych takich jak API Gateway, Service Discovery czy Configuration server
- Poznanie możliwości modułów wchodzących w skład Spring Cloud
Program
Architektura mikroserwisów
- Założenia, zalety, wyzwania
- Mikrousługi vs. monolit
- Architektura na poziomie mikro i makro
- Przypadki użycia
Spring w kontekście mikroserwisów
- Tworzenie i konfiguracja projektu Spring Boot
- Aplikacje webowe/usługi REST oparte o Spring MVC
- Utrwalanie i dostęp do danych z wykorzystaniem Spring Data
- Testy jednostkowe i integracyjne
- Czysta architektura oraz publiczny kontrakt usług
- Wprowadzenie do projektu Spring Cloud
Spring Cloud Configuration Server
- Zarządzanie konfiguracją oraz jej dostarczanie w środowisku rozproszonym
- Serwer konfiguracji - tworzenie oraz integracja dostawcami m.in. git, baza sql
- Odczyt oraz dynamiczne odświeżanie konfiguracji na poziomie klienta
- Ochrona informacji wrażliwych - szyfrowanie, integracja z Vault
Service Discovery
- Wprowadzenie do Spring Cloud Eureka
- Rejestrowanie usług
- Komunikacja między usługami na przykładzie RestTemplate, Feign oraz WebClient
- Strumienie i EDA z wykorzystaniem Spring Cloud Stream oraz Kafka
- Usługi reaktywne oparte o Spring WebFlux
- Wzorce i mechanizmy zapewniające wysoką dostępność mikrousług
API Gateway
- Konfiguracja Spring Gateway
- Integracja z Service Discovery
- Definiowanie routingu
- Filtry
Bezpieczeństwo i monitorowanie
- Bezpieczeństwo usług w środowisku rozproszonym z wykorzystaniem protokółu OpenID/OAuth2
- Uwierzytelnianie i autoryzacja dostępu w oparciu o Spring Security oraz serwer Keycloak
- Śledzenie i agregacja logów na przykładzie Zipkin/Jaeger, logstash, elasticsearch, Kibana
- Monitorowanie usług (Spring Admin, Spring Actuator, Prometheus, Grafana)
Wdrażanie
- Zasada działania i mechanizmy leżące u podstaw konteneryzacji
- Podstawy konteneryzacji na przykładzie Docker
- Platforma Kubernetes - architektura, możliwości i najważniejsze elementy klastra
- Podstawy pracy z klastrem