El ABC de los contenedores en entornos de nube híbrida

En la medida en que los contenedores comienzan a volverse cada vez más populares entre los desarrolladores, también es necesario separar la paja del trigo. ¿En qué contextos aportan valor? ¿Cuáles son los pre-requisitos para su despliegue en entornos híbridos?

En uno de los tantos reportes de Gartner, de febrero de este año, el analista Arun Chandrasekaran señalaba que el ecosistema de contenedores “es inmaduro y carece de mejores prácticas operacionales”. Con todo, al mismo tiempo, la adopción de contenedores y Kubernetes “se está incrementando para la modernización de sistemas legados y aplicaciones nativas de nube”. Este doble estándar parece indicar que las ventajas percibidas en el uso de contenedores son altas, pero no todos han tenido el tiempo de explorar y aprehender esta tecnología.

En el ámbito local, observa Leonardo Horikian, Executive Product Manager de la unidad de Cloud en Huawei Argentina, “los clientes que estamos visitando recién están empezando a usar contenedores. Recién están explorando el tema”. Las únicas excepciones se dan en organizaciones de perfil tecnológico de cierta magnitud (piénsese en un Mercadolibre.com, por ejemplo), que vienen usando esta tecnología desde hace un lustro.

Horikian se apresura a señalar las diferencias entre contenedores y máquinas virtuales (en inglés: VMs). Las VMs se montan sobre servidores físicos, los cuales tienen su propio sistema operativo y sobre éste corriendo el hipervisor. A su vez, cada máquina virtual tiene su propio sistema operativo. Esto implica cierta duplicación en los recursos, admisible en el marco de sistemas monolíticos —donde por ejemplo separamos el frontend de un web server y de una base de datos, cada cual en una máquina virtual específica—, para el uso eficiente de los recursos de ese servidor físico.

“En los contenedores, ya no tenemos esa capa de virtualización —aclara Horikian—. Los contenedores utilizan directamente los recursos de la VM o del servidor físico”. Los contenedores son una imagen en ejecución, y esa imagen está compuesta por diferentes capas. En el caso de un frontend de una página web, por ejemplo, en la capa inferior del contenedor está el webserver Apache, en otra capa está el PHP, y habrá también otras capas destinadas a librerías o el runtime. Este empaquetamiento de todas las capas es la que permite que la funcionalidad corra sin problemas. “Esa imagen tiene todo lo necesario para que ese frontend pueda ejecutarse sin ningún error, esté donde esté”.

Es precisamente ese “ejecutarse sin ningún error, esté donde esté” lo que hace que los contenedores sean especialmente apropiados para los ambientes híbridos, habida cuenta de las ventajas que presentan respecto de las migración de máquinas virtuales o el montaje de un servicio sobre nuevas máquinas virtuales. Otras ventajas de los contenedores respecto de las VMs es que las instancias de Docker son mucho más livianas que una VM, y al mismo tiempo son extremadamente consistentes, todo esto desarrollado con tecnología abierta.

Para entender el ámbito de aplicación de estos contenedores, Horikian recorre la historia del desarrollo del software. “Comenzamos haciendo aplicaciones monolíticas, luego en capas, y hoy hablamos de aplicaciones segmentadas en microservicios”. Si se toma como ejemplo un gran portal web, todo eso que hace el portal se atomiza en servicios muy pequeños, cada uno de los cuales tiene su propia bvase de datos, su propio frontend, sus propias APIs. De hecho, la comunicación entre un microservicio y otro se da a través de estas APIs. Así, cada uno de los microservicios puede estar montado sobre un contenedor.

Contenedores en la nube

Huawei ofrece en su nube el servicio de contenedores con tecnología Docker (que es la más ampliamente aceptada, además de ser de código abierto), en tanto que la orquestación de estos contenedores (es decir, la capa que establece la comunicación entre los microservicios, que puede gestionar los contenedores y garantizar la alta disponibilidad, entre otros procesos) la hace con Kubernetes.

Con todo, la nube de Huawei ofrece un diferencial respecto de otros grandes jugadores globales de nube pública. “Nosotros, en América Latina estamos presentes en la Argentina, Chile, Perú, Brasil y en México. Y en estos países tenemos nodo local, con lo cual podemos ejecutar el servicio de contenedores en la nube localmente. Esto soluciona el problema de la latencia”, apunta Horikian.

La disponibilidad de nodos locales también permite el diseño de arquitecturas híbridas (por ejemplo, el frontend podría estar en la nube, en tanto que la base de datos podría permaneces on premises) que funcionarán fluidamente. Dependiendo de la tolerancia a la latencia de los servicios, este factor se vuelve crítico, aunque no es el único. Horikian aclara: “Además nuestra nube está basada en OpenStack. Al ser una arquitectura abierta permite la comunicación híbrida a través de APIs”.

Etiquetas
Mostrar más
Alejandro Alonso

Alejandro Alonso

Periodista especializado en ciencia y tecnología. Trabajó en publicaciones como Banqueros & Empresarios, Telecomunicaciones & Negocios, Customer Service, Prensa Económica, Computerworld, e Insider, entre otras.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Close