Technology 13 octubre 2021

Contenedores y microservicios

Contenedores y Microservicios (II Parte)

Contenedores: Informe Especial( Fuente :americasistemas.com.pe. Lima, Perú – 20 de octubre 2021)

Contenedores y microservicios: optimización para satisfacer las cambiantes necesidades en las infraestructuras tecnológicas de las empresas

La arquitectura de TI tiene un nuevo paradigma que lo representa y las empresas deben conocer sus aplicaciones.

Fuente : (americasistemas.com.pe. Lima, Perú – 20 de octubre 2021) En la segunda parte de este especial de América Sistemas, Rubén Wong Delgado, gerente general de Zenware Latam; 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); y el ingeniero José Luis Bugarin, Solution Architect en Red Hat Perú, nos ofrecen sus puntos de vista sobre la realidad de los contenedores y los microservicios en las infraestructuras tecnológicas de las empresas.

Sobre la eventual dificultad de migrar hacia una arquitectura de microservicios, José Luis Bugarin dijo que “no es necesariamente complicado, siempre que se usen herramientas correctas y, sobre todo, se desarrolle junto al cliente una estrategia de arquitecturas que puedan ir a microservicios”.
“Antes de invertir en la tecnología, debemos invertir tiempo en planificar nuestra estrategia de nube. Además, debemos considerar que dicha estrategia puede y debe estar en evolución y evaluación constantemente”, acotó.

Por otra parte, Bugarin expresó que una de las grandes ventajas de implementar un microservicio es que, ante un eventual error operativo, solo se verá afectada la funcionalidad que ejecuta el microservicio. “Es igualmente importante considerar ciertos patrones y buenas prácticas, para evitar dependencias no deseadas, al momento de desarrollar una arquitectura de microservicios”, agregó.

Diferentes lenguajes
En el caso de que existan desarrollos en diferentes lenguajes y la posibilidad que se produzcan inconvenientes entre los microservicios, Felipe Solari Agüela subrayó: “Los contenedores que implementan microservicios pueden estar desarrollados en diferentes lenguajes, plataformas, versiones de software, etc.; puesto que las interconexiones entre ellos se manejan en formas estandarizadas”.
Adicionalmente, Rubén Wong Delgado señaló que, si una compañía tiene diferentes microservicios o contenedores, sin importar el lenguaje de programación, se hace necesario tener una plataforma de gestión y orquestación de contenedores de forma armónica, lo cual facilita la automatización y escalamiento de cargas de trabajo de contenedores para ambientes productivos.
A su turno, el especialista de Red Hat Perú explicó que la arquitectura de microservicios y contenedores permite que cada funcionalidad actúe de manera independiente y modular, por lo que pueden interactuar y operar coordinadamente, sin importar el lenguaje de programación de cada uno. “En este modelo, lo que importa es la comunicación y estandarización de los contenedores, es decir, cómo intercambian información entre ellos. Esto se hace a través de APIs o mallas de servicios (service mesh)”, comentó.

Mito o realidad
¿Es cierto que contar con una arquitectura de muchos microservicios afectan la administración? “Depende mucho de la arquitectura definida y de tener la solución adecuada para la gestión de contenedores en la empresa. Por ejemplo, debemos definir dónde se ejecutarán los contenedores; si se tiene más de una plataforma de gestión de contenedores; y la arquitectura de los microservicios, del hardware y/o recursos de nube”, anotó Rubén Wong.
En cambio, Solari Agüela advirtió que los microservicios y contenedores permiten subdividir la administración, de manera que el enfoque administrativo también se adecue a estas tecnologías, con herramientas apropiadas para el monitoreo y control. “Muy por el contrario, favorece a la especialización de analistas de negocio, de los gestores de entornos de software y de los operadores del mismo”, precisó.
Además, Bugarin puntualizó que una implementación de microservicios debe ir acompañada de una serie de herramientas que faciliten esta administración. “Red Hat OpenShift facilita la instalación y la gestión de contenedores, sin importar la escala de la tarea de procesamiento; y tanto a nivel de aplicaciones, como en gestión de proyectos, es muy sencillo de utilizar”, relató.

“La era de los microservicios”
El directivo de Zenware Latam informó que el mundo se encuentra en “la era de los microservicios”, y que el Perú está próximo a ingresar a este momento y que no depende del tamaño de la empresa ni del sector industrial de la misma, sino de la necesidad o del mercado.
“Mas allá de la complejidad de cada empresa, la migración hacia los microservicios depende de la estrategia para desplegar los contenedores como dimensionamiento de catálogos, tráfico a soportar, cantidad de sistemas o microservicios a integrar, logística, medios de pago y complejidad propia del negocio”, recalcó.
Mientras tanto, el jefe del Laboratorio de Ingeniería Informática de la PUCP enfatizó que la tecnología de los microservicios permite el escalamiento vertical y horizontal de manera muy flexible, “por lo que una pequeña empresa puede crecer conforme sus necesidades, y una gran empresa lograr un buen balance en el uso de los recursos con que ya cuenta”.
En esa misma línea, el Solution Architect en Red Hat Perú sostuvo que, “para cualquier tipo de empresa, los microservicios constituyen una nueva arquitectura de desarrollo de aplicaciones”, y que “Red Hat OpenShift es la plataforma líder a nivel global para la orquestación de contenedores”.

Proveedor ideal
En relación con los atributos que debe tener un proveedor de contenedores, Felipe Solari consideró que debe ser flexible en proporcionar las diferentes formas de orquestar, ejecutar y operar contenedores, o, también, máquinas virtuales.

“Se hace necesario que los proveedores también consideren el monitoreo y control, facilitar herramientas para la administración de los mismos, e incluso proporcionar API’s seguras para programar externamente la ejecución y control de los contenedores. Además, debe soportar la parametrización de contenedores y hacer una adecuada gestión de los recursos como CPU, memoria y almacenamiento”, refirió.
De acuerdo a Rubén Wong, un proveedor de microservicios debe conocer el negocio de su cliente, dominar el marco de trabajo y la filosofía de DevOps, controlar la arquitectura y el despliegue de los microservicios, y dominar la arquitectura de hardware de contenedores.
“Asimismo, este proveedor especializado tiene que ser capaz de definir una arquitectura de alta disponibilidad, protección y contingencia para las aplicaciones; dominar la arquitectura on-premise, híbrida, cloud y multicloud; tener staff de profesionales y desarrolladores con experiencia en lenguajes de programación soportados por contenedores y en SOAP y REST; y dominar la plataforma de gestión de contenedores escogida por la empresa”, mencionó.

A su vez, José Luis Bugarin afirmó que los contenedores es una tecnología que implica asumir una disposición a estar en evolución constante, pues cada trimestre aparece nuevas capacidades y funciones.
“Para ello Red Hat ofrece un acompañamiento constante reflejado en capacitaciones y consultorías, además de todo el respaldo y soporte empresarial de primer nivel en base al software open source. Nuestros servicios se fundamentan en una sólida experiencia a nivel global, y en la cultura abierta que nos distingue”, finalizó.

Nota del editor:
Importante señalar 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.

Contenedores y Microservicios (I Parte)

Contenedores: Informe Especial( Fuente :americasistemas.com.pe. Lima, Perú – 13 de octubre 2021)

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”.

 

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.

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ó.

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.


Artículos similares