Kubernetes explicado para líderes empresariales
Mark Bunting
A medida que las empresas dependen cada vez más de las tecnologías emergentes -por no mencionar que gasta más-, es más importante que nunca que los líderes empresariales tengan un conocimiento más profundo que básico de esas tecnologías para impulsar sus organizaciones. Sin embargo, cuando las discusiones tecnológicas giran en torno a conceptos como "contenedorización" y "orquestación", la verdad es que muchos líderes de línea de negocio pueden perderse en la terminología sin comprender suficientemente las implicaciones de una tecnología. Como alguien que ha pasado gran parte de las dos últimas décadas explicando la tecnología a un público no especializado, puedo comprenderlo. Por eso, como parte de mi trabajo como nuevo Director de Marketing de Rackspace, voy a seguir explicando la tecnología (en este caso, algunos de los productos y servicios más revolucionarios que ofrecemos) en nuestro blog y a través de vídeos. Kubernetes entra dentro de este ámbito. Se trata de una herramienta de orquestación de contenedores que puede ahorrar a su empresa esfuerzo y dinero a la vez que aumenta la eficiencia. ¿Cómo? Vamos a sumergirnos.
¿Qué es Kubernetes?
La versión súper corta: Kubernetes es un sistema para desplegar aplicaciones que puede ahorrar dinero porque requiere menos recursos de TI para su gestión y ayuda a utilizar de forma más eficiente la infraestructura que alimenta sus aplicaciones. También hace que tus aplicaciones sean mucho más portátiles, para que puedas moverlas más fácilmente entre diferentes nubes y entornos internos. Simplifica la gestión informática. Ahorra dinero. Bastante sencillo. Kubernetes es para su infraestructura de TI lo que los robots de picking son para los almacenes físicos. Kubernetes consiste en automatizar la gestión de contenedores. Si quieres entender cómo funciona, primero tendrás que entender un poco sobre virtualización y contenerización. La virtualización tradicional permite dividir los servidores físicos en varias VM (máquinas virtuales) para compartir el hardware y utilizarlo de forma más eficiente. Esto es lo que sigue impulsando la mayoría de los centros de datos corporativos. (Obtenga más información sobre la virtualización aquí.) La tecnología de contenedores proporciona una forma aún más eficiente de virtualizar el hardware físico que las máquinas virtuales tradicionales. Los contenedores permiten colocar fragmentos de código en piezas más pequeñas y fáciles de transportar. El problema es que las aplicaciones más grandes suelen tener que vivir en un conjunto de varios contenedores, por ejemplo, ejecutando la base de datos en un contenedor, el front-end web en otro y un servidor de caché en otro. Este enfoque puede descontrolarse rápidamente si trabajas en una empresa con una gran cartera de aplicaciones. Acabas teniendo muchos más contenedores de los que un equipo humano puede controlar y gestionar. Imagina un almacén enorme. Todos sus bienes se embalan cuidadosamente en cajas y se aíslan unos de otros. Pero cuando se opera a gran escala, es prácticamente imposible que un pequeño número de empleados localice eficazmente los paquetes adecuados y los lleve manualmente a donde deben ir en el momento oportuno. Por lo tanto, si desea utilizar una herramienta de contenedores como Docker a escala, en la práctica, necesita una solución de orquestación para realizar un seguimiento automático, programar y orquestar todos esos contenedores. Y Kubernetes hace precisamente eso. Hace por los entornos informáticos en contenedores lo que los robots móviles autónomos hacen por las fábricas modernas. Hay muchos entresijos en su funcionamiento. Pero lo más importante es que Kubernetes reduce los pequeños detalles de la gestión de contenedores. No sustituye a los mecanismos de nivel inferior utilizados por los contenedores, como el propio Docker. Simplemente proporciona capas adicionales de abstracción -por ejemplo, organizando varios contenedores en unidades denominadas "pods"- que le ayudan a escalar aplicaciones en contenedores de forma más eficiente y automatizada, aumentando y reduciendo los recursos en función de la demanda. En resumen: los contenedores hacen que sus aplicaciones sean más portátiles y rentables, y Kubernetes hace que sea mucho más factible y menos intensivo en recursos gestionar una gran cantidad de estos contenedores a escala.
¿Cómo puede Kubernetes ayudarme a mí y a mis clientes?
Flexibilidad multicloud Una de las mayores ventajas de Kubernetes y los contenedores es que le ayudan a hacer realidad la promesa de híbridos y multicloud. En la actualidad, las empresas ya utilizan entornos multicloud y seguirán haciéndolo en el futuro. Kubernetes facilita enormemente la ejecución de cualquier aplicación en cualquier servicio de nube pública o en cualquier combinación de nubes públicas y privadas. Esto le permite poner las cargas de trabajo adecuadas en la nube adecuada y le ayuda a evitar la dependencia del proveedor. Y conseguir el mejor ajuste, utilizar las funciones adecuadas y tener la capacidad de migrar cuando tenga sentido le ayudará a obtener un mayor rendimiento de la inversión en TI (a corto y largo plazo). Reducción de costes Kubernetes puede ayudar a su empresa a reducir los costes de infraestructura, a veces drásticamente, si opera a gran escala. Hace viable una arquitectura basada en contenedores en una cartera de aplicaciones empresariales de gran tamaño, lo que significa que puede empaquetar aplicaciones utilizando recursos mínimos para sacar el máximo partido de sus inversiones en la nube y en hardware. Mientras tanto, las aplicaciones que necesitan expandirse pueden colocarse en pods donde tengan espacio para crecer. Mejora de la eficiencia de los equipos de TI y desarrollo Kubernetes permite a sus equipos de TI gestionar de forma más eficiente grandes aplicaciones a través de muchos contenedores, ya que se encarga de muchos de los detalles fundamentales del mantenimiento de aplicaciones basadas en contenedores. Por ejemplo, a través de su API, Kubernetes gestiona el descubrimiento de servicios, ayuda a los contenedores a comunicarse entre sí y organiza el acceso al almacenamiento de varios proveedores, como AWS y Microsoft Azure. Además, Kubernetes proporciona muchas abstracciones y API que facilitan un enfoque de "microservicios" para crear aplicaciones y organizar equipos de desarrollo. Esto le permite mantener equipos más pequeños, más ágiles y más especializados porque cada equipo puede centrarse en un único microservicio más pequeño. Las API entre estos microservicios minimizan la cantidad de comunicación entre equipos necesaria para construir y desplegar. Así que, en última instancia, puede ampliar varios equipos pequeños de expertos especializados que ayuden a mantener una flota de miles de máquinas.
Introducción a Kubernetes
Kubernetes simplifica la gestión de contenedores. Y eso significa que puede ayudarle a reducir costes y ofrecer más valor a sus clientes. Pero la gestión de Kubernetes conlleva sus propios retos. Como tecnología de código abierto, no existe una estructura de apoyo formalizada. Se necesita tanto personal interno como socios que entiendan cómo funcionan las capas de abstracción y que puedan mantenerse al día con el ecosistema de herramientas Kubernetes, que evoluciona activamente. Volviendo a la analogía del almacén: tener un ejército de robots de almacén está muy bien. Pero entonces es aún más importante contar con los expertos adecuados para programarlas y mantenerlas. Por tanto, si está considerando opciones para reducir la complejidad y los costes relacionados con la gestión de su infraestructura, merece la pena considerar seriamente Kubernetes. Y si necesita una forma ágil y flexible de estructurar su inversión, puede que también quiera considerar las opciones de Kubernetes-as-a-Service . En Rackspace, nuestros expertos ofrecen gestión de operaciones y soporte continuos para toda la pila tecnológica, desde el hardware y la infraestructura como servicio hasta el propio Kubernetes. Además, gestionamos y damos soporte a los contenedores y a los servicios de aplicaciones en clúster, como monitorización, registro, análisis y mucho más. Estaremos encantados de ayudarle.