Chapter 9. Deploying Java in the Cloud

In Chapter 8, we covered the foundational aspects of the cloud stack. In this chapter, we will take this topic further and look at the practical aspects of deploying Java processes on cloud native platforms.

We will begin by covering working locally with containers and understanding some of the basics of how containers interact when deployed. The interaction and details of how things are deployed will lead into looking at how container orchestration works and what you need to be aware of.

One enormously useful aspect of cloud native platforms is the access to ephemeral compute and the ability to scale—​but this needs to be coordinated to be useful. With these basics in place, you will learn about options for release and deployment patterns. Deployment techniques are incredibly helpful when rolling out change to your JVM-based processes quickly, whilst still mitigating the risk of bugs.

If you are a developer, you might be wondering if deployment is really an important aspect for you to consider. Historically, you may have built software and handed it over to an operations team to run. However, one of the major changes with cloud native development is that the lines have blurred between operations and development, hence the term “DevOps.”

For example, it is much simpler to create consistent environments for production and nonproduction systems. As a result, many teams are choosing to operate as “build and run” teams, finding a balance between ...

Get Optimizing Cloud Native Java, 2nd Edition 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.