Deployment and Runtime View

Learn about machine characteristics, service, instance, executable, process, installation, deployment, and differences between deployment and runtime view.

What a machine needs

In the last chapter, we looked at a diverse set of network and physical environments that our software may be deployed into. In this chapter, we’ll focus on the individual instances. They need to be good citizens by providing transparency, accepting control, handling configuration nicely, and managing connections. We’ll see some natural overlap with the stability patterns from the chapter Stability Patterns, since it’s the job of each instance to accept stress and insults with tolerance and grace.

In the car business, they say the engine needs fuel, fire, and air to work. Our version of that is code, config, and connection. Every machine needs the right code, configuration, and network connections.

The vocabulary problem

One problem we’ll run into is that our vocabulary hasn’t really kept up with our technology. For instance, when some people say “server” they might mean a virtual machine running on a physical host in their data center. Others might mean a process inside an operating system, rather than a ...