Deployment
Definition
A deployment is a running or planned instance of a component in a defined environment and configuration.
Boundaries
A component describes a logical system part; a deployment describes its concrete presence in an environment. Production, test, and multiple regions are normally different deployments of the same component.
Minimum characteristics
- component;
- environment;
- state;
- version or configuration line;
- compute resource;
- region or location when needed.
Relationships
A deployment instantiates a component and is placed on a compute resource. Availability follows from the resource's connection to a network segment.
Example
DEP-CASE-API-PROD-RU1 is the production deployment of the case API in region RU1.
Common mistakes
- creating a component for every environment;
- encoding the environment only in the name;
- linking a logical component directly to several servers and losing the instance concept.