Deployment and Runtime View
Explore how distributed system instances are deployed and managed on machines. Understand key concepts like services, instances, executables, processes, and deployments. Learn how code, configuration, and network connections support system stability and operations.
We'll cover the following...
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 ...