Software Systems Architecture

The Deployment Viewpoint

The Deployment view focuses on aspects of the system that are important after the system has been tested and is ready to go into live operation. This view defines the physical environment in which the system is intended to run, including the hardware environment your system needs (e.g., processing nodes, network interconnections, and disk storage facilities), the technical environment requirements for each node (or node type) in the system, and the mapping of your software elements to the runtime environment that will execute them.

The Deployment viewpoint applies to any information system with a required deployment environment that is not immediately obvious to all of the interested stakeholders. This includes the following scenarios:

  • Systems with complex runtime dependencies (e.g., particular third-party software packages are needed to support the system)
  • Systems with complex runtime environments (e.g., elements are distributed over a number of machines)
  • Situations where the system may be deployed into a number of different environments and the essential characteristics of the required environments need to be clearly illustrated (which is typically the case with packaged software products)
  • Systems that need specialist or unfamiliar hardware or software in order to run

In our experience, most large information systems fall into one of these groups, so you will almost always need to create a Deployment view.

Definition Describes the environment into which the system will be deployed, including the dependencies the system has on its runtime environment
Concerns
  • runtime platform required
  • specification and quantity of hardware or hosting required
  • third-party software requirements
  • technology compatibility
  • network requirements
  • network capacity required
  • physical constraints
Models
  • runtime platform models
  • network models
  • technology dependency models
  • intermodel relationships
Pitfalls
  • unclear or inaccurate dependencies
  • unproven technology
  • unsuitable or missing service-level agreements
  • lack of specialist technical knowledge
  • late consideration of the deployment environment
  • ignoring intersite complexities
  • inappropriate headroom provision
  • not specifying a disaster recovery environment
Stakeholders System administrators, developers, testers, communicators, and assessors
Applicability Systems with complex or unfamiliar deployment environments

← The Development Viewpoint     |     Viewpoints    |     The Operational Viewpoint →