Un environnement est un ensemble de ressources qui hébergent des applications. Il s'agit du mécanisme qu'utilise l'application pour réunir les composants avec l'agent qui les déploie.
Les environnements sont généralement modélisés sur une étape du cycle de vie du projet logiciel, telle que le développement, l'assurance qualité ou la production. Une ressource est une cible de déploiement, telle qu'une base de données ou un conteneur J2EE. Les ressources résident sur un hôte qui correspond à une machine physique, virtuelle ou basée sur le cloud.
Les environnements peuvent avoir différentes topologies. Par exemple, un environnement peut se composer d'une seule machine, être réparti sur plusieurs machines ou être distribué sur des clusters de machines. Les approbations sont généralement définies en fonction des environnements.