Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Integrar el controlador universal Stonebranch con AWS Mainframe Modernization
Creada por Vaidy Sankaran (AWS), Robert Lemieux (Stonebranch), Huseyin Gomleksizoglu (Stonebranch) y Pablo Alonso Prieto (AWS)
Repositorio de aws-mainframe-modernization-stonebranchcódigo | Entorno: PoC o piloto | Tecnologías: Mainframe; Modernización DevOps; Operaciones; SaaS |
Carga de trabajo: código abierto; Microsoft | Servicios de AWS: AWS Mainframe Modernization; Amazon RDS; Amazon S3 |
Resumen
Este patrón explica cómo integrar la orquestación de cargas de trabajo de Stonebranch Universal Automation Center (UAC)
Stonebranch UAC es una plataforma de automatización y organización de TI en tiempo real. El UAC está diseñado para automatizar y organizar los trabajos, las actividades y los flujos de trabajo en los sistemas de TI híbridos, desde los entornos locales hasta los de AWS. Los clientes empresariales que utilizan sistemas de mainframe están realizando la transición a infraestructuras y aplicaciones modernizadas centradas en la nube. Las herramientas y los servicios profesionales de Stonebranch facilitan la migración de los programadores y las capacidades de automatización existentes a la nube de AWS.
Al migrar o modernizar sus programas de mainframe a la nube de AWS mediante el servicio AWS Mainframe Modernization, puede utilizar esta integración para automatizar la programación por lotes, aumentar la agilidad, mejorar el mantenimiento y reducir los costos.
Este patrón proporciona instrucciones para integrar el programador Stonebranch
Resultados específicos
Este patrón se centra en proporcionar los siguientes resultados objetivo:
La capacidad de programar, automatizar y ejecutar trabajos por lotes de mainframe que se ejecutan en el servicio AWS Mainframe Modernization (tiempo de ejecución de Microfocus)
de Stonebranch Universal Controller . Supervise los procesos por lotes de la aplicación desde el controlador universal Stonebranch.
Inicie, reinicie, vuelva a ejecutar o detenga los procesos por lotes de forma automática o manual desde el controlador universal Stonebranch.
Recupere los resultados de los procesos por lotes de AWS Mainframe Modernization.
Capture los CloudWatch registros de AWS
de los trabajos por lotes en Stonebranch Universal Controller.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Una aplicación de demostración de Micro Focus Bankdemo
con archivos de lenguaje de control de tareas (JCL) y un proceso por lotes implementado en un entorno de servicios de modernización de mainframe de AWS (tiempo de ejecución de Micro Focus ) Conocimientos básicos sobre cómo crear e implementar una aplicación de mainframe que se ejecute en Micro Focus Enterprise Server
Conocimientos básicos del controlador universal Stonebranch
Licencia de prueba de Stonebranch (póngase en contacto con Stonebranch)
Instancias de Amazon Elastic Compute Cloud (Amazon EC2) para Windows o Linux (por ejemplo, xlarge) con un mínimo de cuatro núcleos, 8 GB de memoria y 2 GB de espacio en disco
Apache Tomcat, versión 8.5.x o 9.0.x
Entorno de ejecución de Java (JRE) o OpenJDK versión 8 u 11
Bucket de Amazon Simple Storage Service (Amazon S3)
para repositorio de exportación Amazon Elastic File System (Amazon EFS)
para las conexiones del agente Stonebranch Universal Message Service (OMS) para una alta disponibilidad (HA) Archivos de instalación de Universal Agent 7.2 de Stonebranch Universal Controller 7.2
AWS Mainframe Modernization
plantilla de programación de tareas (última versión publicada del archivo .zip)
Limitaciones
El producto y la solución se han probado y se ha validado su compatibilidad solo con OpenJDK 8 y 11.
La plantilla aws-mainframe-modernization-stonebranchde programación de tareas de integración
solo funcionará con el servicio de modernización de mainframe de AWS. Esta plantilla de programación de tareas solo funcionará en las ediciones para Unix, Linux o Windows de los agentes de Stonebranch.
Arquitectura
Arquitectura de estado objetivo
En el siguiente diagrama se muestra el entorno de AWS de ejemplo que se requiere para este piloto.
![El UAC de Stonebranch interactúa con el entorno de modernización de mainframe de AWS.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4a7bea37-0a5b-4663-902b-9b051e92f0cb.png)
El Universal Automation Center (UAC) de Stonebranch incluye dos componentes principales: Universal Controller y Universal Agents. Stonebranch OMS se utiliza como un bus de mensajes entre el controlador y los agentes individuales.
Universal Controller utiliza la base de datos UAC de Stonebranch. La base de datos puede ser compatible con MySQL, Microsoft SQL Server, Oracle o Aurora MySQL.
Servicio de modernización de mainframe de AWS: entorno de ejecución de Micro Focus con la BankDemo aplicación implementada
. Los archivos de la BankDemo aplicación se almacenarán en un bucket de S3. Este bucket también contiene los archivos JCL de la unidad central. Stonebranch UAC puede ejecutar las siguientes funciones para la ejecución por lotes:
Inicie un trabajo por lotes con el nombre del archivo JCL que existe en el bucket de S3 vinculado al servicio de AWS Mainframe Modernization.
Obtenga el estado de la ejecución del trabajo por lotes.
Espere hasta que se complete la ejecución del trabajo por lotes.
Obtenga los registros de la ejecución del trabajo por lotes.
Vuelva a ejecutar los trabajos por lotes fallidos.
Cancele el trabajo por lotes mientras se está ejecutando.
Stonebranch UAC puede ejecutar las siguientes funciones para la aplicación:
Iniciar la aplicación
Obtener el estado de la aplicación
Espere hasta que la aplicación se inicie o se detenga
Detener la aplicación
Obtener los registros del funcionamiento de la aplicación
Conversión de trabajos en Stonebranch
El siguiente diagrama representa el proceso de conversión de puestos de trabajo de Stonebranch durante el proceso de modernización. Describe cómo los cronogramas de trabajo y las definiciones de tareas se convierten a un formato compatible que puede ejecutar tareas por lotes de AWS Mainframe Modernization.
![Procese desde el mainframe hasta la conversión a programador de tareas en Amazon EC2 con archivos JCL en Amazon S3.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4d2ed890-f143-455e-8180-4d967b71c494.png)
Para el proceso de conversión, las definiciones de los trabajos se exportan desde el sistema de mainframe existente.
Los archivos JCL se pueden cargar en el depósito S3 de la aplicación Mainframe Modernization para que el servicio AWS Mainframe Modernization pueda implementarlos.
La herramienta de conversión convierte las definiciones de trabajo exportadas en tareas de UAC.
Una vez creadas todas las definiciones de tareas y los cronogramas de trabajos, estos objetos se importarán al controlador universal. A continuación, las tareas convertidas ejecutan los procesos en el servicio de AWS Mainframe Modernization en lugar de ejecutarlos en el mainframe.
Arquitectura UAC de Stonebranch
El siguiente diagrama de arquitectura representa un active-active-passive modelo de controlador universal de alta disponibilidad (HA). El UAC de Stonebranch se implementa en varias zonas de disponibilidad para proporcionar una alta disponibilidad y respaldar la recuperación de desastres (DR).
![Entorno Multi-AZ con DR y controladores, Amazon EFS, Aurora y un bucket S3 para copias de seguridad.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/3f94b855-c146-4fcb-902c-5d343438a558.png)
Controlador universal
Se aprovisionan dos servidores Linux como controladores universales. Ambos se conectan al mismo punto de conexión de la base de datos. Cada servidor alberga una aplicación Universal Controller y un OMS. La versión más reciente de Universal Controller se utiliza en el momento del aprovisionamiento.
Los controladores universales se implementan en la aplicación web de Tomcat como el documento ROOT y se distribuyen en el puerto 80. Esta implementación facilita la configuración del equilibrador de cargas de la interfaz.
El HTTP a través de TLS o HTTPS se habilita mediante el certificado comodín de Stonebranch (por ejemplo, https://customer.stonebranch.cloud
). Esto asegura la comunicación entre el navegador y la aplicación.
OMS
Un agente universal y un OMS (servicio de mensajes de Opswise) residen en cada servidor de Universal Controller. Todos los agentes universales desplegados por el cliente están configurados para conectarse a ambos servicios de OMS. OMS actúa como un servicio de mensajería común entre los agentes universales y el controlador universal.
Amazon EFS monta un directorio de bobinas en cada servidor. OMS utiliza este directorio compartido para mantener la información de conexión y tareas de los controladores y los agentes. OMS funciona en un modo de alta disponibilidad. Si el OMS activo deja de funcionar, el OMS pasivo tiene acceso a todos los datos y reanuda las operaciones activas automáticamente. Los agentes universales detectan este cambio y se conectan automáticamente al nuevo OMS activo.
Base de datos
Amazon Relational Database Service (Amazon RDS) aloja la base de datos de UAC y su motor es compatible con Amazon Aurora MySQL. Amazon RDS ayuda a gestionar y ofrecer copias de seguridad programadas a intervalos regulares. Ambas instancias de Universal Controller se conectan al mismo punto de conexión de la base de datos.
Equilibrador de carga
Se configura un equilibrador de carga de aplicación para cada instancia. El equilibrador de carga dirige el tráfico al controlador activo en cualquier momento dado. Los nombres de dominio de su instancia apuntan a los puntos finales del equilibrador de carga respectivos.
Direcciones URL
Cada una de sus instancias tiene una URL, como se muestra en el siguiente ejemplo.
Entorno | Instancia |
Producción | |
Desarrollo (no producción) | |
Pruebas (fuera de producción) |
Nota: Los nombres de las instancias que no son de producción se pueden configurar en función de sus necesidades.
Alta disponibilidad
La alta disponibilidad (HA) es la capacidad de un sistema de funcionar de forma continua y sin fallos durante un período de tiempo designado. Estos fallos incluyen, entre otros, el almacenamiento, las demoras en la respuesta de las comunicaciones del servidor causadas por problemas de la CPU o la memoria y la conectividad de red.
Para cumplir con los requisitos de alta disponibilidad:
Todas las instancias, bases de datos y demás configuraciones de EC2 se reflejan en dos zonas de disponibilidad independientes dentro de la misma región de AWS.
El controlador se aprovisiona a través de una imagen de máquina de Amazon (AMI) en dos servidores Linux en las dos zonas de disponibilidad. Por ejemplo, si está aprovisionado en la región de Europa eu-west-1, tiene un controlador universal en la zona de disponibilidad eu-west-1a y en la zona de disponibilidad eu-west-1c.
No se permite que ningún trabajo se ejecute directamente en los servidores de aplicaciones ni que se almacene ningún dato en estos servidores.
El equilibrador de carga de aplicación realiza comprobaciones de estado en cada controlador universal para identificar el controlador activo y dirigir el tráfico hacia él. En caso de que se produzcan problemas con un servidor, el equilibrador de carga pasa automáticamente al estado activo del controlador universal pasivo. A continuación, el equilibrador de cargas identifica la nueva instancia activa de Universal Controller a partir de las comprobaciones de estado y comienza a dirigir el tráfico. La conmutación por error se produce en un plazo de cuatro minutos sin pérdida de trabajo, y la URL de la interfaz sigue siendo la misma.
El servicio de base de datos Aurora compatible con MySQL almacena los datos de Universal Controller. Para los entornos de producción, un clúster de base de datos se crea con dos instancias de base de datos en dos zonas de disponibilidad diferentes dentro de una sola región de AWS. Ambos controladores universales utilizan una interfaz de conectividad de bases de datos Java (JDBC) que apunta a un único punto de conexión del clúster de base de datos. En caso de que una instancia de base de datos tenga problemas, el punto de conexión del clúster de base de datos apunta dinámicamente a la instancia en buen estado. No se requiere intervención manual alguna.
Backup y purga
El controlador universal Stonebranch está configurado para realizar copias de seguridad y purgar los datos antiguos siguiendo el programa que se muestra en la tabla.
Tipo | Programación |
Actividad | 7 días |
Auditoría | 90 días |
Historial | 60 días |
Los datos de backup anteriores a las fechas mostradas se exportan al formato.xml y se almacenan en el sistema de archivos. Una vez finalizado el proceso de copia de seguridad, los datos más antiguos se purgan de la base de datos y se archivan en un depósito de S3 durante un máximo de un año en el caso de las instancias de producción.
Puede ajustar este programa en la interfaz de la controladora universal. Sin embargo, el aumento de estos plazos puede provocar un tiempo de inactividad más prolongado durante el mantenimiento.
Herramientas
Servicios de AWS
AWS Mainframe Modernization es un servicio que le ayuda a modernizar sus aplicaciones de unidad central para convertirlas en entornos de tiempo de ejecución administrados nativos en la nube de AWS. Ofrece herramientas y recursos para ayudarle a planificar e implementar la migración y modernización.
Amazon Elastic Block Store (Amazon EBS) proporciona volúmenes de almacenamiento de nivel de bloque para su uso con instancias de Amazon EC2.
Amazon Elastic File System (Amazon EFS) le ayuda a crear y configurar sistemas de archivos compartidos en la nube de AWS.
Amazon Relational Database Service (Amazon RDS) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS. Este patrón utiliza la edición de Amazon Aurora compatible con MySQL.
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
Elastic Load Balancing (ELB) distribuye el tráfico entrante de aplicaciones o redes entre varios destinos. Así, por ejemplo, puede distribuir el tráfico entre instancias de Amazon EC2, contenedores y direcciones IP de una o varias zonas de disponibilidad. Este patrón utiliza un Equilibrador de carga de aplicación.
Stonebranch
Universal Automation Center (UAC)
es un sistema de productos de automatización de cargas de trabajo empresariales. Este patrón utiliza los siguientes componentes del UAC: Universal Controller
, una aplicación web Java que se ejecuta en un contenedor web de Tomcat, es la solución empresarial de programación de tareas y agente de automatización de cargas de trabajo de Universal Automation Center . El controlador presenta una interfaz de usuario para crear, monitorizar y configurar la información del controlador; gestiona la lógica de programación; procesa todos los mensajes enviados y enviados por Universal Agents ; y sincroniza gran parte del funcionamiento de alta disponibilidad de Universal Automation Center. Universal Agent es un agente
de programación independiente del proveedor que colabora con el programador de tareas existente en las principales plataformas informáticas, tanto antiguas como distribuidas. Se admiten todos los programadores que se ejecutan en z/Series, i/Series, Unix, Linux o Windows.
Universal Agent es un agente
de programación independiente del proveedor que colabora con el programador de tareas existente en las principales plataformas informáticas, tanto antiguas como distribuidas. Se admiten todos los programadores que se ejecutan en z/Series, i/Series, Unix, Linux o Windows. Integración con Stonebranch La extensión universal de aws-mainframe-modernization-stonebranch AWS Mainframe Modernization
es la plantilla de integración para ejecutar, monitorear y volver a ejecutar trabajos por lotes en la plataforma AWS Mainframe Modernization.
Código
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Descargue los archivos de instalación. | Descargue la instalación desde los servidores de Stonebranch. Para obtener los archivos de instalación, póngase en contacto con Stonebranch. | Arquitecto de la nube |
Lanzar la instancia EC2. | Necesitará unos 3 GB de espacio adicional para las instalaciones de Universal Controller y Universal Agent. Por lo tanto, proporciona al menos 30 GB de espacio en disco para la instancia. Agrega el puerto 8080 al grupo de seguridad para que sea accesible. | Arquitecto de la nube |
Compruebe los requisitos previos. | Antes de la instalación, haga lo siguiente:
| Administrador de la nube, administrador de Linux |
Instale Universal Controller. |
| Arquitecto de la nube, administrador de Linux |
Instale Universal Agent. |
| Administrador de la nube, administrador de Linux |
Agregue OMS a Universal Controller. |
| Administrador de Universal Controller |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Plantilla de integración de importación. | Para este paso, necesita la extensión universal de AWS Mainframe Modernization
Una vez importada la plantilla de integración, verá las tareas de AWS Mainframe Modernization en la sección Servicios disponibles. | Administrador de Universal Controller |
Habilite las credenciales que se pueden resolver. |
| Administrador de Universal Controller |
Iniciar la tarea. |
| Administrador de Universal Controller |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear una tarea para el trabajo por lotes. |
| Administrador de Universal Controller |
Iniciar la tarea. |
| Administrador de Universal Controller |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Copie las tareas. |
| Administrador de Universal Controller |
Tarea de actualizar. |
| Administrador de Universal Controller |
Cree un flujo de trabajo. |
| Administrador de Universal Controller |
Compruebe el estado del flujo de trabajo. |
| Administrador de universal Controller |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Corrija la tarea fallida y vuelva a ejecutarla. |
| Administrador de Universal Controller |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree la acción Iniciar aplicación. |
| Administrador de Universal Controller |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree la acción Cancelar Batch. |
|
Recursos relacionados
Información adicional
Iconos en el editor de flujos de trabajo
![La tarea RUNHELLO está en la parte superior, FOOBAR en el medio y las tareas restantes en el tercer nivel.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/837430ee-3159-4fe2-8e17-65168294ef1e.png)
Todas las tareas están conectadas
![RUNHELLO se conecta a FOOBAR, que se conecta a las tres tareas restantes.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/fe483348-9a6f-450b-87e6-ceae6b2bdaad.png)
Estado del flujo de trabajo
![Se produjo un error en la tarea FOOBAR y las tres tareas restantes están esperando.](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/5ea4e239-fbbe-4fa4-9ffa-b7a9443b7975.png)