Hands-On Cloud-Native Applications with Java and Quarkus Build high performance, Kubernetes-native Java serverless applications
- Build apps with faster boot time and low RSS memory using the latest Quarkus 1.0 features
- Seamlessly integrate imperative and reactive programming models to build modern Java applications
- Discover effective solutions for running Java on serverless apps, microservices, containers, FaaS, and the cloud
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.
What you will learn
- Build a native application using Quarkus and GraalVM
- Secure your applications using Elytron and the MicroProfile JWT extension
- Manage data persistence with Quarkus using PostgreSQL
- Use a non-blocking programming model with Quarkus
- Learn how to get Camel and Infinispan working in native mode
- Deploy an application in a Kubernetes-native environment using Minishift
- Discover Reactive Programming with Vert.x
Who this book is for
The book is for Java developers and software architects who are interested in learning a promising microservice architecture for building reliable and robust applications. Knowledge of Java, Spring Framework, and REST APIs is assumed.
Francesco Marchioni is a Red Hat Certified JBoss Administrator (RHCJA) and Sun Certified Enterprise Architect (SCEA) working at Red Hat in Rome, Italy. He started learning Java in 1997, and since then he has followed all the newest application program interfaces released by Sun. In 2000, he joined the JBoss community, when the application server was running the 2.X release.
He has spent years as a software consultant, where he has enabled many successful software migrations from vendor platforms to open source products, such as JBoss AS, fulfilling the tight budget requirements necessitated by the current economy. Over the last 10 years, he has authored many technical articles for O'Reilly Media and has run an IT portal focused on JBoss products.
Table of Contents
- Introduction to Quarkus Core Concepts
- Developing Your First Application with Quarkus
- Creating a Container Image of Your Application
- Adding Web Interfaces to Quarkus Services
- Managing Data Persistence with Quarkus
- Building Applications Using the MicroProfile API
- Securing Applications
- Advanced Application Development
- Unifying Imperative and Reactive with Vert.x
- Reactive Messaging with Quarkus