Overview
Develop microservice-based applications with Quarkus and OpenShift.
Many enterprises are looking for a way to take advantage of cloud-native architectures, but many do not know the best approach. Quarkus is an exciting new technology that brings the reliability, familiarity, and maturity of Java Enterprise with a container-ready lightning fast deployment time.
This course is based on OpenShift 4.5 and Quarkus 1.7
Skills Covered
- Deploy microservice applications on Red Hat® OpenShift Container Platform.
- Build a microservice application with Quarkus.
- Implement unit and integration tests for microservices.
- Use the config specification to inject data into a microservice.
- Secure a microservice using OAuth.
- Build and deploy native Quarkus applications.
Who Should Attend
This course is designed for application developers.
Course Curriculum
Prerequisites
- Experience with application development or Red Hat Application Development I: Programming in Java EE (JB183)
- Be proficient in using an IDE such as Red Hat® Developer Studio or VSCode
- Recommended, but not required: experience with Maven and version control.
- Recommended, but not required: experience with OpenShift or Introduction to OpenShift Applications (DO101)
- Take our free assessment to gauge whether this offering is the best fit for your skills.
Download Course Syllabus
Course Modules
- Describe components and patterns of microservice-based application architectures.
- Describe the specifications in Quarkus, implement a microservice with some of the specifications, and deploy it to an OpenShift cluster.
- Build a persistent and configurable distributed quarkus microservices application.
- Implement fault tolerance in a microservice architecture.
- Describe Quarkus in native mode and describe its deployment on OpenShift Container Platform.
- Implement unit and integration tests for microservices.
- Create a health check for a microservice.
- Secure microservice endpoints and communication.
- Monitor the operation of a microservice using metrics and distributed tracing.
Request More Information
Training Options
- ILT: Instructor-Led Training
- VILT: Virtual Instructor-Led Training
RM6,200.00Enroll Now
RM6,200.00Enroll Now
RM6,200.00Enroll Now
RM6,200.00Enroll Now
Exam & Certification
Red Hat Certified Cloud-Native Developer.
A Red Hat Certified Cloud-Native Developer has demonstrated the ability to use the Quarkus framework to implement simple microservices using Java and Kubernetes.
Training & Certification Guide
A Red Hat Certified Cloud-Native Developer has demonstrated the ability to use the Quarkus framework to implement simple microservices using Java and Kubernetes.
A Red Hat Certified Cloud-native Developer is able to use Quarkus to:
- Interact with persistent database entities.
- Create RESTful endpoints.
- Call other microservices using RESTful endpoints.
- Implement Health checks for automated availability testing.
- Implement tight web-based security access features.
- Use Quarkus features to ensure fault tolerance.
- Implement metrics to enable monitoring and resource management.
The Red Hat Certified Cloud-native Developer exam (EX378) tests your skills and knowledge with regard to coding the server side of Kubernetes-native Java applications using the Quarkus framework. The exam focuses on the basic skills required to create a complete microservice using a persistent data store.
By passing this exam, you become a Red Hat Certified Cloud-native Developer, which also counts toward earning a Red Hat Certified Architect (RHCA®) certification
This exam is based on Red Hat® OpenShift® Container Platform 4.5. This exam is based on Red Hat Build of Quarkus v1.7.
These audiences may be interested in becoming a Red Hat Certified Cloud-native Developer:
- Java developers who are implementing microservices using Quarkus and Kubernetes
- Red Hat Certified professionals who wish to pursue Red Hat Certified Architect (RHCA) certification
- Student must have taken the Red Hat Cloud-native Microservices Development with Quarkus (DO378) course or have comparable hands-on experience.
- Familiarity with using Visual Code/Codiium in a Red Hat Enterprise Linux environment.
- Good experience with JSE, including a knowledge and understanding of the core Java concepts and APIs, is necessary for this exam. For example, Exceptions, Annotations and the Collections API are all required during the exam.
- Some familiarity with Openshift/Kubernetes is beneficial.
To help you prepare, these exam objectives highlight the task areas you can expect to see covered in the exam. Red Hat reserves the right to add, modify, and remove exam objectives. Such changes will be made public in advance.
You should be able to perform these tasks:
- Provide and obtain configuration properties through several environment-aware sources made available through dependency injection or lookup
-
- Externalize data into configured values.
- Inject configured values into beans using the @Inject and the @ConfigProperty qualifier.
- Access or create a configuration.
- Understand default and custom ConfigSource and ConfigSource ordering.
- Build fault-tolerant Quarkus-based microservices using Microprofile Fault Tolerance strategies
-
- Understand the relationship to MicroProfile Config.
- Understand async versus sync execution type.
- Use @Timeout.
- Understand Retry policies and apply using @Retry.
- Understand and define Fallback.
- Understand and apply CircuitBreaker.
- Understand and apply Bulkhead.
- Understand and set up fault tolerance configuration.
- Probe the state of a Quarkus application from another machine using MicroProfile Health Check
-
- Understand and implement the HealthCheck interface.
- Understand and apply @Liveness and @Readiness annotation.
- Understand and implement HealthCheckResponse.
- Construct human-friendly HealthCheckResponse.
- Export monitoring data to management agents from a running Quarkus application using Microprofile Metrics
-
- Understand and use three sets of sub-resource (scopes): Base, vendor, application.
- Understand tags (labels).
- Understand and use metadata.
- Understand metric registry and @Metric.
- Expose metrics via REST API.
- Know required metrics.
- Understand Quarkus application metrics programming model.
- MicroProfile Interoperable JWT RBAC on Quarkus applications: OpenID Connect (OIDC)-based JSON Web Tokens(JWT) for role-based access control (RBAC) of microservice endpoints
-
- Understand token-based authentication.
- Use JWT bearer tokens to protect services.
- Mark a JAX-RS application as requiring MP-JWT access control.
- Map MP-JWT tokens to Java EE container APIs.
- Implement a Quarkus application and expose REST service endpoints with JAX-RS
-
- Understand REST concepts, particularly the application and use of the HTTP PUT, DELETE, GET, and POST methods.
- Know and use standard HTTP return codes.
- Implement RESTful root resource class.
- Expose a REST service using JAX-RS.
- Understand and use @Path, @Produce, and @Consume.
- Using CDI to integrate components.
- Using bean validation to ensure data format and consistency.
- Simplified JPA mapping with Panache
-
- Understand the difference between the Active Record Pattern and the Repository Pattern.
- Use basic JPA to create, read, update, and delete persistent objects and their relationships.
- Map a bi-directional one-to-many relationship between two entities, including both sides of the association.
- Demonstrate the ability to perform the most common Panache operations and add custom entity methods.
- Microprofile OpenAPI specification to document RESTful APIs
-
- Understand OpenAPI documents and the Swagger UI to discover remote services APIs.
- Demonstrate the ability to link to semantic versioning (semver) remote service endpoints.
- Understand how to produce the default and custom OpenAPI document to JAX-RS endpoints.
- Interacting with REST APIs in Quarkus using the MicroProfile REST Client
-
- Understand the type-safe approach to invoke RESTful services over HTTP using the JAX-RS APIs.
- Understand REST concepts, particularly the application and use of the HTTP PUT, DELETE, GET, and POST methods.
- Demonstrate the ability to create and use a REST client to connect with a remote service.
- Parameterize and configure the REST client URI to invoke a specific remote microservice.
- Understand and use special additional client headers.
As with all Red Hat performance-based exams, configurations must persist after restart without intervention.
Exam format
The Red Hat Certified Cloud-Native Developer Exam is a hands-on, practical exam that requires you to undertake real-world tasks. Internet access is not provided during the exam, and you will not be permitted to bring any hard copy or electronic documentation into the exam. This prohibition includes notes, books, or any other materials. For most exams, the documentation that ships with the product is available during the exam.
Scores and reporting
Official scores for exams come exclusively from Red Hat Certification Central. Red Hat does not authorize examiners or training partners to report results to candidates directly. Scores on the exam are usually reported within 3 U.S. business days.
Exam results are reported as total scores. Red Hat does not report performance on individual items, nor will it provide additional information upon request.
Frequently Asked Questions
- Many organizations are striving to make the move from monolithic applications to applications based on microservices, as well as how to reorganize their development paradigm to reap the benefits of microservice development in a DevOps economy. With Quarkus, developers can more quickly build, test, and deploy their applications, improving application time to market.
- Organizations are also invested in the familiarity of Java™ programming frameworks as well as the stability and benefits Red Hat OpenShift Container Platform. This course teaches developers how to leverage microservice application development with Quarkus for streamlined deployment on OpenShift clusters.
As a result of attending this course, you will understand how to develop, monitor, test, and deploy microservice-based applications using Quarkus and Red Hat OpenShift.
You should be able to demonstrate these skills:
- Design a microservices-based architecture for an enterprise application.
- Quickly build and test microservices with Quarkus and deploy on to OpenShift Container Platform.
- Implement fault tolerance and health checks for microservices.
- Secure microservices to prevent unauthorized access.
Introduction to Containers, Kubernetes, and Red Hat OpenShift (DO180)
Red Hat OpenShift I: Containers & Kubernetes (DO180) introduces students to building and managing containers for deployment on a Kubernetes cluster. This course helps students build core knowledge and skills in managing containers through hands-on experience with containers, Kubernetes, and the Red Hat OpenShift Container Platform needed for multiple roles, including developers, administrators and site reliability engineers.
Red Hat OpenShift Development I: Containerizing Applications (DO288)
Red Hat OpenShift Development II: Containerizing Applications (DO288) teaches you how to design, build, and deploy containerized software applications on an OpenShift cluster
Building Resilient Microservices with Red Hat OpenShift Service Mesh (DO328)
Building Resilient Microservices with Istio and Red Hat OpenShift Service Mesh (DO328) is an introduction to Red Hat OpenShift Service Mesh that teaches students installation, service monitoring, service resilience, and service security with Red Hat OpenShift Service Mesh.
Developing Event-Driven Applications with Apache Kafka and Red Hat AMQ Streams (AD482)
Learn to use Kafka and AMQ Streams to design, develop, and test event-driven applications. Event-driven microservices scale globally, store and stream process data, and provide low-latency feedback to customers. This course is for application developers and is based on Red Hat AMQ Streams 1.8 and Red Hat OpenShift Container Platform 4.6.