¿Cómo modernizar las aplicaciones AIX en sitio con Red Hat OpenShift? - SSH Colombia

Para que una aplicación sea más portátil en varias nubes, debe ejecutarse en una plataforma unificadora.

Las empresas están modernizando sus aplicaciones para incorporar capacidades nativas de la nube que funcionan en un entorno híbrido de múltiples nubes. En su estudio de Impacto económico total, Forrester descubrió que los clientes aceleraron los ciclos de desarrollo hasta en un 66% mediante la modernización. Muy a menudo, estas organizaciones buscan múltiples proveedores de nube para alojar diferentes partes de sus aplicaciones mientras mantienen las cargas de trabajo de misión crítica internamente. Según Flexera 2020 State of the Cloud Report, el 93% de las empresas están siguiendo una estrategia multinube, lo que les ayuda a no estar atadas a un solo proveedor. Para que una aplicación sea más portátil en varias nubes, debe ejecutarse en una plataforma unificadora. Red Hat® OpenShift® es esa plataforma. OpenShift amplía Kubernetes con herramientas integradas para mejorar el desarrollo, las operaciones y la seguridad del ciclo de vida de las aplicaciones. Con OpenShift, los clientes pueden implementar cargas de trabajo consistentemente en múltiples nubes públicas o privadas con facilidad. ® Este artículo desglosará cómo se modernizó una aplicación bancaria que se ejecuta en AIX. Se construyó una nueva interfaz de usuario y se implementó en Red Hat OpenShift ejecutándose en el servidor IBM Power SystemsTM existente, mientras que la lógica empresarial continuaba ejecutándose en el backend de AIX.Se agregó una nueva funcionalidad que se ejecutó en tres nubes públicas diferentes: IBM CloudTM, Amazon Web Services y Microsoft® Azure. Todos estos entornos se gestionaron utilizando IBM Cloud Pak® for Multicloud Management, que también se ejecuta en POWER®.

Ventajas de los contenedores en la modernización de aplicaciones:

Uno de los enfoques más comunes para modernizar las aplicaciones heredadas, comienza por contenerlas para que se puedan migrar a la nube. Los contenedores son pequeños y livianos, lo que los convierte en una buena combinación para las arquitecturas de microservicios donde las aplicaciones se construyen con servicios más pequeños poco acoplados y que se pueden implementar de forma independiente. La combinación de microservicios como arquitectura y contenedores como plataforma es una base común para muchos equipos que adoptan DevOps como la forma en que crean, envían y ejecutan software. Debido a que los contenedores pueden ejecutarse de manera uniforme en cualquier lugar, son un entorno ideal para implementar aplicaciones en múltiples nubes públicas y locales.

CAMINOS HACIA LA MODERNIZACIÓN

Hay varios caminos hacia la modernización, que van de baja a alta complejidad. Algunas personas llaman “lift-and-shift” como la modernización de la aplicación, pero en realidad, es simplemente rehospedar la aplicación en una nueva plataforma, sin obtener sus beneficios. Una forma más inteligente es modernizar la aplicación e implementarla en una nube híbrida basada en estándares abiertos.

1.Refactorización

  • incluya el código existente en microservicios y agregue una nueva capa para admitir las mejoras.
  • El núcleo principal de la aplicación, es decir, la lógica empresarial, permanece sin cambios en la plataforma actual.

2. Reescritura completa

  • Reemplazar la aplicación actual por una nueva que esté escrita para la nueva plataforma.
  • Esta es con mucho, la opción más costosa y que consume más tiempo. Nuestro equipo eligió la refactorización porque agrega nuevas funcionalidades sin perder el beneficio de la plataforma Power Systems.

NUESTRO CAMINO HACIA LA MODERNIZACIÓN

PASO 1

Comenzamos con una aplicación de banca en línea monolítica que se ejecuta en IBM WebSphere®, conectada a una base de datos Db2®, y ambas se ejecutan en Power® / AIX.

PASO 2

Refactorizamos la aplicación en siete procesos comerciales débilmente acoplados, cada uno convertido en un microservicio (Figura 1). Estos procesos son iniciar sesión, obtener saldos de cuentas, procesar depósitos, procesar retiros, ver / actualizar el perfil del cliente, obtener el historial de transacciones y cerrar la sesión. Estos microservicios permanecieron conectados a la base de datos DB2 existente. La lógica empresarial se mantuvo sin cambios y continuó ejecutándose en AIX.

Figura 1: Refactorización de la aplicación bancaria en microservicios

PASO 3

Luego, desarrollamos una nueva interfaz de usuario (UI) que llama al microservicio respectivo para cada proceso comercial. Esta no tenía conexión directa con la base de datos. La nueva interfaz de usuario se implementó en OpenShift 3.11 en Power con dos particiones lógicas (LPAR) de Red Hat Enterprise Linux®, una para el nodo maestro y la otra para el nodo trabajador.

PASO 4

A continuación, agregamos tres aplicaciones independientes más que se ejecutan en diferentes nubes públicas:
• Un chatbot de servicio al cliente, impulsado por IBM Watson® en IBM Cloud
• Una aplicación de solicitud de alivio de pagos por pandemia en Microsoft Azure
• Una aplicación de encuestas de satisfacción del cliente en AWS

PASO 5

Por último, administramos todas las aplicaciones (tanto en las instalaciones como en las nubes públicas) utilizando Cloud Pak para la administración de múltiples nubes. Para administrar AIX LPAR, necesitábamos agregar Cloud Automation Manager al Cloud Pak. Consulte la Figura 2 para ver un ejemplo de cómo era la implementación de la aplicación modernizada.

Figura 2: Aplicación modernizada administrada por Cloud Pak para MCM

Gestión unificada en sistemas de energía

A través de este ejercicio, demostramos que las aplicaciones AIX se pueden modernizar «in situ» con bastante facilidad en la plataforma Power Systems. Este enfoque obtiene los beneficios de la contenedorización en hardware resistente, al tiempo que evita el riesgo asociado con la migración a una nueva plataforma. También reduce el riesgo y el costo asociados con la reconstrucción de la aplicación completa para la nueva plataforma. Las aplicaciones monolíticas se pueden convertir en microservicios fácilmente, especialmente si están escritas con un lenguaje de programación estructurado como Java®. Una vez en contenedores, se pueden agregar nuevas funciones fácilmente, incluso si se ejecutan en plataformas que no son de Power u otras plataformas de nube pública. Todas estas aplicaciones que se ejecutan en plataformas de nube heterogéneas, incluidas las LPAR de AIX, se pueden administrar en un solo lugar utilizando Cloud Pak for Multicloud Management. Esto ayuda a administrar los entornos multinube con un conjunto coherente y automatizado de políticas de configuración y seguridad en todas las aplicaciones.

Mejora la automatización al simplificar las operaciones de aplicaciones y TI y reduce los costos.

FUENTE: https://www.ibm.com/downloads/cas/YWB7L2KM