Chapter 4. Deployment Platforms, Infrastructure, and Continuous Delivery of Java Apps
In this chapter, you will explore the various deployment options available to you for continuously delivering web-based Java applications. Along the way, you will learn about each platform’s components, its various strengths and weaknesses, and the core areas of focus in relation to Java and continuous delivery. Upon completion of this chapter, you should have the knowledge and tools to choose a platform for your next project, and be aware of the best practices and pitfalls.
Functionality Provided by a Platform
In the context of modern web-based Java applications, or distributed Java applications (based on the microservices architectural style), a platform provides the following functionality:
-
A physical (or virtual) location to host your applications from, which is accessible to your users
-
A Java runtime
-
Persistent storage—either a block store or database
-
Access to (or the ability to install) required middleware, such as ESBs or message queues
-
Self-healing or resilience—automated restart of failed applications
-
Service discovery—a mechanism to locate your additional application services and third-party services
-
Fundamental security—hardened machine images, restricted ports, and strong authentication required to access any control plane
-
A clear mechanism to understand costs incurred from operation
The emergence of the cloud, containers, and DevOps has been empowering for software ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access