Con la celebración de KubeCon Europe esta semana, Microsoft ha realizado una avalancha de anuncios de Azure Kubernetes. Además de un nuevo marco para ejecutar cargas de trabajo de aprendizaje automático, nuevas capacidades de programación de cargas de trabajo, nuevas salvaguardas de implementación y mejoras de seguridad y escalabilidad, Microsoft ha puesto un fuerte énfasis en la productividad de los desarrolladores, trabajando para mejorar la experiencia de los desarrolladores y ayudando a reducir los riesgos de error. Antes del evento, me senté con Brendan Burns, uno de los creadores de Kubernetes y ahora CVP, Azure Open Source y Cloud-Native en Microsoft. Hablamos sobre lo que Microsoft estaba anunciando en KubeCon Europe, los objetivos de Microsoft para Kubernetes y la importancia de Kubernetes para Microsoft como proveedor y usuario del sistema de gestión de contenedores. Burns también proporcionó actualizaciones sobre el progreso de Microsoft en la entrega de una versión de soporte a largo plazo de Kubernetes. Este es un momento interesante para Kubernetes, en su transición de una tecnología de vanguardia a una plataforma madura. Es un cambio esencial que toda tecnología debe atravesar, pero que es más difícil para un proyecto de código abierto en el que confían muchos proveedores de nube diferentes y muchos más desarrolladores de aplicaciones. Kaito: Implementación de modelos de inferencia de IA en Kubernetes Gran parte de lo que Microsoft está haciendo en El momento en torno a su Azure Kubernetes Service (AKS) y el Azure Container Service (ACS) relacionado se centra en ofrecer esa proverbial plataforma madura y confiable, con su propio plan de soporte a largo plazo que va más allá del ciclo de vida actual de Kubernetes. La compañía también está trabajando en herramientas que ayudan a respaldar las cargas de trabajo que los desarrolladores construyen tanto dentro de Microsoft como en sus servicios de nube de cara al público. Por lo tanto, no fue sorprendente encontrar que nuestra conversación giró rápidamente hacia la IA y las herramientas necesarias para respaldar la resultantes cargas de trabajo a gran escala en AKS. Una de las nuevas herramientas de las que habló Burns fue el operador de cadena de herramientas de IA de Kubernetes para AKS. Esta es una herramienta para ejecutar grandes cargas de trabajo en clústeres masivos de Kubernetes. Si ha estado monitoreando los repositorios de Azure GitHub, lo reconocerá como el proyecto Kaito de código abierto que Microsoft ha estado usando para administrar proyectos y servicios de LLM, muchos de los cuales están alojados en instancias de Azure Kubernetes. Está diseñado para funcionar con grandes modelos de inferencia de código abierto. Empiece por definir un espacio de trabajo que incluya los requisitos de GPU de su modelo. Luego, Kaito implementará imágenes de modelo desde sus repositorios en nodos de GPU aprovisionados. Mientras trabaja con configuraciones preestablecidas, Kaito implementará imágenes de modelo donde puedan ejecutarse sin ajustes adicionales. Todo lo que necesita hacer es configurar una configuración inicial del grupo de nodos mediante una SKU de host de Azure con una GPU compatible. Como parte de la configuración de nodos usando Kaito, AKS configura automáticamente los controladores correctos y cualquier otro requisito previo necesario. Tener a Kaito en AKS es un desarrollo importante para implementar aplicaciones basadas en modelos de IA de código abierto previamente entrenados. Y construir sobre un proyecto de código abierto existente alojado en GitHub permite a la comunidad en general ayudar a dar forma a su dirección futura. Flota: gestión de Kubernetes a escala masiva La gestión de cargas de trabajo es un gran problema para muchas organizaciones que han migrado a arquitecturas de aplicaciones nativas de la nube. A medida que más aplicaciones y servicios se trasladan a Kubernetes, el tamaño y la cantidad de clústeres se convierten en un problema. Mientras que los experimentos pueden haber implicado la administración de uno o dos clústeres de AKS, ahora tenemos que trabajar con cientos o incluso miles y administrar esos clústeres en todo el mundo. Si bien puede crear sus propias herramientas para manejar este nivel de orquestación, existen requisitos complejos. Cuestiones de ubicación de la carga de trabajo que deben considerarse. AKS ha estado desarrollando herramientas de gestión de flotas como un programador de nivel superior a los servicios básicos de Kubernetes. Esto le permite administrar cargas de trabajo utilizando un conjunto diferente de heurísticas, por ejemplo, usando métricas como el costo de la computación o la disponibilidad general de los recursos en una región de Azure. Azure Kubernetes Fleet Manager está diseñado para ayudarlo a aprovechar al máximo su Kubernetes. recursos, lo que permite que los clústeres se unan y abandonen una flota según sea necesario, con un plano de control central para respaldar la orquestación de la carga de trabajo. Puede pensar en Fleet como una forma de programar y orquestar grupos de aplicaciones, con Kubernetes manejando las aplicaciones que componen una carga de trabajo. Microsoft necesita una herramienta como esta tanto como cualquier empresa, ya que ejecuta muchas de sus propias aplicaciones y servicios en Kubernetes. Con Microsoft 365 ejecutándose en contenedores alojados en AKS, Microsoft tiene un fuerte incentivo económico para obtener el máximo valor de sus recursos. maximizar los beneficios garantizando el uso óptimo de sus recursos. Al igual que Kaito, Fleet se basa en un proyecto de código abierto, alojado en uno de los repositorios GitHub de Azure. Este enfoque también permite a Microsoft aumentar los tamaños disponibles para los clústeres de AKS, ahora hasta 5000 nodos y 100 000 pods. Burns me dijo que esta es la filosofía detrás de gran parte de lo que Microsoft está haciendo con Kubernetes en Azure: “Comenzar con un proyecto de código abierto, pero luego incorporarlo como una parte compatible del servicio Azure Kubernetes. Y luego, obviamente, también, comprometidos a tomar esta tecnología y hacerla fácil y disponible para todos”. Ese punto de “hacerlo fácil” está en el centro de gran parte de lo que Microsoft anunció en KubeCon Europe, basándose en servicios y características existentes. Como ejemplo, Burns señaló la compatibilidad con AKS en Azure Copilot, donde en lugar de utilizar herramientas complejas, simplemente puede hacer preguntas. “Al utilizar un modelo de lenguaje natural, también puede descubrir qué sucede en su clúster; «No tengo que buscar en un montón de pantallas diferentes y en un montón de archivos YAML diferentes para descubrir dónde está el problema», dijo Burns. «El modelo le informará e identificará los problemas que tenga en el clúster». Reducir el riesgo de implementación con políticas Otra nueva herramienta de AKS tiene como objetivo reducir los riesgos asociados con las implementaciones de Kubernetes. Las salvaguardas de implementación de AKS se basan en la experiencia de Microsoft en la ejecución de sus propias aplicaciones Kubernetes y las de sus clientes. Estas lecciones se resumen en un conjunto de mejores prácticas que se utilizan para ayudarle a evitar errores de configuración comunes. La implementación de AKS protege los archivos de configuración de escaneo antes de implementar las aplicaciones, brindándole opciones de «advertencia» o «aplicación». Las advertencias brindan información sobre los problemas, pero no detienen la implementación, mientras que la aplicación de la ley bloquea la implementación de errores, lo que reduce los riesgos de que el código fuera de control genere facturas importantes.“El servicio Kubernetes ha existido en Azure durante siete años en este momento, ”, señaló Burns. «Y, ya sabes, hemos visto muchos errores: errores que puedes cometer y que hacen que tu aplicación sea menos confiable, pero también errores que puedes cometer y que hacen que tu aplicación sea insegura». Para construir estas barandillas se ha utilizado el conocimiento colectivo resultante de los equipos de ingeniería de Azure, incluidos los ingenieros de campo que trabajan con clientes y los ingenieros del grupo de productos Azure Kubernetes. Otras aportaciones provienen del equipo de seguridad de Azure. En el centro de las salvaguardas de implementación se encuentra un motor de políticas que se instala en clústeres administrados. Esto se utiliza para confirmar configuraciones, rechazando activamente aquellas que no siguen las mejores prácticas. Actualmente, las políticas son genéricas, pero los desarrollos futuros pueden permitirle orientar políticas para tipos de aplicaciones específicas, según la descripción que hace el usuario de su código. Burns es definitivamente optimista sobre el futuro de Kubernetes en Azure y su papel en el soporte de la generación actual y futura. de aplicaciones de IA. “Seguimos viendo cómo podemos ayudar a que la comunidad de Kubernetes avance en su forma de pensar sobre la IA. Y creo que este tipo de proyecto es el comienzo de eso. Pero hay muchas piezas sobre cómo hacer realmente bien la IA sobre Kubernetes. Y creo que estamos en una posición bastante única como proveedor de Kubernetes, pero también como gran usuario de Kubernetes para IA, para contribuir a esa discusión”. Copyright © 2024 IDG Communications, Inc.

Source link