Návrh Školení
Úvod
- Architektura systému a služeb, PaaS a cloud-native design
Přehled architektury monolitického systému
- Spuštění celé funkčnosti monolitických aplikací v jediném procesu Scalamožnost replikace na více serverech Protokoly používané v monolitických systémech: EAI, CORBA atd.
Přehled webových služeb
- Service Oriented Architecture (SOA) a Microservices Architektura
Service-Oriented Architecture (SOA)
- Přínosy a náklady SOA Úspěchy a neúspěchy při implementaci SOA Messaging a ESB infrastruktury a nástrojů podporujících SOA
Jak Microservices Implementovat koncepty webových služeb
- Udělejte jednu věc a udělejte ji dobře DevOps Průběžné zavádění a doručování (průběžná integrace, průběžný proces sestavování atd.) Odlehčené protokoly
Protokoly a standardy mikroslužeb
- HTTP, JMS, AMQP, Websockets, JSON atd.
Vývojové rámce pro stavbu Microservices
- Rámce založené na Java (Spring Cloud) Rámce založené na Javascriptu (Seneca)
Rozložení aplikace Monolith
- Vývoj nezávisle nasaditelných aplikací Organizace aplikací mikroslužeb podle obchodních možností Případová studie: Migrace monolitní aplikace na tři základní mikroslužby
Nastavení Spring Cloud vývojového prostředí
- Nastavení Docker a Docker Compose Nastavení proměnných prostředí
Přehled Spring Cloud a Spring Boot
- Spring Cloud dílčí projekty: Config Server & Bus, Eureka, Ribbon, Feign a Hystrix Spring Boot
Vytvoření aplikace Spring Boot
Centralizovaná správa konfigurace s verzí Spring Cloud Config
Aktualizace dynamické konfigurace pomocí Spring Cloud Bus
Objevování služeb s Eurekou
Vyrovnávání zátěže pomocí pásu karet
Použití jističů s Hystrix
Deklarativní REST klienti s Feignem
Práce s API Gateway
Zabezpečení aplikace mikroslužeb
Sledování mikroslužeb k odhalení latence
Nasazení Microservices
- Kontejnery (Docker, K8N, LXC, atd...) Správa konfigurace (Ansible, atd...) Zjišťování služeb Monitorování a správa Microservices Infrastruktura pro Microservices
Cloudová a automatická Scalamožnost mikroslužeb
- Redundance mikroslužeb a převzetí služeb při selhání Škálovatelnost výkonu pro Microservices Automatická škálovatelnost Implementace mikroslužeb na OpenStack, AWS a dalších cloudových platformách
Odstraňování běžných problémů pro distribuované aplikace
- Složitost ekosystému Výkonnost sítě Testování nasazení nano-služeb
Závěrečné úvahy pro budování systémů připravených na výrobu
- Usnadnění systému pro začátečníky Vytvoření systému kompletního tak, aby mohl sloužit 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 Java
- Zkušenosti s Spring Framework
Publikum
- Java vývojáři, kteří chtějí rychle budovat a nasazovat mikroslužby
- Systémoví architekti, kteří chtějí implementovat architekturu mikroslužeb