Chapter 8. Deploying for Developers

However beautiful the strategy, you should occasionally look at the results.

Sir Winston Churchill

When computers were extremely large and expensive, manufacturers often bundled together the software with the hardware. With the development of mass-market software, this type of operation was time-consuming, and new forms of software distribution emerged. Today’s development processes focus on decoupling build and deployment activities to facilitate fast software distribution and parallel activities in teams.

The deployment of an application represents the transformation of that software from a packaged artifact to an operational working state. Modern development days require this transformation to happen as fast as possible in order to get rapid feedback about the running state of our system.

As a developer, your focus is mainly on writing performant application code. Yet DevOps is collaboration centric, and your work should flawlessly blend within the infrastructure. While looking at your deployment process, you should continuously ask yourself, “What instructions would a machine need to execute this deployment as I envisioned it?” and share those with the colleagues or experts in charge of the infrastructure and automation. When planning a deployment process, you can make a wish list that you can later scale to more components of the distributed system:

  • To gradually extend the functionalities of your system, conduct ...

Get DevOps Tools for Java Developers 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.