Four-Project Series

A 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

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


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.

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.

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.

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.

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.

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
$499.99
only $41.67 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
  • A Microservice with Quarkus and Kubernetes project for free

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

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.