<div><p>While containers, microservices, and distributed systems dominate discussions in the tech world, the majority of applications in use today still run monolithic architectures that follow traditional development processes. This practical book helps developers examine long-established Java-base
Modernizing Enterprise Java: A Concise Cloud Native Guide for Developers
β Scribed by Markus Eisele, Natale Vinto
- Publisher
- O'Reilly Media
- Year
- 2021
- Tongue
- English
- Leaves
- 240
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
While containers, microservices, and distributed systems dominate discussions in the tech world, the majority of applications in use today still run monolithic architectures that follow traditional development processes. This practical book helps developers examine long-established Java-based models and demonstrates how to bring these monolithic applications successfully into the future.
Relying on their years of experience modernizing applications, authors Markus Eisele and Natale Vinto walk you through the steps necessary to update your organization's Java applications. You'll discover how to dismantle your monolithic application and move to an up-to-date software stack that works across cloud and on-premises installations.
- Learn cloud native application basics to understand what parts of your organization's Java-based applications and platforms need to migrate and modernize
- Understand how enterprise Java specifications can help you transition projects and teams
- Build a cloud native platform that supports effective development without falling into buzzword traps
- Find a starting point for your migration projects by identifying candidates and staging them through modernization steps
- Discover how to complement a traditional enterprise Java application with components on top of containers and Kubernetes
β¦ Table of Contents
From Platform to Ecosystem
Preface
Conventions Used in This Book
Using Code Examples
OβReilly Online Learning
How to Contact Us
Acknowledgments
1. Revisiting Enterprise Development
From Public to Private. Why Clouds?
What βCloud Nativeβ Means
Kubernetes-Native Development
Containers and Orchestration for Developers
Container-Native Runtime
Kubernetes Flavors
Managing Development Complexity
DevOps and Agility
Summary
2. The Path to Cloud Native Java
Cloud Native Workshop
Architecture
Create an Inventory Microservice with Quarkus
Create Quarkus Maven Project
Create a Domain Model
Create a RESTful Service
Run the App in Dev Mode
Create a Catalog Microservice with Spring Boot
Create a Maven Project
Create a Domain Model
Create a Data Repository
Create a RESTful Service
Create a Gateway Service with Vert.x
Create a Vert.x Maven Project
Create an API Gateway
Create a Frontend with Node.js and AngularJS
Run the Frontend
Summary
3. Travel Light on Your Pathway
Three-Tier or Distributed System
Technology Updates, Modernization, and Transformation
The 6 Rs
Divide and Containerize
Kubernetes as the New Application Server?
Define Your Target Platform
Mandatory Migration Steps and Tools
Create an Application Portfolio
Prepare for Big Things
Summary
4. A Kubernetes-Based Software Development Platform
Developers and Kubernetes
What Kubernetes Does
What Kubernetes Doesnβt Do
Infrastructure as a Code
Container Images
Dockerfile
Building Container Images
Run Containers
Registry
Deploying to Kubernetes
Pod
Service
Deployment
Kubernetes and Java
Jib
JKube
Summary
5. Beyond Lift and Shift: Working with Legacy
Managing Legacy
Assessing Applications for Migration
Assessing Functionality for Migration
Migration Approaches
Protecting Legacy (Replatform)
Build Something New (Refactor)
Challenges
Avoiding Dual-Writes
Long-Running Transactions
Removing Old Code Too Quickly
Integration Aspects
Summary
6. Building Kubernetes-Native Applications
Find the Right Balance Between Scalability and Complexity
Functional Requirements for Modern Architectures
API-Driven
Discovery
Security and Authorization
Monitoring
Tracing
Logging
CI/CD
Debugging Microservices
Port Forwarding
Quarkus Remote Development Mode
Telepresence
Summary
7. Tomorrowβs Solutions: Serverless
What Is Serverless?
Architectural Evolution
Use Cases: Data, AI, and Machine Learning
Use Cases: Edge Computing and IoT
Knative: Serverless for Kubernetes
Event-Driven Serverless Architectures
Function as a Service for Java Applications
Functions Deployment for Java Applications
Boson Function CLI (func)
Summary
Index
π SIMILAR VOLUMES
While containers, microservices, and distributed systems dominate discussions in the tech world, the majority of applications in use today still run monolithic architectures that follow traditional development processes. This practical book helps developers examine long-established Java-based models
<p>Enterprise Architecture (EA) frameworks such as TOGAF and Zachman are still valid, but enterprise architects also need to adapt to the new reality of agile, DevOps, and overall disruption through digital transformation. This book will help do just that.</p> <p><i>The Change to Modern Enterprise A
<p><span>Enterprise Architecture (EA) frameworks such as TOGAF and Zachman are still valid, but enterprise architects also need to adapt to the new reality of agile, DevOps, and overall disruption through digital transformation. This book will help do just that.</span></p><p><span>The Change to Mode
Welcome to your in-depth professional guide to the open source Eclipse Jakarta EE 10 platform. This book will help you build more complex native enterprise Java-based cloud and other applications that can run in corporate and other mission-critical settings. The majority of the key Jakarta EE 10 API