Plan Szkolenia

Wprowadzenie

  • Architektura systemowa i usługowa, PaaS oraz projektowanie cloud-native

Przegląd monolitycznej architektury systemowej

  • Uruchamianie całej funkcjonalności monolitycznej aplikacji w jednym procesie
  • Skalowalność poprzez replikację 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 architektura mikrousług

Architektura zorientowana na usługi (SOA)

  • Korzyści i koszty SOA
  • Sukcesy i porażki w implementacji SOA
  • Komunikacja i ESB
  • Infrastruktura i narzędzia wspierające SOA

Jak mikrousługi implementują koncepcje usług sieciowych

  • Rób jedną rzecz i rób to dobrze
  • DevOps
  • Częste wdrażanie i dostarczanie (Ciągła integracja, ciągły proces budowania itp.)
  • Lekkie protokoły

Protokoły i standardy mikrousług

  • HTTP, JMS, AMQP, Websockets, JSON itp.

Frameworki do budowy mikrousług

  • Frameworki oparte na Javie (Spring Cloud)
  • Frameworki oparte na Javascript (Seneca)

Dekompozycja aplikacji monolitycznej

  • Tworzenie niezależnie wdrażalnych aplikacji
  • Organizowanie aplikacji mikrousługowych wokół możliwości biznesowych
  • Studium przypadku: Migracja aplikacji monolitycznej do trzech podstawowych mikrousług

Konfiguracja środowiska deweloperskiego Spring Cloud

  • Konfiguracja 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

Zcentralizowane, wersjonowane zarządzanie konfiguracją z Spring Cloud Config

Dynamiczne aktualizacje konfiguracji z Spring Cloud Bus

Odnajdywanie usług z Eureka

Równoważenie obciążenia z Ribbon

Stosowanie wyłączników z Hystrix

Deklaratywni klienci REST z Feign

Praca z API Gateway

Zabezpieczanie aplikacji mikrousługowej

Śledzenie mikrousług w celu wykrycia opóźnień

Wdrażanie mikrousług

  • Kontenery (Docker, K8N, LXC itp...)
  • Zarządzanie konfiguracją (Ansible itp...)
  • Odnajdywanie usług
  • Monitorowanie i zarządzanie mikrousługami
  • Infrastruktura dla mikrousług

Chmura i automatyczne skalowanie mikrousług

  • Nadmiarowość i fail-over mikrousług
  • Skalowalność wydajności dla mikrousług
  • Automatyczne skalowanie
  • Implementacja mikrousług na OpenStack, AWS i innych platformach chmurowych

Rozwiązywanie typowych problemów aplikacji rozproszonych

  • Złożoność ekosystemu
  • Wydajność sieci
  • Bezpieczeństwo
  • Wdrażanie
  • Testowanie
  • Nano-usługi

Ostateczne uwagi dotyczące budowania systemów gotowych do produkcji

  • Uproszczenie systemu dla początkujących
  • Upewnienie się, że system jest kompletny, aby mógł służyć jako podstawa aplikacji korporacyjnych

Podsumowanie i zakończenie

Wymagania

  • Zrozumienie inżynierii oprogramowania i systemów
  • Doświadczenie w rozwoju Java
  • Doświadczenie z Spring Framework

Grupa docelowa

  • Programiści Java chcący szybko budować i wdrażać mikrousługi
  • Architekci systemowi chcący wdrożyć architekturę mikrousług
 21 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (3)

Propozycje terminów

Powiązane Kategorie