Four-Project Series

An Enterprise Microservice with Quarkus and Kubernetes you own this product

prerequisites
intermediate Java • basic knowledge of Maven • basic knowledge of Java IDEs • basic knowledge of test concepts and the JUnit library • basic knowledge of Docker (concepts, building an image, push an image)
skills learned
enable authentication and authorization by connecting the Quarkus application to a Keycloak Identity provider • export the application metrics and configure the application log • implement a REST-based communication to an HTTP Service • produce and consume data with Kafka using Quarkus
Daniel Petisme
4 weeks · 4-6 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Chill+, a video streaming platform, is becoming increasingly popular. To support its success, the company is scaling out its Kubernetes cluster. As a result, Chill+’s infrastructure costs are skyrocketing. Your task as a software engineer is to devise strategies for managing these costs by reducing resource consumption. Leveraging the OpenID Connect (OIDC) protocol, you’ll increase security by adding an authentication and authorization layer. To improve observability, you’ll add probes, metrics, logs, and tracing to Chill+’s Catalog API. You’ll implement fault-tolerance strategies, and you’ll provide crucial (HTTP-based and asynchronous Kafka-based) inter-service communication. When you’re finished with these liveProjects, you’ll have practical experience reducing Kubernetes microservice resource consumption as well as valuable skills for managing infrastructure costs.

Those new to Quarkus should try A Microservice with Quarkus and Kubernetes first.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

Now I am fairly comfortable with Quarkus (coming from a Spring Boot background). I am ready to use it in my new project at work.

Wendong Li, Corporate Application Specialist, JEA

here's what's included

Project 1 Microservice Security

You’re a software engineer at Chill+, a video streaming platform that uses Java to develop its microservice architecture running on Kubernetes. Thanks to the company’s soaring popularity, Chill+ is scaling out its Kubernetes cluster. Your task is to reduce infrastructure costs, which are growing faster than the company’s customer base. To achieve your goal, you’ll add security that reduces resource consumption. You’ll implement an authentication layer, integrated with developer-friendly Quarkus Keycloak, on the company’s Catalog API. You’ll restrict access to the API’s endpoint according to users’ roles, tune the Keycloak Dev Services to match the Catalog’s API context, and verify the security implementation leveraging Quarkus’s easy-to-use testing libraries.

Project 2 Microservice Observability

Chill+, a video streaming platform, is becoming increasingly popular. To support its success, the company, which uses Java to develop its microservice architecture, is scaling out its Kubernetes cluster. As a software engineer, your task is to take control of the company’s skyrocketing infrastructure costs, and your solution is to reduce resource consumption by increasing observability. You’ll configure Chill+’s Catalog API log using Quarkus’ built-in logging capabilities, add default Quarkus healthiness and readiness probes, and use Micrometer, a JVM-based metrics instrumentation library, to expose the API’s performance and export those metrics to Prometheus and Grafana. When you’re done, you’ll have provided a level of observability that will help Chill+ monitor and reduce resource consumption, significantly decreasing infrastructure costs.

Project 3 HTTP-based Communication

The success of Chill+ is soaring, but so are its infrastructure costs. As a software engineer for this nextgen video streaming platform, it’s up to you to devise a cost-mitigating plan. Your solution is to reduce resource consumption by implementing crucial interservice communication and fault tolerance. You’ll use a REST client to integrate with another HTTP service, mock external calls with Mockito, and run tests against a mock HTTP server using a fixture. You’ll use the Quarkus Fault Tolerance extension to incorporate resiliency patterns, and you’ll implement error handling by adding retries, timeouts, circuit breakers, and fallbacks to the Catalog API. When you’re done, Chill+’s catalog service will return more accurate results to its customers with fewer requests, and have increased—and less costly—fault resilience.

Project 4 Kafka-based Communication

Enter course descriptionChill+, the nextgen streaming platform you work for, is scaling out its Kubernetes cluster to meet the demands of its increasing popularity. As a software engineer, your job is to devise a plan for managing the company’s infrastructure costs which are rising as fast as its success. Your solution is to reduce resource consumption by implementing crucial interservice communication. To make this communication asynchronous, which provides the benefit of decoupled request/response temporality while improving communication performance, you’ll use a Kafka producer to integrate with another service, and you’ll use Quarkus SmallRye Reactive Messaging Kafka Connector to produce and consume data. When you’re done, Chill+’s catalog service will provide quicker, more accurate recommendations to its customers while decreasing Chill+’s infrastructure costs.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • An Enterprise Microservice with Quarkus and Kubernetes project for free

I had not known anything about Quarkus before and learned in a short time.

Özay Duman, Software Architect, Tubitak

Excellent liveProject. Very useful technique to apply in real life projects.

Gabriel Colman, Senior Backend Developer, Almundo.com

project author

Daniel Petisme

Daniel Petisme has an engineering degree in IT, and he’s been mixing technical expertise and innovation at Michelin for the past ten years. He joined Confluent in March 2021 as a customer success architect providing support and guidance about Kafka-related technologies. He’s a strong believer in open source, and he channels his passion for learning and sharing knowledge by teaching several software-related courses to IT engineers, and co-organizing local technical events. He’s a part of the JHipster and Vert.x core team and actively contributes to Kafka and Quarkus.

Prerequisites

These liveProjects are for software engineers with knowledge of OpenId Connect and experience building Java applications. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Java JDK11
  • Maven
  • Visual Studio Code
  • Quarkus
  • Docker

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.