Návrh Školení
Zavedení
- 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
- Zprávy a ESB
- Infrastruktura a nástroje podporující SOA
Jak Microservices Implementovat koncepty webových služeb
- Udělejte jednu věc a udělejte to dobře
- DevOps
- Průběžné zavádění a doručování (průběžná integrace, průběžný proces sestavení atd.)
- Odlehčené protokoly
Protokoly a standardy mikroslužeb
- HTTP, JMS, AMQP, Websockets, JSON atd.
Vývojové rámce pro budovy Microservices
- Rámce založené na Java (Spring Cloud)
- Javarámce založené na skriptech (Seneca)
Rozložení aplikace Monolith
- Vývoj nezávisle nasazených aplikací
- Uspořádání 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...)
- Configuration Management (Ansible atd...)
- Zjištění služby
- Monitorování a správa Microservices
- Infrastruktura pro Microservices
Cloud a Auto Scalaschopnost Microservices
- Redundance mikroslužeb a převzetí služeb při selhání
- Škálovatelnost výkonu pro Microservices
- Automatická škálovatelnost
- Implementace Microservices 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ýkon sítě
- Zabezpečení
- Nasazení
- Testování
- Nano-služby
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
- Udělat systém kompletní 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í
- Java zkušenosti s vývojem
- 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