Kubernetes se está convirtiendo en el tema más candente de la computación en nube. Como especialistas en Kubernetes, interactuamos con muchos líderes empresariales e ingenieros de software y descubrimos que solo unos pocos conocen Kubernetes.
Para ayudar a quienes desean obtener más información, ¡decidimos publicar una serie de vlogs en Kubernetes! En la serie «Kubernetes Vlog», repasaremos su documentación y te ayudaremos a familiarizarte con ella. En Medium, compartiremos un resumen de cada vídeo.
El vlog de Kubernetes estará en inglés y español. Cuemby ha estado organizando un grupo de Meetup con más de 300 miembros en Colombia y ha despertado un gran interés en la comunidad hispanohablante, pero hay menos recursos disponibles en español. ¡Por eso también ofreceremos la serie en español!
En este artículo, compartiremos con usted qué es Kubernetes y algunos de sus beneficios de alto nivel.
Antes de comenzar a obtener más información sobre Kubernetes, hagamos un breve resumen histórico sobre las implementaciones de aplicaciones para entender mejor los beneficios de Kubernetes y por qué hay tanto «bombo» en torno a él.
Antes de que Kubernetes estuviera en el horizonte, las empresas y organizaciones solían ejecutar aplicaciones en servidores físicos (créanme, ¡algunas empresas todavía lo hacen!).
Ejecutar aplicaciones en el metal desnudo, las personas se enfrentaban a problemas de asignación de recursos debido a la falta de límites de recursos entre las aplicaciones. Lo que significa que si se ejecutan varias aplicaciones en el mismo servidor físico, existe la posibilidad de que una aplicación ocupe la mayoría de los recursos, lo que podría provocar que otras aplicaciones tuvieran un rendimiento inferior o incluso que se bloqueara el servidor.
Para resolver este problema, las organizaciones ejecutarían cada aplicación en un servidor físico dedicado. Esta solución era costosa, ya que necesitaban mantener muchos servidores físicos, no era escalable y la mayoría de los recursos estaban infrautilizados.
Luego, la virtualización entró en escena. Con la virtualización, las personas pueden ejecutar varias máquinas virtuales (VM) en un único servidor físico, lo que permite el aislamiento entre las aplicaciones y las máquinas virtuales. Esto permite a las personas crear o eliminar fácilmente un clúster de máquinas virtuales con un conjunto predefinido de recursos. Piense en la máquina virtual como una máquina que ejecuta su propio sistema operativo y todos los demás componentes sobre el hardware virtualizado.
La virtualización también permite:
¡Ha llegado el momento de la revolución de los contenedores! Los contenedores son similares a una máquina virtual, pero «más ligeros», están aislados del host y de otros contenedores.
Por lo tanto, los contenedores se conocen como «livianos», ya que tienen una sobrecarga menor que las máquinas virtuales.
Los contenedores también proporcionan aislamiento de servicio entre contenedores, por lo que los contenedores pueden tener un acceso limitado a los recursos. Como los contenedores no están vinculados a la infraestructura en la que se ejecutan, puede moverlos entre nubes y distribuciones de sistemas operativos.
Con el auge de las aplicaciones en contenedores, hemos entrado en la era de Kubernetes. Kubernetes es un sistema de orquestación de código abierto para administrar cargas de trabajo y servicios en contenedores. Permite que las aplicaciones automaticen el despliegue, el escalado, la administración, la asignación de recursos y mucho más. Fue creado originalmente por Google a partir de quince años de experiencia trabajando con sistemas distribuidos, ahora cuenta con el respaldo de un ecosistema sólido y en crecimiento llamado CNCF (del que Cuemby es miembro de plata), cuyo objetivo principal es crear ecosistemas sostenibles para el software nativo de la nube. Kubernetes ha sido implementado por grandes empresas como Spotify, Capital One, Pinterest, Uber, y más, consulte más estudios de casos aquí: (https://kubernetes.io/case-studies/).
Aunque Kubernetes no es una plataforma como servicio, Kubernetes opera a nivel de contenedor, no a nivel de hardware, lo que permite a Kubernetes ofrecer algunas funciones de las que proporcionaría una PaaS típica, como implementación automatizada, escalado, equilibrio de carga, registro, monitoreo, etc. Kubernetes ofrece a los ingenieros de software una mayor flexibilidad para elegir las funciones que se ajusten a sus necesidades.
Cuando se construyen sistemas distribuidos, ¡el uso de contenedores es el camino a seguir! Sin embargo, la administración de contenedores en sistemas distribuidos es complicada y complicada.
¿A quién le gusta despertarse a las 3 de la mañana porque un contenedor o servicio se ha estropeado durante la producción?
¡Yo, desde luego, no! Es por eso que necesita una plataforma como Kubernetes que ayude a crear y administrar sistemas distribuidos sin problemas.
Al usar Kubernetes para sus aplicaciones, puede disfrutar de beneficios como:
En pocas palabras, Kubernetes lo ayuda a administrar las cargas de trabajo en contenedores de manera eficiente y a configurarlo con un marco para la automatización, lo que le permite ser más productivo y reducir los costos mediante la optimización de sus recursos.
Cuando oyes hablar de Kubernetes, ahora entiendes un poco mejor qué es. En los siguientes artículos, analizaremos la documentación de Kubernetes paso a paso y te ayudaremos a comprender mejor Kubernetes.
Suscríbase a nosotros o suscríbase al boletín informativo (aquí) para recibir una notificación cuando salga un nuevo artículo.
Si está interesado en la versión en vídeo de nuestra publicación, consulte nuestro vlog (aquí).