Book Image

Hands-On Cloud-Native Applications with Java and Quarkus

By : Francesco Marchioni
Book Image

Hands-On Cloud-Native Applications with Java and Quarkus

By: Francesco Marchioni

Overview of this book

Quarkus is a new Kubernetes-native framework that allows Java developers to combine the power of containers, microservices, and cloud-native to build reliable applications. The book is a development guide that will teach you how to build Java-native applications using Quarkus and GraalVM. We start by learning about the basic concepts of a cloud-native application and its advantages over standard enterprise applications. Then we will quickly move on to application development, by installing the tooling required to build our first application on Quarkus. Next, we’ll learn how to create a container-native image of our application and execute it in a Platform-as-a-Service environment such as Minishift. Later, we will build a complete real-world application that will use REST and the Contexts and Dependency injection stack with a web frontend. We will also learn how to add database persistence to our application using PostgreSQL. We will learn how to work with various APIs available to?Quarkus?such as Camel, Eclipse MicroProfile, and Spring DI. Towards the end, we will learn advanced development techniques such as securing applications, application configuration, and working with non-blocking programming models using Vert.x. By the end of this book, you will be proficient with all the components of Quarkus and develop-blazing fast applications leveraging modern technology infrastructure.
Table of Contents (15 chapters)
Free Chapter
1
Section 1: Getting Started with Quarkus
5
Section 2: Building Applications with Quarkus
10
Section 3: Advanced Development Tactics

Preface

Despite its age, Java still remains one of the most popular choices among developers, having made it through almost 20 years of constant improvements and having developed a full stack of libraries for enterprise systems. As we are living in a fast-paced industry, we cannot deny that many things have changed in the last few years with the introduction of containers, microservices, reactive applications, and cloud platforms. To remain a first-class citizen in this changing world, Java needs a boost. And we, at Red Hat, believe that this boost can be Quarkus!

Quarkus has been designed from the ground up to be a Kubernetes-native Java framework that is a perfect fit for creating microservice applications with a minimal memory footprint and fast execution. At the same time, Quarkus does not dump the rich set of libraries, such as Hibernate, and REST services that most developers are familiar with. On the contrary, they are part of a larger picture that includes the game-changing MicroProfile API, reactive programming models such as Vert.x, and a ton of other features that can be easily plugged into your services.

Quarkus provides an effective solution for running Java in this new world of serverless, microservices, containers, Kubernetes, Function as a Service (FaaS), and the cloud because it has been designed with these in mind. Its container-first approach to cloud-native Java applications unifies imperative and reactive programming paradigms for microservices development and offers an extensible set of standards-based enterprise Java libraries and frameworks combined with extreme developer productivity that promises to revolutionize the way we develop in Java.