Environments

An environment is a user-defined collection of resources that host an application. Environments are typically modeled on some stage of the software project life cycle, such as development, QA, or production. Environments can have different topologies. For example, an environment can consist of a single machine, be spread over several machines, or be spread over clusters of machines. Environments are mapped to agents, which manage resources.

A resource represents a deployment target, such as a physical machine, virtual machine, database, or J2EE container. Components are deployed to resources by their managing agents, which are physical processes.

Environments are created at the global level and used by multiple applications. This enables IT organizations to use shared or application-specific environments. Deployment Automation maintains an inventory of every artifact deployed to each environment and tracks the differences between them.

Environments include the following: