Contenido de mucho valor donde logramos agrupar a los protagonistas y especialistas teóricos/ prácticos de este nuevo enfoque arquitectónico para agilizar los procesos informáticos ligados a los negocios denominado “Contenedores y Microservicios”. En esta oportunidad se trata de un exitoso proveedor de talla mundial, Red Hat, dos catedráticos de la Universidad Católica y de un experimentado integrador de esta clase de soluciones de la empresa Zenware. Entérese pormenores de este informe especial que por su raudal de contenido e importancia, lo entregaremos en dos armadas.
Contenedores y microservicios: optimización para satisfacer las cambiantes necesidades (Parte I)
Con ambos elementos, la infraestructura virtualizada y la arquitectura de aplicaciones tienen dos aliados estratégicos.
(americasistemas.com.pe. Lima, Perú – 13 de octubre 2021) Pocas personas en el mundo conocen cómo funcionan los sistemas informáticos 24×7, para que los procesos en los negocios no se vean afectados. En esa línea, emplear los microservicios es la tendencia competitiva en la arquitectura de los sistemas para llevarlos adelante.
No por gusto algunos entendidos de la industria TIC aseguran que los contenedores y los microservicios son la predisposición progresista en el mundo de la tecnología.
Al respecto, Rubén Wong Delgado, gerente general de Zenware Latam, expresó que los microservicios “son pequeños servicios independientes unos de otros, donde se comunican a través de API’s (Application Programming Interfaces), lo cual hace más fácil y rápido el desarrollo y escalamiento de aplicaciones”.
“En el caso de una arquitectura de microservicios, la aplicación se crea con base en componentes independientes, donde cada proceso se ejecuta como un servicio, los mismos que se comunican a través de API’s que deben ser ligeras. De esta forma, cada servicio se puede implementar, escalar y soportar de forma independiente”, añadió.
Por su parte, en el sector tecnológico, los contenedores, que actúan de manera similar a los contenedores físicos empleados en los barcos de carga, “abstraen de la aplicación un servicio y sus procesos del sistema operativo, en otras palabras, es una forma de virtualización de los servicios y procesos de las aplicaciones del sistema operativo”, enfatizó Wong, tras destacar que “los contenedores permiten aislar, modernizar, implementar y dar soporte a los microservicios y las aplicaciones distribuidas”.
En síntesis, la contenerización “es la acción de crear contenedores, proceso que consiste en extraer el servicio que se precisa ejecutar, junto con sus dependencias y toda su configuración, y separarlo del sistema operativo”, resaltó.
Para el ejecutivo, los contenedores son importantes porque ofrecen un nuevo enfoque en la arquitectura del desarrollo, ya que son más ligeros, permiten ser más eficientes en las inversiones y gastos de hardware, y ayudan al equipo de TI a estar menos enfocado en los sistemas operativos y el hardware (desde el punto de vista del desarrollo), así como al equipo de desarrollo a ser más ágil y entregar aplicaciones portables.
Al respecto, el ingeniero José Luis Bugarin, Solution Architect en Red Hat Perú, sostuvo que las tecnologías de contenedores y microservicios reparten un gran programa computacional en una serie de partes mucho más pequeñas, cada una realizando una función específica.
“Una plataforma de contenedores funciona igual que cualquier servidor de aplicaciones, pero requiere una capacidad de cómputo más pequeña. De esta forma, los contenedores nos permiten ejecutar grandes y complejas aplicaciones de forma eficiente y flexible, reduciendo la inversión en hardware, o derechamente pasar a operar sobre entornos de nube”, anotó.
Ofertas más económicas
Sobre la utilidad de los contenedores, el ingeniero Felipe Solari Agüela, jefe del Laboratorio de Ingeniería Informática, de la sección Ingeniería Informática del departamento de Ingeniería, de la Pontificia Universidad Católica del Perú (PUCP), dijo que, “desde el punto de vista operativo, los contenedores son útiles para los procesos de migraciones on-premise a la nube y la automatización del escalamiento, y, desde el punto de vista del ciclo de desarrollo del software, es útil para el control de dependencias y versiones de componentes, automatización de integración continua y la gestión adecuada de la seguridad de los entornos de desarrollo, pruebas y producción”.
Aseguró que se requiere que el personal operativo conozca las bases de la tecnología, para la ejecución de contenedores, y herramientas de monitoreo apropiadas. “Gracias a los contenedores podemos migrar a ofertas más económicas en máquinas virtuales en la nube, realizar cambios mayores en los sistemas de forma gradual y simplificar la configuración de infraestructura, de acuerdo a la demanda que tenga el servicio, así como aumentar su garantía de disponibilidad”.
En cambio, Bugarin mencionó que las compañías de todos los rubros necesitan crear productos donde el componente principal sea la tecnología. “Las plataformas de contenedores entregan la flexibilidad necesaria y ayudan a acelerar los ciclos de desarrollo e innovar, pues permiten fallar rápido y evolucionar constantemente”, agregó.
Mayor portabilidad
El empleo de los contenedores, según Rubén Wong, brinda menor consumo de recursos de hardware, mayor portabilidad local y/o en la nube, ejecución confiable o constante y continuidad operativa.
“Si comparamos la virtualización de servidores versus los contenedores, estos últimos son mejores para aplicaciones en la nube y/o multinube, microservicios, aplicar metodología DevOps y tener ambientes más ligeros de consumo de hardware”, exclamó.
Por su parte, el ingeniero Solari afirmó que la tecnología de contenedores permite encapsular en el contenedor los requisitos de software, librerías, versiones de los componentes, etc.; haciendo que sea mucho más fácil y efectivo el traslado desde el desarrollo hasta las pruebas finales y a producción. “Es notable la mejora en los procesos de inducción del personal responsable de los desarrollos cuando enfrentan la curva de aprendizaje, debido a que la complejidad del software está dividida y mejor documentada en los casos de microservicios y contenedores”.
Del mismo modo, el especialista de Red Hat Perú advirtió: “Al implementar tecnologías de contenedores y microservicios las empresas deben cambiar sus paradigmas para insertarse en estos ciclos de evolución constante. Por eso, este proceso debe considerar también el cambio cultural, adoptando metodologías como DevSecOps”.
De otro lado, señaló que la virtualización es un estadio -técnicamente una capa de abstracción- anterior a los contenedores. “Por lo general, las plataformas de contenedores están montadas sobre máquinas virtuales. Hoy usamos la virtualización para montar las plataformas de contenedores, como el caso de Red Hat OpenShift, una forma eficiente, simple y rápida de hacer una modernización de TI”.
Positiva relación costo-beneficio
Con referencia a la posibilidad de dividir las aplicaciones para ofrecer microservicios, Felipe Solari manifestó que eso “depende mucho de la aplicación en sí y, además, si ya se tiene una aplicación desarrollada y quiere transformarse a microservicios”.
“Realmente es muy positiva la relación de costo-beneficio transformar aplicaciones monolíticas hacia una aplicación basada en microservicios. Es ideal y un beneficio exponencial en aquellos escenarios que tienen mucha lógica de negocio y funcionalidades múltiples para una gran variedad de usuarios”, indicó.
A su turno, sobre la posibilidad de dividir las aplicaciones para brindar microservicios, Wong Delgado comentó que en caso se tuvieran aplicaciones heredadas, se debe hacer un análisis para determinar si pueden ser contenerizadas o escritas nuevamente, lo cual dependerá del sistema operativo, el lenguaje de programación, la arquitectura de la aplicación, entre otros motivos.
En relación con este tema, el Solution Architect en Red Hat Perú puntualizó que antes de hacer una migración hacia microservicios, cada cliente debe evaluar su situación particular, priorizar sus objetivos y su realidad particular, para desarrollar luego un plan integral y eficiente. “En mi experiencia, recomiendo priorizar las aplicaciones basadas en Java, pues usualmente cumplen funciones críticas para el negocio, y gracias a nuestro servidor de aplicaciones JBoss, podemos llevarlas muy rápidamente hacia contenedores y microservicios”, consideró.
Nota del editor:
En la siguiente edición proseguimos con la publicación de la segunda parte del presente informe, cabe destacar que el ingeniero José Montestruque (PUCP) también colaboró con algunos alcances brindados por Felipe Solari.
Rubén Wong recomienda a las empresas que quieren migrar de sistemas heredados a microservicios, leer la siguiente información: https://47jaiio.sadio.org.ar/sites/default/files/ASSE-2.pdf.