-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
The course Quarkus Cloud Development teaches participants to develop applications with the Quarkus framework. Quarkus is a full-stack, Kubernetes-native Java framework built for Java virtual machines (JVMs) and native compilation. In Quarkus Java is specifically optimized for containers, making it an effective platform for serverless, cloud and Kubernetes environments.
The course Quarkus Cloud Development starts with an overview of the essentials of the Quarkus framework. Among other things, Quarkus Dependency Injection, which is based on CDI (Context and Dependency Injection), is discussed. It also provides the correct information to the GraalVM for compilation to native code.
Next attention is paid to the configuration options of Quarkus applications. This includes configuration parameters, YAML configuration and programmatic configuration.
Quarkus is designed to interoperate with well-known Java standards, frameworks and libraries. The course covers how Quarkus can be used to define and approach JSON Rest Services. Attention is also paid to the Open API.
The support that Quarkus has for Data Access with Hibernate ORM and JPA is also treated. Connection pooling and transactions are covered as well.
Part of the program of the course Quarkus Cloud Development is messaging between applications. Various messaging patterns and stream processing with Apache Kafka are discussed.
Next attention is paid to Security in Quarkus applications. Implementations of various security mechanisms are treated including JSON Web Tokens and OAuth2.
Quarkus applications are ideally suited to be hosted in a public cloud or in an internally hosted Kubernetes cluster. It is discussed how characteristics such as fast startup and low memory usage are important to keep hosting costs low.
Finally attention is paid to monitoring Quarkus applications with the Micrometer Extension and Prometheus. And also writing extensions yourself is covered.
The course Quarkus Cloud Development is intended for developers who want to learn how Quarkus can be used to develop microservices and serverless applications.
Knowledge and experience with Java programming and web technology is required to participate in this course.
The theory is treated on the basis of presentations and is interspersed with exercises. Demos are used to clarify the theory. Course times are from 9:30 to 16:30.
Participants receive a certificate Quarkus Cloud Development upon successful completion of the course.
Module 1 : Quarkus Intro |
Module 2 : Quarkus Configuration |
Module 3 : Rest Services |
What is Quarkus? Graal VM Imperative Code Reactive Code Dependency Injection Microservices Serverless Apps Quarkus CLI Quarkus Tooling Packaging Bootstrapping |
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 |
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 |
Module 5 : Messaging |
Module 6 : Security |
Connecting to Data JDBC Drivers Reactive Drivers Hibernate and JPA Unified Configuration Connection Pooling Transactions Named Datasources Datasource Injection Health Checks Zero Config Setup |
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 |
Security Architecture Authentication Mechanisms Basic Authentication Form Authentication Proactive Authentication TLS Authentication Identity Providers OAuth2 JSON Web Tokens CORS Authorization |
Module 7 : Quarkus Cloud |
Module 8 : Monitoring |
Module 9 : Extensions |
Kubernetes Extension Kubernetes Resources Using dekorate kubernetes.json kubernetes.yml Deployment Resources StatefulSet Job or CronJob Labels and Annotations Exposing Application Ingress Rules |
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 |
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 |