Návrh Školení
Úvod
- Architektura systému a služeb, PaaS a návrh cloud-native
Přehled monolitické architektury systému
- Spouštění celé funkcionality monolitické aplikace v jednom procesu
- Škálovatelnost prostřednictvím replikace na více serverech
- Protokoly používané v monolitických systémech: EAI, CORBA atd.
Přehled webových služeb
- Architektura orientovaná na služby (SOA) a architektura mikroslužeb
Architektura orientovaná na služby (SOA)
- Výhody a náklady SOA
- Úspěchy a selhání při implementaci SOA
- Zprávy a ESB
- Infrastruktura a nástroje podporující SOA
Jak mikroslužby implementují koncepty webových služeb
- Dělat jednu věc a dělat ji dobře
- DevOps
- Neustálé nasazování a dodávání (neustálá integrace, neustálý proces sestavování atd.)
- Lehké protokoly
Protokoly a standardy mikroslužeb
- HTTP, JMS, AMQP, Websockets, JSON atd.
Vývojové frameworky pro vytváření mikroslužeb
- Frameworky založené na Javě (Spring Cloud)
- Frameworky založené na JavaScriptu (Seneca)
Rozklad monolitické aplikace
- Vývoj nezávisle nasazovatelných aplikací
- Organizace aplikací mikroslužeb kolem obchodních schopností
- Případová studie: Migrace monolitické aplikace na tři hlavní mikroslužby
Nastavení vývojového prostředí Spring Cloud
- Nastavení Dockeru a Docker Compose
- Nastavení proměnných prostředí
Přehled Spring Cloud a Spring Boot
- Podprojekty Spring Cloud: Config Server & Bus, Eureka, Ribbon, Feign a Hystrix
- Spring Boot
Vytvoření aplikace Spring Boot
Centralizovaná verzeovaná správa konfigurace pomocí Spring Cloud Config
Dynamické aktualizace konfigurace pomocí Spring Cloud Bus
Objevování služeb pomocí Eureka
Rovnoměrné rozložení zátěže pomocí Ribbon
Použití pojistek pomocí Hystrix
Deklarativní REST klienti pomocí Feign
Práce s API bránou
Zabezpečení aplikace mikroslužeb
Sledování mikroslužeb k odhalení latencí
Nasazování mikroslužeb
- Kontejnery (Docker, K8N, LXC atd.)
- Správa konfigurace (Ansible atd.)
- Objevování služeb
- Sledování a správa mikroslužeb
- Infrastruktura pro mikroslužby
Cloud a automatická škálovatelnost mikroslužeb
- Redundance a přepnutí na záložní systém u mikroslužeb
- Výkonnostní škálovatelnost pro mikroslužby
- Automatická škálovatelnost
- Implementace mikroslužeb na OpenStack, AWS a jiných cloudových platformách
Odpovídání na běžné problémy u distribuovaných aplikací
- Složitost ekosystému
- Výkon sítě
- Zabezpečení
- Nasazování
- Testování
- Nano-služby
Konečné úvahy pro vytváření systémů připravených pro produkci
- Umožnění systému pro začátečníky
- Umožnění kompletnosti systému, aby sloužil jako základ pro podnikové aplikace
Shrnutí a závěr
Požadavky
- Pochopení softwarového a systémového inženýrství
- Zkušenosti s vývojem v Javě
- Zkušenosti s frameworkem Spring
Cílová skupina
- Vývojáři Javy, kteří chtějí rychle vytvářet a nasazovat mikroslužby
- Architektové systémů, kteří chtějí implementovat architekturu mikroslužeb
Reference (3)
Cvičení v EA.
Pawel - Krajowa Szkola Skarbowosci
Kurz - UML in Enterprise Architect (workshops)
Přeloženo strojem
Praktiky
Ivan - si
Kurz - Spring Cloud for Microservices
Přeloženo strojem
Dobrý trenér a proces školení
Mateusz Mical - Research and Development Center Bury Sp. z o .o.
Kurz - Systems Modeling with SysML and Enterprise Architect (EA)
Přeloženo strojem