Un despliegue es el proceso de mover software (hablando en términos muy generales) a través de diferentes fases de pre-producción hasta la producción final. Por lo general, cada fase representa un paso cuya importancia es esencial, como el control de calidad de la producción. La complejidad surge del gran volumen de cosas que se despliegan, del número y la variedad de los destinos de despliegue, de los ciclos de despliegue cada vez más cortos y de la velocidad cada vez mayor de los cambios tecnológicos. En tanto que la virtualización proporciona alguna liberación al proceso, también, paradójicamente, aumenta los problemas con su aumento exponencial de los destinos de despliegue.
IBM® UrbanCode Deploy ayuda a resolver el problema proporcionando herramientas que mejoran la velocidad de despliegue al tiempo que mejoran su fiabilidad. Las herramientas de automatización del release de IBM UrbanCode Deploy proporcionan una visibilidad completa de los despliegues de n niveles, lo que permite modelar los procesos que orquestan despliegues complejos en cada entorno y puerta de aprobación. Las herramientas de diseño con la funcionalidad de arrastrar y soltar reducen el tiempo de diseño y simplifican la visualización de los procesos de despliegue de un extremo a otro y proporcionan una visión general: el qué, el cómo y el dónde del flujo de trabajo del despliegue:
En IBM UrbanCode Deploy, los elementos desplegables se combinan en agrupaciones lógicas denominadas componentes. Los procesos de componente despliegan los componentes, que constan de pasos configurados por el usuario, muchos tomados de integraciones con herramientas de terceros denominadas plug-ins. Los despliegues de varios elementos son gestionados por aplicaciones ensambladas por el usuario.
IBM UrbanCode Deploy representa los destinos de despliegue mediante lo que denomina recursos. Los recursos , como las bases de datos y los servidores, residen en los hosts. Los despliegues complejos pueden contener numerosos componentes que tienen como destino varios hosts. Los despliegues son gestionados por agentes que residen en los hosts. Los componentes pueden permanecer independientes unos de otros, lo que permite despliegues incrementales o dirigidos. Por supuesto, puede modelar los componentes como le convenga; IBM UrbanCode Deploy es flexible y funciona adaptándose a la forma de trabajar del usuario.
El servidor de IBM UrbanCode Deploy ofrece diferentes servicios, como interfaz de usuario, herramientas de configuración de componentes y aplicaciones, motor de flujo de trabajo y servicios de seguridad, entre otros. Muchos servicios están basados en REST.
IBM UrbanCode Deploy admite despliegues entre distintas redes con servidores de relé. Los servidores de relé permiten las comunicaciones entre redes.