Daniel Petisme

Daniel Petisme has an engineering degree in IT. He has been mixing technical expertise and innovation for over a decade at Michelin before joining Confluent, the original creator of Apache Kafka. He is a part of the JHipster and Vert.x core team and actively contributes to both Kafka and Quarkus.

projects by Daniel Petisme

An Enterprise Microservice with Quarkus and Kubernetes

4 weeks · 4-6 hours per week average · INTERMEDIATE

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.

Kafka-based Communication

1 week · 6-8 hours per week · INTERMEDIATE

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.

HTTP-based Communication

1 week · 6-8 hours per week · INTERMEDIATE

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.

Microservice Observability

1 week · 2-4 hours per week · INTERMEDIATE

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.

Microservice Security

1 week · 4-6 hours per week · INTERMEDIATE

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.

A Microservice with Quarkus and Kubernetes

4 weeks · 3-5 hours per week average · INTERMEDIATE

In this series of liveProjects, you’ll use the Quarkus framework to deploy a Java application to Kubernetes. You’ll step into the shoes of a developer working for the Chill+ video streaming service, which has developed its microservices architecture on Java. As the Chill+ service grows in popularity, it needs to scale—which is where you come in. You plan to use Quarkus and its new paradigms to deliver a competitive and performant Java application in a cloud/Kubernetes context. You'll tackle setup and installation, data persistence, deployment, and more. Each liveProject in this series can be tackled alone, or taken as part of a complete learning package.

Learners looking for a more advanced Quarkus series should try An Enterprise Microservice with Quarkus and Kubernetes.

Build a Native Executable

1 week · 3-4 hours per week · INTERMEDIATE

In this liveProject, you’ll dive into the role of a software developer working on a catalog application for the Chill+ streaming service. Your boss has given you the task of developing a native version of the catalog application using Oracle GraalVM and Quarkus, in order to help manage resources as the app scales. You’ll create and test your executable with GraalVM, then build a Kubernetes-ready container for embedding the application.

Deploy a Quarkus Application

1 week · 4-6 hours per week · INTERMEDIATE

In this liveProject, you’ll deploy the Quarkus catalog on a Kubernetes cluster powered by minikube. Taking on the role of a software engineer for the Chill+ streaming site, you’ll seek to ensure your site can scale in a cost-effective manner once you deploy the Chill+ Catalog API on a Kubernetes cluster. You’ll use Quarkus extensions to package your application as a Docker image and generate the required manifest files to deploy on Kubernetes.

Access a Database with Panache

1 week · 5-6 hours per week · INTERMEDIATE

In this liveProject, you’ll use the Quarkus ecosystem to provide a data persistence layer to the Catalog API of a video streaming service. As a software engineer for the Chill+ streaming site, you’ll be using the Quarkus “Hibernate with Panache” extension, which is an opinionated usage of the famous Hibernate ORM data persistence framework. To speed up the dev and test stages, you’ll use the Quarkus DevServices feature, which spins up a database container and configures the application for you.

Create a REST API

1 week · 5-6 hours per week · INTERMEDIATE

In this liveProject, you’ll go hands-on to initiate a Quarkus project for a video streaming service. You’ll step into the shoes of a software engineer for Chill+, a streaming service looking to reduce resource consumption and take control of the infrastructure cost budget of its scaling Java-based microservices. You’ll implement and test a first version of the Chill+ Catalog API by using the Quarkus live reload feature, and package the application as a Java archive. You’ll then measure how Quarkus impacts the memory and start-up performance of your application.