Microservices Architecture

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ć, wybrać inny stos technologiczny, który bardziej adekwatnie rozwiąże problemy dziedzinowe. 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 Microservices Architecture to pogłębiony przewodnik architektoniczny, który pozwoli uniknąć wielu pułapek czyhających na zespoły programistyczne korzystające z tego podejścia i przedstawiający najlepsze wzorce tworzenia Microservices.

Wymagane umiejętności

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

Szkolenie Microservices Architecture nie koncentruje się na konkretnej technologii, przykłady pochodzą z różnych stosów technologicznych. W ramach szkolenia dedykowanego istnieje możliwość dostosowania szkolenia do danego stosu technologicznego – w tym celu niezbędne będzie indywidualne ustalenie szczegółów.

Podstawowy program

Moduł. 1
Założenia Microservices
Moduł. 2
Projektowanie Architektury
Moduł. 3
Projektowanie usług
Moduł. 4
Projekt systemu i infrastruktury
Moduł. 5
Komunikacja pomiędzy usługami
Moduł. 6
Testowanie Microservices
Moduł. 7
Proces wprowadzania Microservices do organizacji

Szczegółowy program

Moduł. 1
Założenia 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
Projektowanie Architektury
  • Usługi
  • Rozwiązania
  • Procesy i narzędzia
  • Organizacja
  • Kultura
  • Gotowość na zmiany
  • Proces projektowania
  • Cele optymalizacyjne
  • Zasady rozwoju
  • Szkic projektowy
  • MSA a interfejs użytkownika
  • Implementacja, analiza i doskonalenie
Moduł. 3
Projektowanie usług
  • Rozmiar usług
  • Granice usług
  • Prawo Conwaya
  • Usługi a Domain-Driven Design
  • Bounded Context
  • API dla Microservices - Message-Oriented, Hypermedia-Driven
  • Usługi a model kanoniczny
  • Event Sourcing
  • CQRS
  • Transakcje w Microservices
  • Komunikacja asynchroniczna z użyciem komunikatów
  • Zależności
Moduł. 4
Projekt systemu i infrastruktury
  • Niezależność wdrożeń
  • Niezawodność usług
  • Wielość serwerów
  • Kontenery
  • Service Discovery
  • Load balancing
  • API Gateway
  • Obsługa sytuacji awaryjnych
  • Timeout
  • Circuit breaker
  • Bulkhead
  • Steady State
  • Handshaking
  • Bezpieczeństwo
  • Transformacje i orkiestracja
  • Routing
  • Skalowanie
  • Monitoring i alerting
  • Microservices a systemy odziedziczone
Moduł. 5
Komunikacja pomiędzy usługami
  • Wzorce komunikacji z UI
  • Single-Page Application
  • HTML Applications
  • Front-end server
  • Klienci mobilni i klienci typu Rich
  • HTML i JavaScript
  • ROCA
  • REST HATEOAS/HAL/XML/HTML/JSON
  • SOAP i RPC
  • Komunikacja oparta o komunikaty (messaging)
  • Bezstanowość
  • Replikacja danych
  • Wewnętrzne i zewnętrzne interfejsy
  • Wersjonowanie semantyczne
Moduł. 6
Testowanie Microservices
  • Rola testów w Microservices
  • Testy jednostkowe
  • Testy integracyjne
  • Testy UI
  • Testy manualne
  • Load testy
  • Piramida testów
  • Continuous Delivery Pipeline
  • Testowanie całego systemu
  • Testowanie pojedynczej usługi
  • Consumer-Driven Contract Tests
Moduł. 7
Proces wprowadzania Microservices do organizacji
  • Ile bug fixów i funkcjonalności w releasie?
  • Kiedy transformacja się kończy?
  • Jak rozpocząć zmianę?
  • Co jeśli moja organizacja jest skupiona wokół projektów?
  • Microservices i outsourcing
  • Technologie i narzędzia
  • Jakie praktyki i procesy inżynieryjne są potrzebne?
  • Jak zarządzać systemem opartym o MSA?
  • Jeden czy wiele języków?

Parametry szkolenia

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

Jak zamówić

« lista szkoleń