Four-Project Series

A Catalog Microservice with Quarkus and Kubernetes you own this product

prerequisites
basic Kubernetes, Maven, kubectl CLI, and PostgreSQL
skills learned
create a Java Quarkus project using the code.quarkus.io • use Quarkus extensions to work with Hibernate ORM with Panache • build a Docker container and deploy it on Kubernetes using Quarkus
Daniel Petisme
4 weeks · 3-5 hours per week average · INTERMEDIATE
filed under

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.

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

here's what's included

Project 1 Create a REST API

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.

$29.99 FREE
try now
Project 2 Access a Database with Panache

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.

$29.99 $19.99
add to cart
Project 3 Deploy a Quarkus Application

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.

$29.99 $19.99
add to cart
Project 4 Build a Native Executable

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.

$29.99 $19.99
add to cart

project author

Daniel Petisme
Daniel Petisme has an engineering degree in IT. He has been mixing technical expertise and innovation at Michelin for past ten years. He joined Confluent in March 2021 as a Customer Success Architect. His role is to provide support and guidance about Kafka-related technologies. He enjoys learning and sharing knowledge. He has been teaching several software-related cources to IT engineers and co-organising local technical events. He is also a strong open-source believer. He is also a part of the JHipster and Vert.x core team and actively contributes to Kafka and Quarkus.

Prerequisites

This liveProject is for software engineers with experience building Java applications with Kubernetes. To begin this liveProject you will need to be familiar with the following:


TOOLS
  • Basic Kubernetes
  • Basic Maven
  • Basic kubectl CLI
  • Basic PostgreSQL
TECHNIQUES
  • Ability to develop small API-oriented applications using Java frameworks
  • Ability to develop Java tests using frameworks like JUnit and Mockito
  • Basic Docker images

you will learn

In this series of liveProjects, you’ll learn how to deploy and scale a catalog application using the capabilities of Kubernetes and Quarkus. These skills are easily transferable to other Java microservices projects.


  • Create a Java Quarkus project using the code.quarkus.io
  • Use Quarkus extensions to add features to the application
  • Configure Maven to trigger Quarkus build time augmentation
  • Use Quarkus Dev Mode and live reload to improve the development efficiency
  • Develop a first REST API using JAX-RS and Hibernate Validator
  • Measure the impact of Quarkus on the application’s performance
  • Test the API using REST Assured
  • Use Quarkus extensions to work with Hibernate ORM with Panache
  • Discover the active record data access pattern promoted by Quarkus
  • Develop Create-Read-Update-Delete operations
  • Experiment advanced querying features using Panache
  • Spin up a database container powered by Testcontainer using Quarkus test resource manager
  • Initialize a Kubernetes cluster using minikube
  • Manage basic Kubernetes objects to deploy a PostgreSQL Database
  • Build a container image using Quarkus
  • Use the Quarkus Kubernetes extension to generate the required Kubernetes manifests
  • Install GraalVM
  • Build a native executable version of the Chill+ Catalog API
  • Measure the native version performance and compare it to the JVM version
  • Verify the native executable behavior by developing integration tests
  • Deploy the new version of the catalog API on Kubernetes

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.
includes 4 liveProjects
liveProject $38.49 $69.99 self-paced learning
RECENTLY VIEWED