- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Microservices met Spring Boot leren de deelnemers hoe je met Spring Boot snel en efficient microservices kunt ontwikkelen in de vorm van fat jars met een embedded server. Deze Spring Boot microservices kunnen onafhankelijk van elkaar worden gedeployed en als processen worden gestart.
De cursus gaat van start met een overzicht van het hoe en waarom van microservices. Microservices zijn ontwikkeld in reactie op problemen met monolithische applicaties die op den duur moeilijk onderhoudbaar en uitbreidbaar zijn gebleken. Bij een Microservices Architectuur wordt de totale functionaliteit gerealiseerd door samenwerkende microservices die ieder onder verantwoordelijkheid van een team vallen.
Het Spring Boot Framework is bij uitstek geschikt voor de ontwikkeling van microservices omdat bij Spring Boot applicaties alle dependencies in een jar worden opgenomen. Ook kunnen Spring Boot applicaties eenvoudig worden voorzien van een embedded server zodat de microservices via HTTP kunnen communiceren.
In de cursus Microservices met Spring Boot komen diverse inter process communicatie mechanismen tussen de microservices aan de orde zoals synchrone communicatie via een REST API en asynchrone communicatie via messaging. En ook communicatie via een binary protocol staat op het programma.
Voorts is er aandacht voor de manieren waarop microservices elkaar vinden. Zowel client side discovery als server side discovery wordt besproken. En eveneens wordt ingegaan op de inzet van tooling en utilities zoals Netflix Eureka en Apache Zookeeper.
Ook het omgaan met Data in Spring Boot Microservices is onderdeel van het programma van de cursus. Microservices hebben veelal een eigen database en aan de orde komt hoe in dat geval transacties kunnen worden afgehandeld die verschillende microservices betreffen. Zowel een event driven architectuur als local en compensating transacties worden besproken.
Voor de deployment van Microservices zijn diverse opties beschikbaar waaronder virtual machines en containers. Met name wordt de deployment van de Spring Boot Microservices in docker containers besproken. En ook container orkestratie met Kubernetes staat op het programma. Tenslotte wordt ingegaan op de strategieën om een monolithische architectuur om te vormen naar een microservices architectuur.
De cursus Microservices met Spring Boot is bestemd voor ervaren Spring Java Developers die Spring Boot willen gebruiken voor de ontwikkeling van Microservices.
Ervaring met programmeren in Java en Spring is vereist om deel te kunnen nemen aan deze cursus. Basis kennis van een Microservice Architectuur is bevorderlijk voor een goede begripsvorming.
De concepten worden behandeld aan de hand van presentaties en demo's. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Microservices met Spring Boot.
Module 1 : Microservices Intro |
Module 2 : Using an API Gateway |
Module 3 : Spring Boot |
What are MicroServices? Components and Services Loose coupling Passing Messages Design Characteristics Simplicity and Transparency Reproduceability Asynchronous calls Mocking Components Testing Components Debugging Components |
REST Web Services GET, POST, PUT, DELETE @RestController Default Content Types @ResponseStatus and HttpStatus Working with XML and JSON Multiple Representations Filtering with @JsonView REST Clients RestTemplate Sending HTTP Requests |
Convention over Configuration No XML Spring Boot CLI Building and Deploying Using Templates Gathering Metrics Using Java With start.spring.io Spring Boot Starters Building as a Runnable JAR Data Access with Spring Data Property Support |
Module 4 : Interprocess Communication |
Module 5 : Discovery Patterns |
Module 6 : Data Management |
Interaction Styles Request/response Notification Publish/Subscribe Synchronous vs Asynchronous Messaging Rest Synchronous IPC Apache Thrift Message Formats |
Client Side Discovery Load Balancing Service Registry Netflix Eureka Example Client Side Drawbacks Server Side Discovery Request Routing Kubernetes Apache Zookeeper Self Registration Pattern |
Distributed Data Problems ACID Transactions Distributed Transactions Polyglot Persistence Event Driven Architecture Eventual Consistency Achieving Atomicity Local Transactions Compensating Transactions Mining Transaction logs |
Module 7 : Deployment Strategy |
Module 8 : Refactoring to Microservices |
|
Multiple Services Pattern Process or Process Group Multiple Service Instances per Host No isolation drawback Service Instance Per Host Service Instance per VM Service Instance per Container Docker and Kubernetes Serverless Deployment |
Monolitic Applications Application Modernization Big Bang Rewrite Glue code Split Frontend and Backend Extract Services Prioritizing Extract Modules Shrinking the Monolith |