Hace tres años, la comunidad celebró en OSCON el lanzamiento de la primera versión 1.0 de Kubernetes, lo que ahora es de hecho un sistema estándar para la orquestación de contenedores. Hoy lo celebramos, no solo para reconocerlo en el aniversario del proyecto, sino también para agradecer a la comunidad por el gran trabajo y la colaboración para impulsar el proyecto. Echemos una mirada retrospectiva a lo que ha hecho que este sea uno de los proyectos modernos de código abierto de más rápida evolución, cómo hemos llegado a su madurez y cómo esperamos lo que está por venir.
Kubernetes: una mirada atrás
Probablemente hayas escuchado que Kubernetes era un proyecto nacido en Google y basado en la infraestructura interna de la compañía conocida como Borg. Al principio, Google presentó el proyecto a Red Hat y nos pidió que participáramos en él y ayudáramos a construir la comunidad. En 2014, Kubernetes vio su primer lanzamiento alfa por parte de un equipo de ingenieros que buscaba simplificar la orquestación y gestión de sistemas desacoplando aplicaciones e infraestructura y desacoplando además aplicaciones de sus propios componentes.
Al mismo tiempo, empresas de todo el mundo se enfrentaban cada vez más a la presión de innovar más rápidamente y de presentar nuevas aplicaciones diferenciadas en mercados saturados. El interés de la industria comenzó a consolidarse en torno a Kubernetes gracias a su capacidad para soportar un desarrollo de software rápido e iterativo y el desarrollo de aplicaciones que podrían permitir el cambio en todos los entornos, desde local hasta la nube pública.
Antes de Kubernetes, el mundo de TI intentó abordar estas necesidades empresariales con las ofertas tradicionales de la Plataforma como Servicio (PaaS), pero con frecuencia estas soluciones eran demasiado dogmáticas en cuanto a los tipos de aplicaciones que se podían ejecutar sobre ellas y cómo esas aplicaciones eran diseñadas y desplegadas. Kubernetes proporcionó una plataforma abierta que permitió a los clientes implementar una gama más amplia de aplicaciones con mayor flexibilidad, y como resultado, Kubernetes se ha utilizado como un elemento básico tanto para los Contenedores como servicio (CaaS) y como las plataformas basadas en PaaS.
En julio de 2015, se lanzó Kubernetes 1.0 y nació la Cloud Native Computing Foundation (CNCF), un organismo de gobierno neutral para el proveedor destinado a alojar Kubernetes y proyectos de ecosistemas relacionados. Red Hat fue miembro fundador en el lanzamiento de CNCF y nos complace ser testigos de su crecimiento. También continuamos apoyando y contribuyendo con Kubernetes en la fase inicial, al igual que hicimos antes de CNCF, y estamos muy contentos de ser parte de estos hitos fundamentales.
Kubernetes como el nuevo Linux de la nube
Entonces, ¿qué hace que Kubernetes sea tan popular?
Es la demanda de las empresas para pasar a la nube híbrida y la infraestructura multicloud. Es la demanda de aplicaciones combinadas con la necesidad de admitir aplicaciones tradicionales y nativas de la nube en la misma plataforma. Es el deseo de administrar sistemas distribuidos con software contenedorizado y una infraestructura de microservicios. Es la necesidad de que los desarrolladores y administradores se centren en la innovación en lugar de simplemente mantener las luces encendidas.
Kubernetes tiene muchas de las respuestas para abordar estas demandas. El proyecto ahora proporciona la capacidad de auto-sanar cuando hay un problema, separar preocupaciones de desarrollador y operativas, y actualizarse en tiempo casi real.
Y, todo es código abierto, lo que lo pone a disposición de todos y permite a los contribuyentes de todo el mundo resolver mejor esta nueva era de desafíos informáticos de forma conjunta, en entornos abiertos, no protegidos por entornos en silos o plataformas propietarias.
El proyecto se saca adelante gracias a la comunidad de Kubernetes, una comunidad diversa con ideas innovadoras, disciplina, mantenimiento y un modelo de decisión basado en el consenso. En más de 25 años contribuyendo con proyectos de código abierto, que van desde el kernel de Linux hasta OpenStack, hemos visto pocos proyectos que puedan reclamar la velocidad de Kubernetes. Es un testimonio de la capacidad de los contribuyentes del proyecto para trabajar en colaboración para resolver una gran necesidad empresarial que Kubernetes ha movido tan rápidamente desde la versión 1.0 a un amplio apoyo del sector en tres años.
Kubernetes se ha ganado el apoyo de cientos de personas y empresas, grandes y pequeñas, incluidos los principales proveedores de servicios en la nube. Red Hat ha estado contribuyendo al proyecto desde que fue abierto en 2014, y hoy es el segundo contribuyente corporativo líder (solo detrás de Google) que trabaja y contribuye con el código del proyecto. Sin mencionar que somos los expertos detrás de Red Hat OpenShift, la plataforma empresarial Kubernetes más completa de la industria.
Hemos observado que Kubernetes se está volviendo casi tan omnipresente como Linux en el panorama de TI empresarial, con el potencial de servir como base para casi cualquier tipo de iniciativa de TI.
Principales hitos de Kubernetes
Algunos de los hitos más destacados a lo largo de los años incluyen contribuciones que lo hacen más extensible:
- Septiembre de 2015: el uso de Kubernetes de la Container Network Interface (CNI) ha permitido un rico ecosistema de opciones de red desde los primeros días de Kubernetes.
- Diciembre de 2016: la adición de Container Runtime Interface (CRI), la forma en que los contenedores arrancan y se detienen, fue un importante paso adelante del Kubernetes 1.5 y versiones posteriores, y ayudó a avanzar hacia contenedores y herramientas que cumplan con OCI.
- Enero de 2017: etcd v3, la columna vertebral de los sistemas distribuidos a gran escala creados por CoreOS y mantenidos en Red Hat, entró en producción en Kubernetes 1.6.
- Junio de 2017: las Definiciones de Recursos Personalizados (Custom Resource Definitions – CRD) se introdujeron para permitir la extensión API por parte de aquellos que están fuera de la plataforma central.
- Octubre de 2017: la estabilidad del control de acceso basado en roles (RBAC), que permite a los administradores controlar el acceso a la API de Kubernetes, ha hecho que Kubernetes sea aún más fiable con esta característica de seguridad que es valorada por las empresas. Alcanzó la estabilidad en Kubernetes 1.8 pero había sido ampliamente utilizado en la plataforma desde la versión 1.3.
- Marzo de 2018: la forma de proporcionar y consumir el almacenamiento ha avanzado en tres años con la disponibilidad de volúmenes locales persistentes (PV) y PV provisionados dinámicamente. A partir de este momento, la Interfaz de Almacenamiento de Contenedores (Container Storage Interface – CSI), que hace que el plugin layer de volúmenes de Kubernetes sea más extensible, se convirtió en beta este año en Kubernetes 1.10.
- Junio de 2018: La versión de Definición de Recursos Personalizados (CRD) se introdujo como beta en Kubernetes 1.11 y es un paso hacia la reducción de barreras y facilita la creación de operadores.
Menciones honoríficas
Pero, ¿qué pasa con las partes heroicas de Kubernetes que quizás no reciban los aplausos suficientes? Aquí hay algunas menciones honoríficas de nuestro equipo.
Kubernetes está diseñado para diversidad de cargas de trabajo
«El ámbito de las cargas de trabajo que potencialmente pueden/ podrían/ se podrán abordar necesita algo de reconocimiento«, comentó Scott McCarty, principal technology product manager, Linux containers de Red Hat. «No se trata solo de cargas de trabajo web; es mucho más que eso. Kubernetes hoy resuelve la regla 80/20. Imagine qué otras cargas de trabajo podrían llegar al proyecto”.
Kubernetes como eje central
«El hecho de que esté enfocado y sea una herramienta de bajo nivel, similar a los contenedores Docker o al kernel de Linux, es lo que lo hace tan interesante. También es lo que hace que no sea una solución en sí misma «, dijo Brian Gracely, director of OpenShift product strategy en Red Hat. «El hecho de que no es un PaaS y está diseñado para ser impulsado por la multi-cloud lo hace ampliamente utilizable«.
Kubernetes es extensible
«A medida que Kubernetes madura, el proyecto ha desplazado su atención para admitir un amplio conjunto de puntos de extensión que permiten un ecosistema de soluciones para construir sobre la plataforma. Los desarrolladores pueden extender la API de Kubernetes, probar el patrón y contribuir junto con una amplia comunidad«, dijo Derek Carr, senior principal software engineer and OpenShift architect en Red Hat, y Kubernetes Steering Committee member and SIG-Node co-lead.
Kubernetes trata de la colaboración
«Tras tres años, Kubernetes se muestra como uno de los esfuerzos de colaboración de código abierto más exitosos desde Linux. Habiendo aprendido las lecciones de anteriores iniciativas de colaboración a gran escala e intercomunitarias como OpenStack, la comunidad de Kubernetes ha logrado avanzar hacia un nuevo nivel de gestión efectiva que abarca diversidad y un espíritu de apertura, todo lo cual ha impulsado cantidades increíbles de innovación en todos los aspectos del proyecto«, dijo Diane Mueller, director, community development, Red Hat Cloud Platform.
Kubernetes: tres años de innovación colaborativa https://t.co/e2kshGlo2i https://t.co/XMFyn5KPrU
#Kubernetes: tres años de innovación colaborativa: Hace tres años, la comunidad celebró en… https://t.co/o17Ct5r82D
Kubernetes: tres años de innovación colaborativa: Hace tres años, la comunidad celebró en OSCON el lanzamiento de l… https://t.co/RRIhOCbpkc
#Kubernetes, el sistema #opensource que automatiza las operaciones de contenedores de #Linux. https://t.co/WMrXxt5axp