Conecta con nosotros

A Fondo

Kubernetes cumple 10 años: pasado, presente y futuro de este sistema de orquestación de contenedores

Publicado el

Kubernetes cumple 10 años: pasado, presente y futuro de este sistema de orquestación de contenedores

Hace una década, el mundo de la computación en la nube experimentó una revolución con el nacimiento de una tecnología de orquestación de contenedores con un nombre peculiar: Kubernetes. En sus inicios pocos pensaban que iba a tener un peso tan importante como el que tiene en la actualidad, y un futuro tan prometedor. Pero en Google, donde este sistema nació, lo tenían muy claro. En la actualidad, este sistema open source se ha convertido prácticamente en un estándar de la orquestación de contenedores, y ha transformado de manera notable cómo se despliegan, gestionan y escalan todo tipo de aplicaciones.

Una de las características más destacadas de Kubernetes es el dinamismo. Los pods, o grupos de contenedores con almacenamiento y recursos de red compartidos de Kubernetes, se pueden escalar para crecer o decrecer en función de la demanda, y las cargas de trabajo se pueden programar y reprogramar en máquinas distintas, lo que sin duda aporta versatilidad al sistema de orquestación de contenedores, como se pretendía desde sus orígenes.

Kubernetes: los comienzos

La historia de Kubernetes comienza al inicio de la década pasada en Google. Allí, los ingenieros tenían que enfrentarse a problemas relacionados con la gestión de aplicaciones contenedorizadas a gran escala. Eran conscientes de que los contenedores eran ya muy importantes, pero también de que era necesario contar con un sistema que permitiese gestionarlos de manera más sencilla que lo que tenían hasta entonces.

Entonces ya era popular otro sistema de gestión de contenedores, Docker, y Google trabajaba con contenedores tiempo antes de la llegada de este, con un sistema que derivaría en Kubernetes. Tres ingenieros de Google, Craig McLuckie, Joe Beda, y Brendan Burn; plantearon en 2013 una idea a Urs Hölzle, el que entonces era el responsable de infraestructura técnica de Google.

Básicamente, le comentaron que querían desarrollar una versión a la externa de la herramienta que utilizaban a nivel interno para la orquestación de contenedores, para que todo el que necesitase un sistema de orquestación de contenedores pudiese utilizarla. Y además, hacer que fuese open source. Para su sorpresa, Hölzle les dijo que adelante.

Al hacer que fuese open source, si había cualquier problema con lo que luego se llamó Kubernetes, alguien podría avisarles de ello. Además, tenían intención de crear una comunidad de usuarios e ingenieros que mejorasen el proyecto, y que hiciese crecer el interés por él, lo que llevaría a más personas trabajando en su mejora en la comunidad, y a más número de usuarios.

A principios de junio de 2014 se celebró la primera DockerCon, y en ella se anunciaron oficialmente varios sistemas de orquestación, entre los que estaba Kubernetes. Entonces parecía que todas las empresas estaban desarrollando su propio sistema de orquestación. A los presentados en ella, entre los que estaban los de Apache, Red Hat, e incluso el de Facebook, se les unieron varios más en los meses siguientes.

A pesar de su creciente número, Kubernetes siempre consiguió captar la atención de los usuarios de contenedores, y desde un primer momento tuvo visos de imponerse a los demás con éxito. Más que nada porque dado que se inspiró en la herramienta de orquestación de contenedores que Google tenía desde 2003, conocida como Borg, contaba con un nivel de madurez que le faltaba a casi todos los demás.

Adopción y crecimiento de su comunidad: un proceso muy rápido

La naturaleza open source de Kubernetes, unida a su conjunto sólido de funciones lo convirtieron en un éxito instantáneo entre empresas y desarrolladores. En 2015, Kubernetes llegó a su versión 1.0, y Google se asoció entonces con la Linux Foundation para poner en marcha la Función Cloud Native Computing (CNCF), con Kubernetes como su tecnología semilla. Este paso se convirtió también en crucial para impulsar una comunidad centrada en Kubernetes, que llevó aún más rápido a su expansión.

Para 2017, aunque todavía quedaban en activo varios de los sistemas de orquestación de contenedores presentados con él, todo el sector de TI era consciente de que Kubernetes dominaría en el sector de las aplicaciones y cargas de trabajo nativas de la nube. En la actualidad, de la mano de la CNCF, hay ya cientos de programas nativos cloud que utilizan este sistema de orquestación, y todos los principales proveedores cloud confían en Kubernetes. Es la plataforma de orquestación de contenedores más destacada.

Kubernetes cumple 10 años: pasado, presente y futuro de este sistema de orquestación de contenedores

El impacto que ha tenido en el desarrollo nativo cloud, además, es muy destacado. Esto se debe a que planteó un nuevo paradigma para el despliegue y la gestión de aplicaciones, dejando que los desarrolladores se centrasen en tirar código en vez de en preocuparse por la infraestructura. Kubernetes elimina las complicaciones de la orquestación de contenedores, gracias a funciones como los despliegues y repliegues automatizados, la autorreparación y el escalado horizontal.

Además, Kubernetes es un sistema portable, lo que quiere decir que las aplicaciones desplegadas en él pueden ejecutarse en cualquier proveedor cloud o en infraestructura en local. Esto hace que sea perfecto para entornos de nube híbrida y multicloud. Esta flexibilidad han hecho que gane muchos seguidores en el mundo de la empresa, ya que les ayuda a evitar quedarse encerrados en el ecosistema de un proveedor, además de permitirles optimizar sus estrategias cloud con total flexibilidad.

Desde su creación, por otro lado, además de programas nativos cloud, Kubernetes ha sido el punto de partida de varias herramientas y proyectos que amplían sus funciones y capacidades. Entre ellos está el gestor de paquetes Helm, que simplifica el despliegue y la gestión de aplicaciones a través de historiales reutilizables. O el programa de avisos y monitorización del entorno para Kubernetes Prometheus.

El auge de Kubernetes ha sido también el origen de paradigmas de desarrollo nuevos. Como sucede con GitOps, que saca partido a Git como fuente dedicada a la gestión de aplicaciones e infraestructura declarativa.

Kubernetes: un vistazo a su futuro

Kubernetes no muestra signos de frenar o decrecer en el futuro. Al menos, a medio plazo. Esta plataforma sigue evolucionando, y sumando nuevas funciones y mejoras con regularidad. Además, su comunidad está explorando maneras de simplificar todavía más su experiencia de usuarios, de mejorar su seguridad y de impulsar su escalabilidad.

Otro avance notable que le espera a corto o medio plazo es su integración con la computación serverless. Con proyectos como Kubeless y Fission, las capacidades serverles están llegando a Kubernetes, lo que hace que los desarrolladores puedan crear y desplegar funciones como servicio sobre sus clústeres Kubernetes. La suma de serverless y Kubernetes promete ofrecer posibilidades nuevas también a las aplicaciones nativas cloud.

Las combinaciones de computación en el edge y Kuberbetes también están creciendo. A medida que hay más dispositivos y aplicaciones pasándose al edge, Kubernetes se va adaptando para ser compatible con despliegues en el edge. La comunidad de Kubernetes ya trabaja, de hecho, en proyectos de este tipo como KubeEdge o MicroK8s, con los que conseguir clústers de Kubernetes eficientes y ligeros que puedan ejecutarse en dispositivos en el edge.

Kubernetes cuenta con todos los ingredientes, por tanto, para tener un futuro más que asegurado. Tiene un ecosistema y una comunidad muy activos, que están innovando continuamente, lo que le da todo lo necesario para seguir evolucionando a la par que el sector nativo cloud durante los próximos años.

Lo más leído