A deployment architecture is a mapping of the system architecture to a physical environment. This environment consists of machines that run code, load balancers, databases, network elements, and so on. The mapping of a logical architecture and software artifacts to a deployment involves the following:
- Defining what infrastructure components are needed
- Defining the environments needed
- Sizing analysis for each environment: Estimating the number and characteristics of the resources needed for an efficient environment
- Management strategies: A pipeline that defines how new code gets deployed in an environment
This section discusses the typical components, configurations, and environments of production systems.