El fabricante de automóviles alemán ejecuta una flota masiva de clústeres de Kubernetes para respaldar una amplia gama de equipos de proyectos en todo el mundo. “Para nosotros, administrar Kubernetes no es tan difícil”.
por Scott Carey
El equipo de tecnología detrás del fabricante de automóviles alemán Mercedes-Benz ha pasado los últimos siete años construyendo una flota local de 900 clústeres de Kubernetes para respaldar a cientos de equipos de desarrolladores independientes, brindando a la empresa una plataforma de infraestructura moderna que, según dice, es escalable y fácil de administrar .
El fabricante de automóviles comenzó a incursionar en Kubernetes para la implementación de aplicaciones en 2015, después de que Google abrió el sistema de orquestación de contenedores en 2014. Desde entonces, Mercedes-Benz Tech Innovation, la subsidiaria centrada en la tecnología de propiedad total del fabricante de automóviles histórico, ha desarrollado la experiencia interna. para apoyar a cientos de equipos de aplicaciones alineados con unidades de negocios con sus propias necesidades tecnológicas únicas.
“Sabíamos que un solo clúster compartido [Kubernetes] no se ajustaría a nuestras necesidades, ninguna distribución de proveedores se ajustaba a nuestros requisitos, y teníamos ingenieros con experiencia”, dijo Jens Erat, ingeniero devops en Mercedes-Benz Tech Innovation durante KubeCon Europe el pasado año. mes. “Construimos una plataforma 100 % FOSS [software de código abierto gratuito] creada y desarrollada por el mismo equipo de desarrollo, sin problemas de licencia ni solicitudes de soporte”.
Hoy, Mercedes-Benz opera en 900 clústeres de Kubernetes en las instalaciones en cuatro centros de datos globales que utilizan OpenStack, que se ejecuta en la versión 1.23 desde finales de 2021.
Si bien ese puede no ser el mayor patrimonio de Kubernetes en comparación con los proveedores de la nube, solo el 10% de las organizaciones usan más de 50 clústeres, según la encuesta de 2019 de Cloud Native Computing Foundation . También es casi cinco veces más grande que el entorno de Kubernetes del CERN, otro orador principal de KubeCon Europe, que ejecuta 210 clústeres en el momento de escribir este artículo.
¿Cuánto Kubernetes podría ejecutar Mercedes-Benz?
“Ponemos mucho esfuerzo en hacer las cosas de una manera en la que podamos gestionarlas”, dijo a InfoWorld Peter Müller, experto principal de Mercedes-Benz Tech Innovation. “Para nosotros, los sistemas circundantes funcionan bien si administramos 500 clústeres, o 1000, porque todo está automatizado… Si tuviéramos que agregar 500 clústeres más, tendríamos que agregar solo un ingeniero más”.
Una parte clave de ese rompecabezas de administración es la API de clúster en OpenStack , un proyecto de Kubernetes que permite la creación, configuración y administración de clústeres declarativos, que la empresa optó recientemente en lugar de Terraform y algunas herramientas personalizadas. Sin embargo, como con cualquier cosa en tecnología, no es una solución perfecta. “La cantidad de clústeres no es un problema. El problema que tenemos son algunos de los sistemas circundantes y, a veces, OpenStack”, dijo Müller. “Pero Kubernetes funciona bastante bien, escala”.
Cambiando la cultura
Cada uno de varios cientos de equipos de aplicaciones en Mercedes-Benz ahora tiene la opción de solicitar su propio clúster de Kubernetes a través de un proceso automatizado utilizando un conjunto de herramientas propias, creadas y administradas por el equipo de Müller en Mercedes-Benz Tech Innovation. El resultado suele ser un clúster de producción preaprovisionado, así como clústeres de ensayo y desarrollo más pequeños a las pocas horas, o incluso minutos, de realizar una solicitud.
“Desde una perspectiva organizacional, hace cinco o seis años, Devops era el chico nuevo en el bloque, todos hablaban de ‘usted lo crea, lo ejecuta’. Como proveedor de una plataforma compartida, eso significa que cada equipo de aplicaciones dentro de Mercedes-Benz obtiene su propio clúster de Kubernetes”, dijo a InfoWorld Jörg Schüler, líder del equipo en Mercedes-Benz Tech Innovation.
“Nuestro objetivo es proporcionar un ecosistema y obtener equipos de aplicaciones empoderados”, agregó. “Ese ecosistema está respaldado por principios de autoservicio y está basado en API”.
Ese estado es administrado no por uno, sino por cinco equipos de plataforma separados . Dos de ellos forman un equipo combinado de alrededor de una docena de ingenieros que se enfocan en la plataforma central de Kubernetes como servicio. Luego están los equipos de plataforma responsables de la base de datos como servicio, el registro y la supervisión como servicio, y la seguridad del contenedor , incluido el tiempo de ejecución, el registro y el escaneo de imágenes.
Sin embargo, agregar a esos equipos sigue resultando difícil para el negocio. “Buscar una buena experiencia en Kubernetes es difícil”, dijo Schüler. “Proporcionar educación, capacitación y otras ofertas en torno a esta plataforma es realmente útil. Necesita un enfoque comunitario para que los equipos de desarrolladores se ayuden entre sí con campamentos de entrenamiento, portales de capacitación y entornos de prueba”.
Caminos dorados a la nube
Habiendo desarrollado todo este poder para administrar Kubernetes a escala, Mercedes-Benz Tech Innovation se está preparando para comenzar a mover más y más cargas de trabajo a la nube pública, donde podría usar más servicios administrados como Azure Kubernetes Service (AKS) de Microsoft y Elastic de Amazon. Kubernetes Service (EKS), para ayudar a aligerar la carga cognitiva en la plataforma y los equipos de desarrollo .
“Todavía estamos en la fase de evaluar si optamos por EKS, pero por el momento preferimos hacerlo por nuestra cuenta, porque entonces tenemos la misma arquitectura local y externa”, dijo Müller.
Si bien esas versiones administradas de Kubernetes pueden ayudar a aligerar la carga de los equipos de la plataforma Mercedes-Benz Tech Innovation, los equipos de aplicaciones aún necesitan ayuda para pasar a contenedores y Kubernetes.
Una ruta para acelerar el progreso aquí es la idea de los caminos dorados, que son esencialmente gráficos de Helm que se pueden usar como plantillas para ciertas funciones, como la gestión de acceso e identidad, lo que ahorra trabajo repetido en diferentes equipos.
“Tenemos que proporcionar caminos dorados y algunas cosas como un servicio para reducir esa carga cognitiva y permitirles ofrecer lo que mejor saben hacer: valor comercial”, dijo Müller.
Por supuesto, los niveles de madurez variarán entre todos esos equipos de aplicaciones, por lo que Müller considera que su función es brindarles un entorno seguro en el que aprender. Una vez que se vuelven lo suficientemente maduros, pueden pasar a la nube, dijo.
Utilizando algunas técnicas de fuentes internas , Mercedes-Benz Tech Innovation administra algunos de estos caminos dorados, mientras que otros se encuentran en lo que Müller llama “un estado comunitario”, donde podrían considerarse para la propiedad y administración total si obtienen una buena respuesta.
Idealmente, estos caminos dorados eventualmente se codificarán en un ” catálogo de estilo Spotify Backstage “. Müller dice que actualmente están trabajando en “pruebas de concepto para un portal central de desarrolladores para la integración de todos los servicios, pero aún no hemos llegado allí”.
‘Para nosotros, administrar Kubernetes no es difícil’
“Kubernetes sigue siendo duro, no dejes solos a los equipos de desarrolladores y desarrolladores”, dijo Sabine Wolz, propietaria de producto en Mercedes-Benz Tech Innovation, en el escenario durante KubeCon Europe.
Sin embargo, Müller cree firmemente que la curva de aprendizaje ahora le espera a los equipos de aplicaciones y no a los equipos de plataformas.
“Gestionar Kubernetes es difícil si no estás muy metido en ello. Pero en nuestra opinión, si lo estamos gestionando, queremos profundizar en ello, por lo que para nosotros, gestionar Kubernetes no es difícil”, dijo. “Kubernetes para proyectos de aplicaciones sigue siendo difícil. Consumir Kubernetes como un equipo de desarrollo a veces es difícil”.
Ayudar a los equipos de aplicaciones a comprender la infraestructura subyacente sin necesariamente desarrollar una gran experiencia es donde Müller espera que su equipo de plataforma pueda brillar. “Algunos equipos todavía están en máquinas virtuales y se están mudando a un clúster de Kubernetes, y tienen que dividir su monolito , comprender cómo se manejan las transacciones, pensar en la comunicación asíncrona y comprender cómo funciona Kubernetes”, dijo. “Eso es difícil, así que no los dejes solos, ayúdalos”.
Fuente: https://www.infoworld.com/article/3664052/why-mercedes-benz-runs-on-900-kubernetes-clusters.html