Chapter 6. Building Kubernetes-Native Applications
In the previous chapter, we outlined how to migrate from the traditional Java enterprise pattern to a container-centric approach. In this chapter, we will walk through the components needed to migrate to microservices-based architectures and how Kubernetes can connect the dots.
We also learned in previous chapters how much a microservices-based approach helps to make our software reliable, portable, and ready to scale upon demand. Modern architectures are planned with scalability already in the scope since the beginning, and this offers both opportunities and challenges. Enterprise Java developers know their code is usually part of the business logic, relying on frameworks to make it robust and consistent with well-recognized software design patterns. It is more common today that the same application could serve millions of requests running on a public cloud, even distributed geographically. To do that, it has to be architected to fit this model, decoupling functions, avoiding a single point of failure, and distributing the load to several parts of the architecture to avoid service interruptions.
Find the Right Balance Between Scalability and Complexity
In an ideal world, all applications would be stateless, and they could scale up independently. They wouldn’t crash, and the network links would always be reliable. The reality looks different. The migration from monoliths to microservices-based architectures enables cloud native ...
Get Modernizing Enterprise Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.