Deployment Avanzado

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automation Server > Automation Server - configuración y administración > Configuración del proyecto inicial > Deployment de procesos y nuevas versiones >

Deployment Avanzado

Introducción

Bizagi presenta una herramienta de Deployment Avanzado como alternativa al Deployment-en-un-clic que se ofrece desde Bizagi Studio, para realizar el Deployment de los Procesos en situaciones donde hay requerimientos sofisticados.

Para más información sobre el Deployment-en-un-clic (donde Bizagi asiste y realiza automáticamente el despliegue de paquetes de información), consulte el Deployment de sus procesos.

 

¿Cuándo utilizar el Deployment Avanzado?

El Deployment de los Procesos se realiza una vez se haya completado la fase de automatización, para publicar uno o más Procesos implementados hacia el ambiente de pruebas y el ambiente de producción.

El Deployment Avanzado cubre escenarios avanzados con requerimientos de Deployment tales como:

 

1. Proyectos que requieren de un Deployment fuera de línea (offline).

Llevar a cabo un Deployment offline se requiere cuando no hay conexión de red entre el ambiente de desarrollo (donde está Bizagi Studio), y el ambiente final de producción (p.e, podrá ubicarse en un servicio en la nube, en un data center en otro dominio y red, etc).

 

2. Proyectos con automatización de procesos en un cronograma en paralelo.

Aplica para proyectos a gran escala con un gran número de desarrolladores que automatizan varios procesos los cuales van quedando completos en diferentes momentos.

Este caso aplica cuando se quieran publicar unos procesos listos mientras se continúa la implementación de otros, y no se quiere detener su avance mientras se realiza el deployment.

 

3. Proyectos que manejan más de los 3 ambientes por defecto.

Aplica dependiendo de la naturaleza de los procesos, y para aquellos que son de misión crítica y que a nivel corporativo exigen que se utilicen más de los 3 ambientes que se presentan por defecto.

El Deployment-en-un-clic de Bizagi considera el ambiente de desarrollo, junto con un ambiente de pruebas y uno de producción.

Al utilizar ambientes adicionales como por ejemplo una réplica de producción, o staging, deberá utilizar el Deployment Avanzado.

 

4. Proyectos donde se desee conservar cierta información.

El Deployment Avanzado provee un procedimiento más flexible que el deployment tradicional, dado que habilita una serie de opciones para revisar o modificar la información que será llevada desde desarrollo hacia el ambiente destino (pruebas o producción).

Es muy útil cuando los usuarios avanzados conocen bien qué necesitan publicar y qué no.

De esta manera, todos los objetos de Bizagi (Entidades, reglas, formas, etc) pertenecientes a uno o más Procesos pueden seleccionarse de manera explícita, o desmarcarse (para no ser tenidos en cuenta) en el deployment.

Esto incluye la posibilidad de preservar los casos de prueba de un ambiente de pruebas.

 

 

¿Cómo funciona?

En breve, el Deployment Avanzado mediante su herramienta, le permitirá seleccionar los procesos y subprocesos a publicar al ambiente de pruebas o de producción, a través de un set de 4 archivos ejecutables. Este procedimiento asegura que la metadata del ambiente de desarrollo sea desplegada al ambiente objetivo. Esto significa que el Deployment Avanzado configura su ambiente objetivo con todo lo que necesita para ejecutar su aplicación, pero no introduce data a dicho ambiente.

 

Puede de manera opcional:

Incluir otros objetos (no necesariamente atados a los Procesos seleccionados), para llevarlos en el deployment.

Excluir objetos para los cuales tiene la certeza que no desea llevarlos en el deployment.

 

Esta información es exportada a un paquete de Deployment de Bizagi (un archivo utilizando una extensión .bex).  

 

El archivo .bex se lleva al ambiente de producción, y es utilizado para analizar y visualizar lo que se va a importar al ambiente destino (se pueden revisar los objetos que serán llevados en el deployment), de manera que se pueda asegurar que la estructura e información que va a quedar en pruebas o producción sea la adecuada.

Este análisis realiza una comparación contra la Base de datos de destino, modificándola.

 

Importante

Antes de continuar, considere las siguientes implicaciones:

 

1. Deployment inicial podrá hacerse con el Deployment-en-un-clic

Cuando ejecuta sus procesos sobre una plataforma de .NET, se recomienda realizar el primer Deployment (puesta en marcha inicial) a través del Deployment-en-un-clic.

De esta manera Bizagi asistirá en la creación del ambiente destino (el Portal, servicio Scheduler y la Base de datos), y permitirá que Bizagi valide ciertos objetos y la existencia del ambiente de producción.

Si definitivamente no es viable utilizar el Deployment-en-un-clic incluso para el primer Deployment, entonces tendrá que crear la base de datos en blanco del modelo de Bizagi a través del Deployment Avanzado.

 

2. Si utiliza el Deployment Avanzado, deberá seguir utilizándolo siempre

Es posible decidir utilizar el Deployment Avanzado (su herramienta), aún si se ha utilizado el Deployment en un clic de Bizagi (pero no

viceversa).

Esto significa que una vez que se decida utilizar el Deployment Avanzado para su proyecto, no será posible cambiar y volver a utilizar el Deployment en un clic (el Deployment tradicional presentado en Bizagi Studio).

 

Para los proyectos que hayan usado la herramienta para el Deployment Avanzado, cualquier Deployment a futura deberá seguirse realizando por medio del Deployment Avanzado.

 

3. Siempre cree sus backups

Las herramientas de Deployment Avanzado no crean backups de manera automática de ninguna Base de datos.

Recuerde que como medida de contingencia, se recomienda siempre tomar backups de sus distintos ambientes del proyecto, antes de realizar cambios significativos en ellos.  El Deployment realiza cambios significativos, sea por medio del Deployment en un clic o el Deployment Avanzado.

 

Esto implica que si se utiliza el Deployment Avanzado, se debe tomar un backup del ambiente destino (pruebas o producción), por lo menos antes de aplicar cualquier cambio (p.e antes de importar paquetes).

 

4. No eliminar los objetos en el ambiente de Desarrollo a menos que no se utilicen en producción

Es muy importante que tenga en cuenta que al usar el Deployment Avanzado, Bizagi Studio no podrá realizar sus validaciones de dependencias.

Es decir, si un objeto ya existe en producción.

Ante esto, es sumamente indispensable que no se eliminen objetos en desarrollo que estén siendo usados en producción y que se creen nuevas versiones de Proceso cuando se requieran realizar cambios sobre los Procesos.

 

5. Planee y coordine el Deployment

Al igual que con el Deployment en un clic, se recomienda programar y llevar a cabo el Deployment Avanzado en un horario no laboral.

Esto promueve poder tener rápidas medidas de contingencia como la restauración de backups, en caso de que los resultados del Deployment no sean los esperados.

 

6. Considere ambientes adicionales si aplica

Dependiendo de la criticidad de los Procesos y si se deben hacer pruebas sobre las instancias existentes (casos en producción) o dependiendo del tipo de cambios que se realizaron en desarrollo, se puede optar por usar un ambiente alterno  (de Staging o Réplica de producción), para llevar a cabo pruebas de aceptación de usuario rigorosas enfocadas a los casos de producción.

Esto significa crear de antemano un ambiente temporal sólo con el propósito de probar cómo se comportaría el Deployment final en producción.

Al realizar esto mediante la restauración de un backup, se tendría una forma de revisar si algún cambio o información adicional debe llevarse en el Deployment.

Al utilizar este ambiente temporal, tenga en cuenta cambiar la configuración del Servidor SMTP, cualquier interfaz configurada, ECMs o Proveedores  de datos, las direcciones de correo configuradas para usuarios o en el negocio, etc,  para que no se disparen servicios reales de producción.

 

 

Perfil requerido

El usuario que lleve a cabo un Deployment Avanzado, debe contar con el siguiente perfil:

1. Tener un conocimiento básico sobre la estructura de un XML (para editar los archivos de configuración).

2. Tener acceso a las Base de Datos involucradas (con credenciales de súper usuario).

3. Tener conocimiento sobre automatización de Procesos en Bizagi (conceptos y Experto de Bizagi Studio).

Para más información sobre el tratamiento que Bizagi da a los objetos en un deployment, consulte el Deployment de los objetos.

4. Tener un entendimiento sobre los Procesos implementados en particular, en el proyecto.

Esto implica conocer sobre el propósito de los Procesos involucrados, sus versiones, modelo de datos, integraciones, configuración de seguridad, parámetros de ambiente y su administración (p.e políticas, alarmas, valores de entidades de parametrización), y el funcionamiento del Proceso en general.

 

Tenga en cuenta que para llevar a cabo pruebas adecuadas (de aceptación de usuario), se debe poder determinar cuál es el comportamiento esperado de los Procesos en el Portal de Trabajo de acuerdo a las diferentes posibilidades de negocio.

 

Realizar un Deployment Avanzado

Hay varias maneras de llevar a cabo un procedimiento de Deployment Avanzado:

 

Utilizando la interfaz gráfica de usuario.

Bizagi incluye una serie de herramientas para desplegar un proyecto. Esas herramientas son programas específicos que lo guían paso a paso en una interfaz gráfica donde usted provee toda la información requerida y opciones para personalizar su despliegue.

Refiérase a ejecutables del Deployment Avanzado para más información al respecto de un Deployment Avanzado de estas características.

 

Utilizando las utilidades de Línea de Comandos.

Bizagi provee un conjunto de herramientas de línea de comandos para desplegar un proyecto por completo desde una consola. Esto es especialmente útil si no tiene acceso a la máquina en donde se encuentra el ambiente objetivo y por lo tanto debe aplicar el deployment de manera remota, y también le permite la creación de scripts para automatizar su flujo de despliegue.

Refiérase a Deployment por línea de comandos para más información al respecto de un Deployment Avanzado de estas características.