Kursplan
Introduktion
- System- och tjänstarkitektur, PaaS och molnursprunghunden design
Översikt över monolitisk systemarkitektur
- Köra hela monolitiska applikationernas funktionalitet i en enda process
- Skalbarhet genom replikering på flera servrar
- Protokoll som används i monolitiska system: EAI, CORBA, etc.
Översikt över Webservices
- Tjänstorienterad Arkitektur (SOA) och Mikrotjänstarkitektur
Tjänstorienterad Arkitektur (SOA)
- Fördelar och kostnader med SOA
- Framgångar och misslyckanden vid implementering av SOA
- Kommunikation och ESB
- Infrastruktur och verktyg som stöder SOA
Hur mikrotjänster implementerar webbtjänstbegrepp
- Gör ett enda sak och gör det väl
- DevOps
- Kontinuerlig distribution och leverans (Kontinuerlig Integration, Kontinuerlig Byggprocess, etc.)
- Lätta protokoll
Mikrotjänstprotokoll och standarder
- HTTP, JMS, AMQP, Websockets, JSON, etc.
Utvecklingsramverk för att bygga mikrotjänster
- Java-baserade ramverk (Spring Cloud)
- Javascript-baserade ramverk (Seneca)
Förändring av en monolitisk applikation
- Utveckla oberoende distribuerbara applikationer
- Organisera mikrotjänstapplikationer runt affärsfunktioner
- Fallstudie: Migrering av en monolitisk applikation till tre kärnmikrotjänster
Sätta upp en Spring Cloud-utvecklingsmiljö
- Sätta upp Docker och Docker Compose
- Ställa in miljövariabler
Översikt över Spring Cloud och Spring Boot
- Spring Cloud-underprojekt: Config Server & Bus, Eureka, Ribbon, Feign och Hystrix
- Spring Boot
Skapa en Spring Boot-applikation
Centraliserad, versionshanterad konfigurationshantering med Spring Cloud Config
Dynamiska konfigurationsuppdateringar med Spring Cloud Bus
Tjänstdiscovery med Eureka
Laddbalansering med Ribbon
Använda circuit breakers med Hystrix
Deklarativa REST-klienter med Feign
Arbeta med API Gateway
Säkra en mikrotjänstapplikation
Spora mikrotjänster för att avslöja latens
Distribuera Mikrotjänster
- Kontainer (Docker, K8N, LXC, etc...)
- Konfigurationshantering (Ansible, etc...)
- Tjänstdiscovery
- Övervaka och hantera mikrotjänster
- Infrastruktur för mikrotjänster
Moln och automatiserad skalbarhet av mikrotjänster
- Mikrotjänstredundans och fail-over
- Prestandaskalbarhet för mikrotjänster
- Automatiserad skalbarhet
- Implementering av mikrotjänster på OpenStack, AWS och andra molnplattformar
Felsöka vanliga problem för distribuerade applikationer
- Komplexitet i ekosystemet
- Nätverksprestanda
- Säkerhet
- Distribution
- Testning
- Nano-tjänster
Avtal om slutliga överväganden för att bygga produktionsklara system
- Göra system lätt för nybörjare
- Göra system komplett så att det kan tjäna som grunder för företagsapplikationer
Sammanfattning och slutsats
Krav
- Ett förståelse för programvaru- och systemutveckling
- Java-utvecklings erfarenhet
- Erfarenhet av Spring Framework
Målgrupp
- Java-utvecklare som vill snabbt bygga och distribuera mikrotjänster
- Systemarkitekter som vill implementera en mikrotjänstarkitektur
Vittnesmål (3)
Förberett projekt där vi kunde arbeta direkt utan att behöva lägga tid på att skapa filer som inte behövdes i övningarna. Tillförsäkrad svar på alla frågor som deltagarna ställde.
Robert Walczak - Hitachi Energy
Kurs - Systems Modeling with SysML and Enterprise Architect (EA)
Maskintolkat
Öva övningar i EA.
Pawel - Krajowa Szkola Skarbowosci
Kurs - UML in Enterprise Architect (workshops)
Maskintolkat
Praktiken
Ivan - si
Kurs - Spring Cloud for Microservices
Maskintolkat