Book Image

Cloud-Native Development and Migration to Jakarta EE

By : Ron Veen, David Vlijmincx
Book Image

Cloud-Native Development and Migration to Jakarta EE

By: Ron Veen, David Vlijmincx

Overview of this book

Cloud-Native Development and Migration to Jakarta EE will help you unlock the secrets of Jakarta EE's evolution as you explore the migration and modernization of your applications. You’ll discover how to make your code compatible with the latest Jakarta EE version and how to leverage its modern features effectively. First, you’ll navigate the realm of cloud-native development as you demystify containers and get introduced to the Eclipse MicroProfile, a powerful tool in your toolkit. Next, you’ll take the bold step of transitioning your applications from local hardware to the limitless possibilities of the cloud. By following the author’s expert guidance to deploy your Jakarta EE applications on Microsoft Azure, you’ll gain hands-on experience in managing cloud resources. In the final leg of your journey, you’ll explore the world of serverless architecture. You’ll learn to design and run services that are truly serverless, harnessing the potential of the event-driven paradigm for scalability and cost-efficiency. By the end of this book, you’ll have mastered Jakarta EE and become a proficient cloud-native developer. Join us on this exciting journey of transformation and innovation as you pave the way for the future of Jakarta EE and cloud-native development.
Table of Contents (18 chapters)
1
Part 1: History of Java EE and Jakarta EE
4
Part 2: Modern Jakarta EE
8
Part 3: Embracing the Cloud
Appendix A: Java EE to Jakarta EE names
Appendix B: As a Service

Introducing the 12-factor app

The 12-factor app is a description of how cloud-native applications should preferably be constructed. Initially proposed by the guys from Heroku, it has since become the de facto standard for cloud-native applications or software-as-a-service (SaaS).

The most important aspect of these rules is that they can be applied in any programming language. In the following sections, we will walk through each of these 12 factors and highlight what makes them important:

  • Code base
  • Dependencies
  • Config
  • Backing services
  • Build, release, run
  • Processes
  • Port binding
  • Concurrency
  • Disposability
  • Dev/prod parity
  • Logs
  • Admin processes

Code base

One code base tracked in revision control, many deploys.

We already touched upon this before; there must be a central code base, stored in some kind of SCM system. Only sources should be kept here; binaries or other artifacts should be kept at a different location.

Nowadays...