Os aplicativos executam essa tarefa definindo as diferentes versões de cada componente e definindo os diferentes ambientes que os componentes devem percorrer no caminho para a produção. Além disso, os aplicativos também mapeiam os hosts e sistemas constituintes (chamados recursos) que um componente precisa dentro de cada ambiente.
Os aplicativos também implementam implementações automatizadas, recuperações e tarefas semelhantes. Essas tarefas são chamadas de processos. No entanto, ao nível do aplicativo, os processos estão preocupados apenas com os componentes e recursos que são necessários para implementação e tarefas relacionadas. Por outro lado, os processos do componente estão preocupados com os comandos em execução e as tarefas relacionadas.).
Os aplicativos também introduzem capturas instantâneas para gerenciar as diferentes versões de cada componente. Uma captura instantânea representa o estado atual de um aplicativo no ambiente. Geralmente, a captura instantânea é gerada em um ambiente que não tem portas de aprovação. Esse tipo de ambiente é chamado de não controlado. Para a maioria dos usuários, a captura instantânea é enviada por push através do pipeline.
Um ambiente é uma coleção de recursos que hospedam o aplicativo. Os ambientes geralmente incluem sistemas host e agentes do IBM® UrbanCode Deploy. Quando uma implementação é executada, é sempre em um ambiente. Enquanto os ambientes são coleções de recursos, os recursos podem variar por ambiente.
Por exemplo, o ambiente 1 pode incluir um servidor da web único, um servidor de middleware único e um servidor de banco de dados único. O IBM UrbanCode Deploy representa esses sistemas como três recursos separados que estão em execução no ambiente 1. O ambiente 2, no entanto, pode incluir vários bancos de dados e servidores em cluster. Para implementar os mesmos componentes nesses diferentes ambientes, o IBM UrbanCode Deploy organiza os elementos de recurso com grupos de recursos. O servidor também mantém um inventário de tudo o que é implementado em cada ambiente. Desta maneira, o servidor IBM UrbanCode Deploy gerencia o conteúdo de cada ambiente e controla as diferenças entre esses ambientes.