Cursusaanbod
Introductie
- Systeem- en servicearchitectuur, PaaS en cloud-native ontwerp
Overzicht van monolithische systeemarchitectuur
- Het uitvoeren van een volledige monolithische applicatiefunctionaliteit in één proces
- ScalaBiliteit door replicatie over meerdere servers
- Protocollen die worden gebruikt in monolithische systemen: EAI, CORBA, enz.
Overzicht van Webservices
- Service Oriented Architecture (SOA) en Microservices Architectuur
Service-Oriented Architecture (SOA)
- Voordeel en kosten van SOA
- Successen en mislukkingen bij het implementeren van SOA
- Berichtgeving en ESB
- Infrastructuur en tools ter ondersteuning van SOA
Hoe Microservices Webserviceconcepten implementeren
- Doe één ding en doe het goed
- DevOps
- Continue implementatie en levering (continue integratie, continu bouwproces, enz.)
- Lichtgewicht protocollen
Microserviceprotocollen en -standaarden
- HTTP, JMS, AMQP, Websockets, JSON, enz.
Ontwikkelingskaders voor de bouw Microservices
- Java-gebaseerde kaders (Spring Cloud)
- Javaop scripts gebaseerde frameworks (Seneca)
Een monoliettoepassing ontleden
- Zelfstandig inzetbare applicaties ontwikkelen
- Microservice-applicaties organiseren rond zakelijke mogelijkheden
- Casestudy: Een monoliettoepassing migreren naar drie kernmicroservices
Het opzetten van een Spring Cloud ontwikkelomgeving
- Instellen Docker en Docker Opstellen
- Omgevingsvariabelen instellen
Overzicht van Spring Cloud en Spring Boot
- Spring Cloud deelprojecten: Config Server & Bus, Eureka, Ribbon, Feign en Hystrix
- Spring Boot
Een Spring Boot applicatie maken
Gecentraliseerd configuratiebeheer met versiebeheer met Spring Cloud Config
Dynamische configuratie-updates met Spring Cloud Bus
Servicedetectie met Eureka
Taakverdeling met lint
Installatieautomaten toepassen met Hystrix
Declaratieve REST-cliënten met Feign
Werken met API Gateway
Een microservice-applicatie beveiligen
Microservices traceren om latenties aan het licht te brengen
Implementeren Microservices
- Containers (Docker, K8N, LXC, enz...)
- Configuration Management (Ansible, enz...)
- Detectie van services
- Monitoren en beheren Microservices
- Infrastructuur voor Microservices
Cloud en Auto Scalabiliteit van Microservices
- Redundantie en failover van microservices
- Schaalbaarheid van prestaties voor Microservices
- Automatische schaalbaarheid
- Implementatie van Microservices op OpenStack, AWS en andere cloudplatforms
Veelvoorkomende problemen met gedistribueerde toepassingen oplossen
- Complexiteit van het ecosysteem
- Netwerk Prestaties
- Veiligheid
- Implementatie
- Testing
- Nano-diensten
Laatste overwegingen voor het bouwen van productieklare systemen
- Het systeem gemakkelijk maken voor beginners
- Het compleet maken van het systeem zodat het als basis kan dienen voor bedrijfsapplicaties
Samenvatting en conclusie
Vereisten
- Inzicht in software- en systeemengineering
- Java Ervaring met ontwikkeling
- Ervaring met Spring Framework
Audiëntie
- Java Ontwikkelaars die snel microservices willen bouwen en implementeren
- Systeemarchitecten die een microservice-architectuur willen implementeren