Quarkus Cloud Development
Lesgeld
Quarkus Intro
De cursus Quarkus Cloud Development gaat van start met een overzicht van de essenties van het Quarkus framework. Daarbij wordt onder andere ingegaan op Quarkus Dependency injection die gebaseerd is op CDI (Context and Dependency Injection). Ook verschaft het de juiste informatie aan de GraalVM voor compilatie naar native code.
Quarkus Configuration
Vervolgens wordt aandacht besteed aan de configuratie mogelijkheden van Quarkus applicaties. Hierbij komen
Quarkus Intro
De cursus Quarkus Cloud Development gaat van start met een overzicht van de essenties van het Quarkus framework. Daarbij wordt onder andere ingegaan op Quarkus Dependency injection die gebaseerd is op CDI (Context and Dependency Injection). Ook verschaft het de juiste informatie aan de GraalVM voor compilatie naar native code.
Quarkus Configuration
Vervolgens wordt aandacht besteed aan de configuratie mogelijkheden van Quarkus applicaties. Hierbij komen configuratie parameters, YAML configuratie en programmatische configuratie aan de orde.
Rest Services
Quarkus is ontworpen om samen te werken met bekende Java standaards, frameworks en libraries. Ingegaan wordt op hoe Quarkus kan worden gebruikt voor de definitie en de benadering van JSON Rest Services. Hierbij wordt ook aandacht besteed aan de Open API.
Data Access
En ook passeert de ondersteuning die Quarkus heeft voor Data Access met Hibernate ORM en JPA de revue. Daarbij worden ook connection pooling en transacties behandeld.
Messaging
Onderdeel van het programma van de cursus Quarkus Cloud Development is eveneens messaging tussen applicaties. Diverse messaging patterns en stream processing met Apache Kafka komen aan bod.
Security
Vervolgens wordt aandacht besteed aan Security in Quarkus applicaties. Implementaties van diverse security mechanismes komen aan de orde waaronder JSON Web Tokens en OAuth2.
Quarkus Cloud
Quarkus applicaties zijn bij uitstek geschikt om gehost te worden in een public cloud of in een intern gehoste Kubernetes cluster. Ingegaan wordt hoe karakteristieken zoals snelle startup en gering geheugen gebruik belangrijk zijn om de hosting kosten laag te houden.
Monitoring en Extensions
Tenslotte wordt aandacht besteed aan het monitoren van Quarkus applicaties met de Micrometer Extension en Prometheus. En ook het zelf schrijven van extensies komt aan bod.
De cursus Quarkus Cloud Development is bestemd voor developers die willen leren hoe Quarkus gebruikt kan worden voor de ontwikkeling van microservices en serverless applicaties.
Voorkennis Cursus Quarkus Cloud Development
Kennis en ervaring met Java programmeren en web technologie is vereist om aan deze cursus te kunnen deelnemen.
Uitvoering Training Quarkus Cloud Development
De theorie wordt behandeld aan de hand van presentaties en wordt afgewisseld met oefeningen. Demo's worden gebruikt om de theorie te verduidelijken. De lestijden zijn van 9.30 uur tot 16.30 uur.
Certificaat Quarkus Cloud Development
De deelnemers ontvangen een certificaat Quarkus Cloud Development na succesvolle afronding van de cursus.
Modules
Module 1 : Quarkus Intro
- What is Quarkus?
- Graal VM
- Imperative Code
- Reactive Code
- Dependency Injection
- Microservices
- Serverless Apps
- Quarkus CLI
- Quarkus Tooling
- Packaging
- Bootstrapping
Module 2 : Quarkus Configuration
- Quarkus Configuration
- SmallRye Config AP
- Configuration Parameters
- ConfigProperty Annotation
- YAML Configuration
- Programmatic Configuration
- Build Time Configuration
- Mapping to Objects
- Extending Configuration
- Application Startup
- Application Termination
Module 3 : Rest Services
- Rest JSON Services
- Consume JSON Payload
- Produce JSON Payload
- Scalability
- Reactive Rest Clients
- CRUD Services
- Bean Validation
- Using Websockets
- Multipart Clients
- Open API
- Swagger
Module 4 : Data Access
- Connecting to Data
- JDBC Drivers
- Reactive Drivers
- Hibernate and JPA
- Unified Configuration
- Connection Pooling
- Transactions
- Named Datasources
- Datasource Injection
- Health Checks
- Zero Config Setup
Module 5 : Messaging
- Asynchronous Messaging
- Messaging Patterns
- Reactive Messaging
- Messaging with SmallRye
- Using Apache Kafka
- Stream Processing
- Schema Registry
- Using Avro
- Serialized Records
- Java Messaging Service
- Event Bus
Module 6 : Security
- Security Architecture
- Authentication Mechanisms
- Basic Authentication
- Form Authentication
- Proactive Authentication
- TLS Authentication
- Identity Providers
- OAuth2
- JSON Web Tokens
- CORS
- Authorization
Module 7 : Quarkus Cloud
- Kubernetes Extension
- Kubernetes Resources
- Using dekorate
- kubernetes.json
- kubernetes.yml
- Deployment Resources
- StatefulSet
- Job or CronJob
- Labels and Annotations
- Exposing Application
- Ingress Rules
Module 8 : Monitoring
- Micrometer Extension
- Prometheus MeterRegistry
- Dimensional Labels
- Review Generated Metrics
- Inject the MeterRegistry
- Adding Counters
- Naming Conventions
- Prometheus Endpoint
- Shaping Data
- Review Collected Metrics
- Add a Timer
Module 9 : Extensions
- Role of Extensions
- Ahead of Time Compilation
- Extension Parts
- Runtime Modules
- Deployment Module
- GraalVM’s Native Compilation
- Quarkus Bootstrap Phases
- Augmentation
- Static Init
- Runtime Init
- Testing Extension