Агенты выполняют фактическую работу по развертыванию, освобождая сервер от выполнения этой задачи. Все процессы, включая упаковку, настройку и развертывания, запрошенные сервером IBM UrbanCode Deploy, выполняются на аппаратном обеспечении, которое назначено агентам. После запуска установленного агента он открывает соединение сокета с сервером IBM UrbanCode Deploy. Соединение между сервером и агентами использует протокол на основе JMS (Java™ Message Service). Соединение может быть защищено с помощью SSL, а также по выбору может применяться взаимная аутентификация на основе ключа для каждой конечной точки. Этот протокол связи является не сохраняющим состояние и устойчивым к перебоям работы сети (преимущества не сохраняющих состояние протоколов обсуждены ниже).
Хотя мы характеризовали агент как одиночный процесс, технически он состоит из процесса исполнителя и процесса монитора. Исполнитель является многопоточным процессом, выполняющим фактическую работу по развертыванию после получения команд от сервера. Рабочие команды поступают из действий модулей, что обеспечивает бесшовную интеграцию с многими инструментами других фирм. Монитор является службой, управляющей процессом исполнителя: запуск и остановка, обработка перезапусков, обновления и безопасность. Агенты редко обновляются, потому что их функциональность происходит из модулей, которые могут быть обновлены по желанию. После установки агента им можно управлять из веб-приложения IBM UrbanCode Deploy.
Агенты являются важной частью масштабируемости в IBM UrbanCode Deploy. Путем добавления дополнительных агентов производительность и мощность системы увеличивается почти экспоненциально, и она может быть масштабирована таким образом в соответствии с даже крупнейшим предприятием.