Kursplan
Introduksjon
- System- og tjenestearkitektur, PaaS og skybasert design
Oversikt over monolittisk systemarkitektur
- Kjøre en hel monolitisk applikasjonsfunksjonalitet i en enkelt prosess Scalamulighet gjennom replikering på tvers av flere servere Protokoller brukt i monolitiske systemer: EAI, CORBA, etc.
Oversikt over webtjenester
- Service Oriented Architecture (SOA) og Microservices Arkitektur
Service-Oriented Architecture (SOA)
- Fordeler og kostnader ved SOA Suksesser og feil ved implementering av SOA Messaging og ESB Infrastruktur og verktøy som støtter SOA
Hvordan Microservices Implementere webtjenestekonsepter
- Gjør én ting og gjør det godt DevOps Kontinuerlig distribusjon og levering (kontinuerlig integrasjon, kontinuerlig byggeprosess, etc.) Lette protokoller
Microservice protokoller og standarder
- HTTP, JMS, AMQP, Websockets, JSON, etc.
Utviklingsrammer for bygning Microservices
- Java-baserte rammeverk (Spring Cloud) Javascript-baserte rammeverk (Seneca)
Dekomponere en monolittapplikasjon
- Utvikle uavhengig distribuerbare applikasjoner Organisere mikrotjenesteapplikasjoner rundt forretningsevner Kasusstudie: Migrering av en monolittapplikasjon til tre kjernemikrotjenester
Sette opp et Spring Cloud utviklingsmiljø
- Sette opp Docker og Docker Compose Sette inn miljøvariabler
Oversikt over Spring Cloud og Spring Boot
- Spring Cloud delprosjekter: Config Server & Bus, Eureka, Ribbon, Feign og Hystrix Spring Boot
Opprette en Spring Boot-applikasjon
Sentralisert, versjonert konfigurasjonsadministrasjon med Spring Cloud Config
Dynamiske konfigurasjonsoppdateringer med Spring Cloud Bus
Tjenesteoppdagelse med Eureka
Lastbalansering med Ribbon
Bruk av effektbrytere med Hystrix
Deklarative REST-klienter med Feign
Jobber med API Gateway
Sikring av en mikrotjenesteapplikasjon
Sporing av mikrotjenester for å avdekke ventetider
Utplasserer Microservices
- Beholdere (Docker, K8N, LXC, etc...) Konfigurasjonsadministrasjon (Ansible, etc...) Tjenesteoppdagelse Overvåking og administrasjon Microservices Infrastruktur for Microservices
Nettsky og automatisk Scalamikrotjenester
- Mikrotjenesteredundans og fail-over Ytelsesskalerbarhet for mikrotjenester Automatisk skalerbarhet Implementering av mikrotjenester på OpenStack, AWS og andre skyplattformer
Feilsøking av vanlige problemer for distribuerte applikasjoner
- Kompleksiteten til økosystemet Nettverksytelse Sikkerhetsdistribusjonstesting Nano-tjenester
Endelige vurderinger for å bygge produksjonsklare systemer
- Gjør systemet enkelt for nybegynnere Gjør systemet komplett slik at det kan tjene som grunnlaget for bedriftsapplikasjoner
Oppsummering og konklusjon
Krav
- En forståelse av programvare og systemutvikling
- Java utviklingserfaring
- Erfaring med Spring Framework
Publikum
- Java utviklere som ønsker å raskt bygge og distribuere mikrotjenester
- Systemarkitekter som ønsker å implementere en mikrotjenestearkitektur