Será Kubernetes Más sencillo Alguún Día

Kubernetes ha celebrado su décimo aniversario no hace mucho, y aunque la plataforma es más poderosa y extensible que nunca, la usabilidad aún sigue lidiando con su inherente complejidad.

Una Década de Crecimiento de Kubernetes

Kubernetes es ampliamente reconocido como el segundo proyecto de código abierto más activo a nivel mundial, justo después de Linux. Su papel en el ecosistema cloud-native es indiscutible, ya que soporta desde pipelines de CI/CD hasta modelos de aprendizaje automático y bases de datos distribuidas a gran escala.

A lo largo de la última década, Kubernetes ha evolucionado hasta convertirse en una plataforma robusta que soporta una amplia variedad de cargas de trabajo, incluidas cargas sin estado, con estado, trabajos por lotes, cargas escalables basadas en eventos y mucho más.

La Fundación Cloud Native Computing (CNCF) informó que el 84% de las organizaciones ya están usando Kubernetes en producción o evaluando su potencial, lo que subraya su dominio en la infraestructura cloud moderna.

Sin embargo, con todo el crecimiento en funcionalidad, la pregunta sigue siendo: ¿Se está volviendo Kubernetes más fácil de usar?

Progresos en la Usabilidad de Kubernetes

Expertos como Murli Thirumale, gerente general de Portworx, creen que Kubernetes se ha vuelto mucho más estable y fácil de usar, en gran parte porque ha superado a otros orquestadores de contenedores como Docker Swarm y Apache Mesos.

Con la victoria de Kubernetes en la carrera de orquestación de contenedores, la industria ha consolidado esfuerzos para estabilizar y mejorar la plataforma principal.

Los servicios gestionados, como Amazon EKS, Azure AKS y Google GKE, han reducido considerablemente la complejidad de gestionar clústeres.

Estas soluciones basadas en la nube ofrecen herramientas de gestión amigables para el usuario, facilitando que las organizaciones gestionen cargas de trabajo de Kubernetes sin lidiar con las complejidades de los clústeres autohospedados.

Además, los operadores de Kubernetes y avances como StatefulSets, controladores CSI y configuraciones de afinidad han mejorado significativamente la automatización, abordando casos de uso complejos como la gestión de bases de datos y la seguridad.

La Complejidad Sigue Existiendo

Aunque se han logrado mejoras, Kubernetes sigue enfrentando una complejidad significativa. Según el informe State of Production Kubernetes 2023 de Spectro Cloud, el 75% de los usuarios de Kubernetes informa que enfrentan problemas con sus clústeres, frente al 66% en 2022.

Los desarrolladores a menudo se encuentran abrumados por la gestión de múltiples clústeres, la resolución de problemas y la configuración de seguridad.

Una de las principales barreras para la adopción de Kubernetes es la empinada curva de aprendizaje. A pesar de que se ha vuelto más fácil comenzar, Kubernetes sigue siendo abrumador para las pequeñas empresas o proyectos pequeños.

Las encuestas indican que solo el 42% de las aplicaciones que se ejecutan en Kubernetes llegan a producción, lo que indica una brecha entre la adopción y el uso real.

Itiel Shwartz, cofundador de Komodor, señala que, si bien Kubernetes es más fácil de comenzar a usar, se vuelve cada vez más complejo cuando las organizaciones intentan llevar sus aplicaciones a producción.

La Creciente Complejidad del Ecosistema Cloud-Native ⚙️

El número de herramientas disponibles en el ecosistema cloud-native complica la gestión de Kubernetes. El Cloud Native Landscape de la CNCF ahora incluye más de 200 proyectos, lo que crea confusión entre los desarrolladores que buscan la herramienta adecuada para su caso de uso específico.

Además, Kubernetes sigue careciendo de abstracciones adecuadas para simplificar el proceso de configuración. Tareas como la configuración de seguridad, la monitorización y las copias de seguridad a menudo requieren scripts o integraciones personalizadas.

Esta complejidad se ve amplificada por los riesgos de ciberseguridad asociados con los contenedores, así como los requisitos de cumplimiento como FIPS y FedRAMP, que exigen una atención cuidadosa a los detalles.

Kubernetes y las Cargas de Trabajo Legadas ⚡

Mientras que Kubernetes comenzó como un orquestador de contenedores, ha evolucionado hasta convertirse en una plataforma capaz de manejar cargas de trabajo más tradicionales.

La herramienta KubeVirt ahora permite que Kubernetes programe máquinas virtuales (VM), lo que permite integrar aplicaciones tradicionales con cargas de trabajo cloud-native.

Este desarrollo permite que las empresas aprovechen Kubernetes incluso para aplicaciones críticas de legado, como las que se utilizan en banca o manufactura.

La integración de cargas de trabajo legadas con entornos cloud-native representa un avance significativo, pero agrega más complejidad.

Estas aplicaciones requieren enfoques diferentes para la migración de datos, la copia de seguridad y la recuperación ante desastres, lo que aumenta la complejidad general de los clústeres de Kubernetes.

Kubernetes y las Cargas de Trabajo de IA

La capacidad de Kubernetes para manejar cargas de trabajo de IA es otra área donde la plataforma está viendo un aumento en la adopción.

Las aplicaciones de IA, especialmente las que involucran entrenamiento de modelos e inferencias, requieren infraestructura elástica, algo en lo que Kubernetes sobresale.

aunque existen desafíos al desplegar y gestionar modelos de IA en Kubernetes, particularmente en términos de escalabilidad y gestión de flujos de trabajo.

Kubeflow, un proyecto incubado por la CNCF, es una de las herramientas que intenta simplificar el proceso de desplegar modelos de aprendizaje automático en Kubernetes.

Aunque esta herramienta ayuda a abstraer algunas de las complejidades de la infraestructura, los desarrolladores aún enfrentan desafíos al integrar modelos de IA en los clústeres de Kubernetes a gran escala.

Kubernetes en el Edge

El futuro de Kubernetes no está solo en la nube; también se está extendiendo hacia la computación en el borde.

Versiones más pequeñas y ligeras de Kubernetes, como K3s y Bottlerocket, ahora se utilizan para implementaciones en el borde en entornos con recursos limitados o conectividad de red restringida.

Estos casos de uso en el borde están creciendo en industrias como IoT y aplicaciones militares, donde Kubernetes se utiliza en entornos como aviones de combate F-16 y buques de guerra.

La computación en el borde presenta desafíos únicos, incluyendo la necesidad de una gestión ligera de contenedores y la orquestación de miles de pequeños clústeres. Sin embargo, Kubernetes es cada vez más considerado una solución viable para estos casos de uso altamente específicos.

El Futuro de Kubernetes

Aunque Kubernetes sigue siendo una herramienta compleja, su evolución continua sugiere un futuro en el que la facilidad de uso siga mejorando.

Los servicios gestionados y las herramientas impulsadas por la comunidad están ayudando a cerrar las brechas de habilidades, mientras que las innovaciones en IA y aprendizaje automático están facilitando la gestión de los clústeres.

En los próximos años, el auge de la computación en el borde y el papel de Kubernetes en la infraestructura de IA seguirán impulsando los límites de lo que es posible con la plataforma.

En última instancia, el camino de Kubernetes hacia la facilidad de uso sigue en marcha.

La complejidad probablemente seguirá siendo un factor, pero a medida que Kubernetes sigue evolucionando, la esperanza es que la usabilidad eventualmente se ponga a la par con sus capacidades, haciendo que sea más accesible para los desarrolladores de todos los niveles.


Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario