Eles fazem o trabalho real de implementação de componentes e assim liberam o servidor da tarefa, fazendo grandes implementações que envolvem milhares de destinos possíveis. Normalmente, um agente é executado no mesmo host em que os recursos que ele manipula estão localizados. Um único agente pode manipular todos os recursos em seu host. Se um host tiver vários recursos, um processo do agente será iniciado separadamente para cada um. Dependendo do número de hosts em um ambiente, uma implementação poderá requerer vários agentes.
Os agentes são instalados com os arquivos em lote que são fornecidos com os arquivos de instalação; consulte Installing agents from the command line. É possível instalar agentes em sistemas UNIX com o aplicativo da web. Os agentes são executados com os arquivos em lote incluídos no pacote de instalação.
Após um agente instalado ser iniciado, o agente abre uma conexão de soquete com o servidor IBM UrbanCode Deploy (segura com a configuração SSL para comunicação entre servidor e agente) com base nas informações de instalação. Os agentes em redes diferentes daquela em que o servidor está localizado podem precisar abrir um firewall para estabelecer a conexão. Depois que a comunicação for estabelecida, o agente será visível no aplicativo da web do IBM UrbanCode Deploy no qual ele pode ser configurado. Os agentes ativos, independentemente do sistema operacional, podem ser submetidos a upgrade com o aplicativo da web.
A configuração do agente consiste em designar um agente a pelo menos um ambiente; os agentes podem ser designados a vários ambientes. Se um agente for designado a diversos ambientes, ele poderá fazer o trabalho em nome de todos eles.
Se você criar um modelo de recurso em vez de importar um modelo de recurso da nuvem, poderá especificar um Padrão de nome de agente para qualquer protótipo de agente que incluir no modelo de recurso. Você poderá usar um padrão de nome de agente se tiver um sistema para fornecer agentes que não são baseados em nuvem. Depois de criar um ambiente a partir de um blueprint de aplicativo baseado nesse modelo de recurso, os agentes que correspondem ao padrão de nome são mapeados para os protótipos de agentes correspondentes no blueprint. Para qualquer protótipo de agente que não corresponder aos agentes existentes, uma entrada será criada no ambiente para um agente com o nome esperado. Ao especificar um padrão de nome de agente, você pode usar as seguintes propriedades especiais como variáveis que representam o nome do aplicativo e o nome do ambiente: ${p:application.name} e ${p:environment.name}.