Los contenedores Linux se han vuelto cada vez más populares como la forma más sencilla de implementar aplicaciones de software en la nube. Gracias al fenómeno de Docker, los contenedores se han convertido en servicios empaquetados en la nube. Sin embargo, los desarrolladores ahora se enfrentan a nuevas preguntas, como cómo orquestar todas estas aplicaciones en contenedores, cómo administrar los contenedores en múltiples nubes y si la computación sin servidor hará que todo esto sea obsoleto.
La buena noticia para los desarrolladores es que se está dedicando mucha energía a abordar todas estas preguntas. Un ejemplo reciente es la incorporación de Oracle a la Cloud Native Computing Foundation de Linux Foundation, que se enfoca en impulsar la adopción de la informática orientada a microservicios empaquetados en contenedores a escala empresarial. La herramienta de orquestación de contenedores Kubernetes es una tecnología destacada en CNCF.
Además de unirse a CNCF como miembro platino, Oracle ha lanzado Kubernetes en Oracle Linux, ha asignado ingenieros al proyecto Kubernetes y ha liberado varias herramientas de código abierto, incluyendo Smith, CrashCart y Terraform Installer para Kubernetes en Oracle Cloud Infrastructure. Estos movimientos son prometedores para los desarrolladores nativos de la nube que desean evitar la dependencia de un proveedor mientras trasladan sus cargas de trabajo a la nube.
El desafío de un enfoque de microservicios es que hay muchos más servicios que administrar, y estos servicios son efímeros a medida que se escalan hacia arriba y hacia abajo. “Sin automatización, orquestación y una capa de administración incorporada utilizando herramientas como Kubernetes, no se puede llevar esto al nivel empresarial”, dice Bob Quillin, vicepresidente de relaciones con desarrolladores para el Grupo de Contenedores Nativos de Oracle.
Con Kubernetes como ancla, Quillin predice que los proyectos de CNCF serán útiles para aplicaciones nativas de la nube, entrega continua en estilo DevOps y cargas de trabajo híbridas. “CNCF se formó en torno al concepto de un enfoque abierto, neutral en la nube y basado en estándares. Esa es la razón clave por la que nos hemos unido; es el centro de componentes de código abierto que ya tienen éxito en el campo”, dice.
Quillin conoce bien este panorama de nubes en constante cambio. En 2014, fundó StackEngine, una empresa de tecnología de contenedores que fue adquirida por Oracle en 2015. Su equipo con sede en Austin continuó sus esfuerzos y, en 2016, lanzó Oracle Container Cloud Service. Oracle y CNCF comparten el objetivo de respaldar Kubernetes y herramientas relacionadas para aplicaciones en contenedores a escala empresarial, en múltiples nubes.
Pero, ¿puede CNCF evitar el destino de Open Stack, un esfuerzo anterior para crear nubes privadas y públicas de código abierto que tuvo resultados mixtos y una adopción deficiente? El enfoque de CNCF está moldeado por la comunidad, dice Quillin, mientras que el de Open Stack fue definido más por los proveedores. “Tenían una pila compleja de componentes interconectados que resultó ser muy difícil de implementar en una empresa”, explica.
Varios equipos de ingeniería de Oracle están dedicados al esfuerzo de Kubernetes, especialmente en seguridad, redes y federación. TJ Fontaine, ex líder del proyecto Node.js, es ahora el principal contribuyente de Oracle a Kubernetes. Jon Mittelhauser, vicepresidente de ingeniería nativa de contenedores de Oracle, se une a la junta directiva de CNCF.
Quillin señala que CNCF va más allá de Kubernetes y que Oracle está utilizando varias herramientas prometedoras bajo el paraguas de CNCF, incluyendo Prometheus para monitoreo, Open Tracing para instrumentar código distribuido, gRPC para llamadas de procedimiento remoto y OCI, la Iniciativa de Contenedor Abierto. “Kubernetes es el niño mimado de CNCF. Pero para operacionalizar los contenedores, también necesitas rastrear, monitorear, depurar y controlar”, dice.
Pero, ¿qué significará la tendencia sin servidor para Kubernetes y los contenedores en general? Quillin explica que sin servidor y los contenedores son complementarios, no mutuamente excluyentes, y es probable que CNCF aborde cómo hacer que sin servidor funcione en múltiples nubes. “Sin servidor significa que comienzas a pensar más como un desarrollador, con la infraestructura cuidada por ti. Lambda de Amazon es notable, pero es una solución cerrada que solo se ejecuta en AWS”, explica Quillin. “No es viable hasta que se pueda usar en múltiples nubes o en las instalaciones. Estamos emocionados de trabajar con la industria para desarrollar una tecnología sin servidor abierta y neutral en la nube, y es probable que CNCF lidere ese esfuerzo”.
A medida que surgen más herramientas para aplicaciones nativas de la nube, los desarrolladores están adoptando el patrón de microservicios y aplicándolo a partes de monolitos existentes. Este patrón de arquitectura se basa en la integración y entrega continua, que son principios fundamentales de DevOps. Hoy en día, según Quillin, herramientas como Kubernetes y Docker están liderando la cultura. “La tecnología de contenedores es la aplicación estrella para DevOps porque está diseñada para conectar a los desarrolladores con la producción”, dice Quillin. “Un contenedor es el mejor artefacto para mover desde el portátil de un desarrollador hasta QA, puesta en escena y producción, por lo que es un verdadero facilitador”.


