Kursplan
Introduksjon
- System- og tjenestearkitektur, PaaS og cloud-native design
Oversikt over monolittisk systemarkitektur
- Kjøring av hele funksjonaliteten til en monolittapplikasjon i én enkelt prosess
- Skalering gjennom replikering på flere servere
- Protokoller brukt i monolittiske systemer: EAI, CORBA, osv.
Oversikt over webtjenester
- Tjenesteorientert arkitektur (SOA) og mikroservicearkitektur
Tjenesteorientert arkitektur (SOA)
- Fordeler og kostnader med SOA
- Suksesser og fiaskoer i implementering av SOA
- Meldingsformidling og ESB
- Infrastruktur og verktøy som støtter SOA
Hvordan mikroservertjenester implementerer webtjenestekonserter
- Gjør én ting og gjør det godt
- DevOps
- Contiuous Deployment og Delivery (Continuous Integration, Continuous Build-prosess, osv.)
- Lette protokoller
Mikroserviceprotokoller og standarder
- HTTP, JMS, AMQP, Websockets, JSON, osv.
Utviklingsrammeverk for bygging av mikroservertjenester
- Java-baserte rammeverk (Spring Cloud)
- JavaScript-baserte rammeverk (Seneca)
Oppløsning av en monolittapplikasjon
- Utvikling av uavhengig implementerbare applikasjoner
- Organisering av mikroserviceapplikasjoner rundt forretningskapasiteter
- Case study: Migrering av en monolittapplikasjon til tre kjerne-mikroservertjenester
Oppsett av Spring Cloud-utviklingsmiljø
- Oppsett av Docker og Docker Compose
- Oppsett av miljøvariabler
Oversikt over Spring Cloud og Spring Boot
- Spring Cloud-underprosjekter: Config Server & Bus, Eureka, Ribbon, Feign og Hystrix
- Spring Boot
Opprettelse av en Spring Boot-applikasjon
Sentralisert, versjonsstyrt konfigurasjonshåndtering med Spring Cloud Config
Dynamiske konfigurasjonsoppdateringer med Spring Cloud Bus
Tjenesteoppdagelse med Eureka
Lastbalansering med Ribbon
Å anvende kretsbrytere med Hystrix
Deklarative REST-klienter med Feign
Arbeid med API-gateway
Sikring av en mikroserviceapplikasjon
Sporing av mikroservertjenester for å avdekke forsinkelser
Implementering av mikroservertjenester
- Containerer (Docker, K8N, LXC, osv.)
- Konfigurasjonshåndtering (Ansible, osv.)
- Tjenesteoppdagelse
- Overvåking og styring av mikroservertjenester
- Infrastruktur for mikroservertjenester
Cloud og automatisk skalering av mikroservertjenester
- Mikroservertjenester-redundans og feiloverføring
- Prestandaskalering for mikroservertjenester
- Automatisk skalering
- Implementering av mikroservertjenester på OpenStack, AWS og andre cloud-plattformer
Feilsøking av vanlige problemer for distribuerte applikasjoner
- Kompleksitet i økosystemet
- Nettverksytelse
- Sikkerhet
- Implementering
- Testing
- Nano-tjenester
Sluttvurderinger for bygging av produksjonsklare systemer
- Gjøre systemet enkelt for nybegynnere
- Gjøre systemet komplett slik at det kan tjene som grunnlag for bedriftsapplikasjoner
Oppsummering og konklusjon
Krav
- Forståelse av programvare- og systemteknikk
- Java-utviklingserfaring
- Erfaring med Spring Framework
Målgruppe
- Java-utviklere som ønsker å bygge og implementere mikroservertjenester raskt
- Systemarkitekter som ønsker å implementere en mikroservicearkitektur
Referanser (3)
Øvelser i EA.
Pawel - Krajowa Szkola Skarbowosci
Kurs - UML in Enterprise Architect (workshops)
Maskinoversatt
Praksisene rutiner
Ivan - si
Kurs - Spring Cloud for Microservices
Maskinoversatt
God trenert og treningprosesser
Mateusz Mical - Research and Development Center Bury Sp. z o .o.
Kurs - Systems Modeling with SysML and Enterprise Architect (EA)
Maskinoversatt