11 Quarkus applications in the cloud

 

This chapter covers

  • Running Acme Car Rental services in production mode
  • Containerizing Quarkus applications
  • Deploying Quarkus in the cloud (Kubernetes and OpenShift)
  • Creating serverless application deployments with Quarkus
  • Constructing Acme Car Rental production in the OpenShift platform

After completing chapter 10, we are finished with the development of the car rental microservices. Now it’s time to move from Dev mode to production. This chapter explores several deployment scenarios ranging from a local test environment with Docker to a fully deployed system in the public cloud.

More and more applications are moving to cloud environments. This is the general direction that the software industry has been heading toward for years now. It allows for more flexibility, scalability, reliability, and in some cases also significant cost savings. In previous chapters, we focused on the program aspects (capabilities of the application itself) needed for cloud deployments—mainly observability and reliability, and how Quarkus makes it all very easy. In this chapter, we focus on the operational aspects: once your application is written, how do you deploy and manage it? Quarkus has a plethora of tools and integrations to make this easy. We start by running our car rental services in Quarkus production mode and then continue with their containerization; then we deploy the full Acme Car Rental system to the cloud.

11.1 Car rental production

11.1.1 Externalizing providers for independent deployment

11.2 Building and pushing container images

11.2.1 Building images with Quarkus without extensions

11.2.2 Building and pushing images with Quarkus extensions

11.2.3 Image customizations

11.2.4 Pushing car rental images to quay.io

11.3 Kubernetes and OpenShift integration

11.3.1 Generating Kubernetes resources

11.3.2 Customizing generated manifests

11.3.3 Deploying Quarkus applications on Kubernetes

11.3.4 Deploying Quarkus applications on OpenShift

11.4 Kubernetes and OpenShift clients

11.5 Serverless application with Quarkus

11.5.1 Serverless architecture

11.5.2 Funqy

11.5.3 Car statistics application with Knative

11.5.4 Car statistics Knative deployment

11.6 Deploying car rental in the cloud