Para lanzar una nueva función unas semanas antes de la semana de compras en línea, ¿cómo garantizar que la nueva función pueda resistir las multitudes del Black Friday y mantener la confianza de los clientes en el sitio web? Zalando adoptó un enfoque audaz ese año, recreando la carga explosiva de compras en línea con semanas de anticipación en un ambiente formal los días laborables para probar nuevas funciones.
Una vez que el desarrollo tecnológico de Zalando ha entrado en una etapa madura, la toma de decisiones técnicas ya no es tan libre como cuando se lanzó Radical Agile por primera vez, sino que está dirigida por la comunidad de ingenieros de alto nivel y se ha desarrollado un gráfico de radar técnico (Tech Radar). para ayudar a cientos de equipos a tomar decisiones técnicas. Cada equipo debe consultar esta lista de recomendaciones de tecnología compartida como referencia para seleccionar tecnologías para nuevos proyectos. No es necesario realizar evaluaciones técnicas desde cero cada vez que se lanza un nuevo proyecto, y las selecciones se pueden hacer directamente consultando la lista. enumerar recomendaciones. Dado que cada equipo utiliza el mismo gráfico de radar tecnológico para su selección, Zalando puede garantizar que las tecnologías utilizadas en diferentes proyectos estén dentro del alcance de esta lista de tecnologías compartida para lograr un enfoque tecnológico en toda la empresa. / El desarrollo tecnológico de Zalando ha entrado en una etapa madura, confiando en el radar tecnológico para centrarse en las decisiones técnicas de cientos de equipos. De 2009 a 2019, el aspecto organizativo de Zalando ha sufrido muchos cambios y el aspecto técnico también se ha desarrollado a gran escala. Arquitectura de microservicios descentralizada. Según las cifras reveladas por Zalando en la DevOpsCon de Berlín de 2022, el número de microservicios en 2019 ascendió a entre cuatro y cinco mil. En este momento, el desarrollo tecnológico de Zalando ha entrado en una etapa madura. La toma de decisiones técnicas ya no es tan libre como cuando se lanzó Radical Agile por primera vez, sino que está dirigida por una comunidad de ingenieros de alto nivel y un gráfico de radar técnico (Tech Radar). desarrollado para ayudar a 2 cientos de equipos a tomar decisiones técnicas. El diseño de este gráfico de radar tecnológico hace referencia a la práctica de ThoughtWorks Consulting Company, pero se ha desarrollado en una versión exclusiva de Zalando. Esta consultora cuenta con cerca de un centenar de términos técnicos que cubren cuatro categorías: tecnología, herramientas, plataformas, frameworks y lenguajes. Están divididos en cuatro niveles según el grado de adopción recomendado y ordenados en un gráfico de radar circular dividido en cuatro cuadrantes. En este gráfico de radar de tecnología, se enumeran los niveles de adopción recomendados de diferentes tipos de tecnologías. Se utilizan diferentes anillos para representar diferentes niveles de recomendación. Cuanto más cerca esté el anillo del núcleo, mayor será el nivel de recomendación de esta tecnología. Zalando hizo balance de sus necesidades y finalmente se centró en tecnologías relacionadas con el desarrollo de software, incluidas cuatro categorías principales: almacenamiento de datos, gestión de datos, infraestructura y lenguajes de desarrollo. El nivel de adopción recomendado se divide en cuatro niveles, formando cuatro anillos, cada anillo representa un nivel de recomendación diferente. Estos cuatro niveles incluyen: Adoptar (recomendado para adopción), Prueba (recomendado para uso de prueba), Evaluar (etapa de evaluación) y Retener (reservado pero no recomendado). Las tecnologías de prueba recomendadas se refieren a tecnologías que ya han tenido proyectos internos exitosos y que al menos se utilizan para abordar problemas reales en lugar de situaciones simuladas. También otorgan importancia a una adopción amplia y son tecnologías en las que los altos ejecutivos están dispuestos a invertir a largo plazo. . nivel. Las tecnologías incluidas en la etapa de evaluación se refieren a un grupo de tecnologías que tienen un valor potencial obvio y son dignas de inversión. Al analizar automáticamente los datos de los planes de prueba en todos los productos, podemos conocer las tecnologías que han sido probadas y son dignas. de ser incluido en la etapa de prueba Tecnológica. . La última categoría de niveles reservados es tecnología que no se recomienda pero que se seguirá manteniendo. No solo no está disponible para nuevos proyectos, sino que también se desaconseja su uso para servicios promocionales. La amplitud de la aplicación de este tipo de tecnología debe ampliarse gradualmente. estrechado. Cada tecnología también irá acompañada de un documento de descripción técnica, que enumera las ventajas, desventajas, limitaciones, condiciones de uso y lecciones aprendidas después de usar la tecnología. Cada tecnología tiene un documento, y todos los documentos técnicos se compilan en una base de conocimientos técnicos. Zalando también ha recopilado plantillas y guías de adopción para estas tecnologías recomendadas en el gráfico de radar tecnológico. Las guías proporcionarán descripciones de las preguntas más frecuentes al utilizarlas, o casos de uso de equipos que las han adoptado, o incluso comparaciones entre diferentes tecnologías alternativas.
De vez en cuando, para ajustar el nivel de recomendación de tecnología, el ingeniero jefe recopilará los datos de uso real de cada tecnología en el radar de tecnología existente, incluido el volumen de uso, los registros de incidentes y la experiencia de adopción (por ejemplo, ¿cuántos años tiene esto? ¿Se ha introducido tecnología en Zalando?), y luego realizará la puntuación. El ingeniero jefe de mantenimiento designado primero creará una hoja de cálculo de puntuaciones de nuevas tecnologías y luego la abrirá a la comunidad de ingenieros jefe para que voten y decidan si "actualizar" o "bajar de categoría".
Zalando exige que cada equipo consulte esta lista de tecnologías compartidas como referencia para seleccionar tecnologías para nuevos proyectos. No es necesario realizar evaluaciones técnicas desde cero cada vez que se lanza un nuevo proyecto. Los ingenieros consultan directamente las recomendaciones de la lista para realizar selecciones. Debido a que cada equipo utiliza el mismo gráfico de radar tecnológico para su selección, Zalando puede garantizar que las tecnologías utilizadas en diferentes proyectos estén dentro del alcance de esta lista de tecnologías compartidas para lograr el enfoque de dirección técnica.
Zalando cambió el nombre del departamento de infraestructura digital original a departamento de construcción (Build) y continúa siendo responsable de construir y mejorar la plataforma de desarrollo para servir específicamente a los desarrolladores. El departamento de construcción comenzó a estudiar el recorrido del cliente del desarrollador, es decir, el recorrido laboral diario del desarrollador, y descubrió que las plataformas de desarrollo utilizadas por los desarrolladores estaban bastante dispersas y cada equipo se comunicaba con sus miembros a su manera. Conocimiento común en toda la empresa. Idioma de comunicación.
Resuelva el problema de la fragmentación del proceso de desarrollador y cree un sitio web de portal para desarrolladores
Para resolver el problema del flujo de trabajo fragmentado de los desarrolladores, el departamento de construcción creó un portal para desarrolladores Sunrise (Sunrise Platform) como el primer sitio web que los desarrolladores abren todos los días cuando van a trabajar. Los usuarios de esta plataforma incluyen ingenieros de software, ingenieros de datos, directores técnicos, científicos de datos, directores de proyectos, diseñadores, etc.
Basado en el proyecto de plataforma de gestión de aprendizaje automático de código abierto Backstage de Spotify, el departamento de construcción integró muchas herramientas técnicas internas de Zalando, componentes de desarrollo, plantillas de implementación y documentos técnicos para diseñar esta plataforma de desarrollador de autoservicio interna dedicada (Plataforma de desarrollador interna, la operación de la interfaz es). Tan fluido como una plataforma de colaboración comercial a nivel empresarial, y los detalles del diseño de UX se enfatizan para guiar a los desarrolladores a comenzar. Incluso los desarrolladores pueden ver directamente los datos de monitoreo comunes de los AP responsables en la plataforma Sunrise.
La primera página que los desarrolladores ven cuando abren la plataforma Sunrise reúne todos los puntos de información de uso común en esta noche, de modo que puedan buscar fácilmente las aplicaciones específicas de las que son responsables y las API de uso común, y también pueden ver rápidamente Quién. ¿Cuál es el propietario exclusivo de cada aplicación o API? Si es necesario, puede enviar un ticket directamente en esta página para buscar ayuda, en lugar de tener que presentar la solicitud a través de otro sistema como en el pasado. La página de inicio de Sunrise Platform también integra toda la información de eventos de los AP de los que son responsables todos los desarrolladores, así como documentos de referencia a los que se puede suscribir.
Los ingenieros u otros usuarios pueden verificar el progreso o el estado de cada etapa del ciclo de vida del producto, monitorearlo en tiempo real y colaborar con equipos y otras personas para solucionar problemas en el proceso de CI/CD. Los miembros del equipo de Zalando pueden incluso iniciar e implementar nuevas aplicaciones utilizando Sunrise.
Para crear esta plataforma interna para desarrolladores cómoda y fácil de usar, Zalando ha compartido públicamente varias claves.
Por ejemplo, modificaron directamente el código fuente de K8 para resolver el problema, convirtiendo a K8 en un sistema que pueden controlar para desarrollar su propia plataforma nativa en la nube. Por ejemplo, la plataforma Sunrise utiliza una función de encapsulación kubectl personalizada y de desarrollo propio.
Cuando ocurre una emergencia y necesita crear rápidamente un clúster k8s de acceso temporal, esta función de encapsulación puede resultar útil. No es necesario seguir la función de encapsulación estándar original, lo que acorta aún más el tiempo de implementación. Otra de las claves es que Zalando también digitaliza la “experiencia de desarrollo”, lo que supone medir la efectividad de la plataforma de desarrollo sobre la experiencia y la productividad del desarrollador.
Zalando se refirió a las recomendaciones de un libro "Accelerate: The Science of Lean Software and DevOps" (el nombre de la versión china taiwanesa es "The Science Behind Lean Software & DevOps") para definir cuatro indicadores de la matriz de desempeño del desarrollador.
Incluye el tiempo de entrega, la frecuencia de lanzamiento, el tiempo promedio de recuperación (Tiempo para restaurar el servicio) y la tasa de fallas de cambios (Change Fail Rate). Esto es exactamente lo que son los cuatro indicadores utilizados en el conocido indicador de rendimiento de DevOps DORA.
Sin embargo, el enfoque específico de Zalando para medir los cuatro indicadores es ligeramente diferente. El tiempo de preparación va desde el compromiso hasta el lanzamiento oficial del entorno. Frecuencia de lanzamiento: la cantidad de implementaciones por desarrollador por semana. El tiempo promedio de recuperación se calcula desde el momento en que ocurre el evento hasta el momento en que se restablece el servicio (no desde el momento en que el servicio falla). La tasa de errores del último cambio se calcula en función de cuántos errores se producen entre todos los tiempos de implementación.
La mayor ventaja de la plataforma para desarrolladores Sunrise es que mantiene a todos los desarrolladores en el mismo camino. Además, también puede satisfacer las necesidades de diferentes divisiones de trabajo organizacionales en departamentos asincrónicos para brindar flexibilidad. Finalmente, esta plataforma única también integra el diseño. de Zalando, el gráfico de radar técnico y toda la experiencia práctica técnica de referencia, los documentos de prueba del equipo de verificación e incluso plantillas relacionadas de prácticas y procesos maduros. Se puede enfocar a través de una única plataforma, y se recomienda que el equipo de desarrollo utilice la tecnología que particularmente quiera agregar.
El objetivo del diseño del sitio web Sunrise de Zalando es "hacer felices y productivos a los desarrolladores", brindando la mejor experiencia de desarrollador, reduciendo la carga cognitiva del equipo técnico y del equipo de desarrollo tanto como sea posible, y mejorando la velocidad y la productividad del desarrollo. Esta fue la primera vez que Zalando reveló el proceso de desarrollo de la plataforma Sunrise en la Conferencia de Ingeniería de Plataformas del año pasado, Henning Jacobs, ingeniero jefe senior de Zalando, enfatizó este asunto.
Para resolver el problema del flujo de trabajo fragmentado de los desarrolladores, el departamento de construcción de Zalando creó un portal para desarrolladores Sunrise (Sunrise Platform) como el primer sitio web que los desarrolladores abren todos los días cuando van a trabajar. /Zalando
Sunrise (Sunrise Platform) utiliza el proyecto de plataforma de gestión de aprendizaje automático de código abierto de Spotify, Backstage, como base, integrando muchas herramientas técnicas internas de Zalando, componentes de desarrollo, plantillas de implementación y documentos técnicos para diseñar esta plataforma interna de desarrollo de autoservicio dedicada (Plataforma de desarrollador interna). Los desarrolladores de Zalando pueden utilizar la plataforma Sunrise para obtener información sobre diversas herramientas y servicios creados por diferentes departamentos y equipos de productos de toda la empresa, así como obtener todos los servicios de soporte en un solo lugar. /Zalando
Los desarrolladores de Zalando pueden revisar y gestionar rápidamente el progreso de los proyectos de productos de los que son responsables en la plataforma Sunrise. /Zalando
Adopte activamente la SRE nuevamente e incluso establezca un departamento de SRE dedicado
Por otro lado, como se mencionó anteriormente al hablar de Online Shopping Week, Zalando volvió a establecer un equipo de soporte de SRE. En 2019, estableció directamente un departamento de SRE dedicado. Este departamento incluye un equipo de registro de registros, un equipo de matriz de seguimiento y un equipo de incidencias. El equipo de respuesta y el coaching de startups permiten que este grupo de personas se centre en la misma visión y objetivos a través del mismo conjunto de KPI.
Andrew Howden señaló: "El objetivo del departamento de SRE es establecer un conjunto de modelos de operaciones de mantenimiento empresarial clave, centrándose en la experiencia del cliente y resolviendo problemas de alineación entre departamentos. Ha estado involucrado en el proceso de desarrollo de SRE de Zalando durante los últimos cuatro". años.
El mantenimiento empresarial clave es un objetivo de nivel de servicio (SLO) que se centra en la experiencia del cliente. Al medir la interacción entre los clientes y el sitio web, las perspectivas de los desarrolladores, administradores y clientes se pueden integrar en el mismo conjunto de datos, y estos datos se pueden integrar. ser utilizado para mejorar la confiabilidad.
Establecer un equipo SRE integrado para resolver problemas específicos de mantenimiento y operación.
Tener un departamento de SRE dedicado no es suficiente. Zalando también ha creado un nuevo equipo de SRE llamado Embedded SRE para resolver los desafíos especiales del proceso de pago. Por ejemplo, algunos compradores locos de repente se centrarán en productos específicos para grandes ventas, lo que provocará algunos problemas en el sistema. Este tipo de problema del proceso de pago implica comunicación y colaboración entre más de una docena de aplicaciones, 4 o 5 departamentos y cientos de ingenieros. Andrew Howden es el líder de este equipo y dirige 2 ingenieros.
Andrew Howden analizó por primera vez el impacto de los sistemas de productos relacionados detrás de diferentes excepciones de pago y encontró soluciones una por una. Ha lidiado con problemas como una gran cantidad de solicitudes que sobrecargaban el sistema y no respondían, lo que provocó que el software de administración del clúster se reiniciara automáticamente, lo que provocó que todo el sistema se apagara.
Debido a que el sistema de pago es una arquitectura de microservicio distribuido a gran escala, se diseñó originalmente en el modo de disyuntor para evitar llamar continuamente al mismo servicio fallido. Sin embargo, debido a que el diseño del disyuntor es demasiado sensible, cuando un sistema falla. comienza a afectar El juicio de la tasa de error de los disyuntores en otros sistemas tendrá efectos en cascada.
U otro problema es que para garantizar la confiabilidad, el sistema de pago ha diseñado muchos mecanismos de expansión automática. Una vez que se descubre que la velocidad de respuesta de la solicitud de pago de un cliente se ha ralentizado, se expandirá automáticamente. En los costos de la nube, se descubrió posteriormente que una pequeña cantidad de clientes genera una gran cantidad de solicitudes debido a su comportamiento de compra, lo que hace que este pequeño grupo de personas responda con lentitud, siempre y cuando cada cliente tenga el mismo problema. Definido por un estándar que cubre el 99.9% de los clientes generales, el límite superior en el número de solicitudes de un cliente puede reducir el impacto del comportamiento loco de un cliente específico en el mecanismo de expansión automática.
Integrar la experiencia en la resolución de problemas de mantenimiento en el mantenimiento diario.
Porque normalmente solo se necesitan 3 semanas para resolver un problema, pero se necesitan 3 meses para transferir la experiencia de manejar este problema anormal al equipo de la plataforma y a los diferentes equipos responsables del producto involucrados. El último desafío de integrar el equipo de SRE es cómo convertir la experiencia de resolver estos problemas de mantenimiento en parte del mantenimiento diario.
Zalando celebra reuniones semanales de revisión operativa (WORM) cada semana. La comunidad de ingenieros jefe utiliza esta reunión para revisar informes posteriores al análisis y revisar diversos problemas de mantenimiento. Sin embargo, la calidad de estos informes de análisis varía mucho y los ingenieros dedican mucho esfuerzo a preparar estos documentos.
La incorporación del equipo SRE ayuda a automatizar el proceso de producción de dichos informes de análisis e incluso agrega sugerencias de ajuste relacionadas con las prácticas de SRE. El informe se puede enviar automáticamente a este equipo y el informe también se puede enviar automáticamente al equipo de gestión de ingeniería para su revisión semanal. .
A mediados de 2023, el equipo integrado de SRE completó los problemas que originalmente debía resolver, poniendo fin a la misión del equipo. Andrew Howden también finalizó su trayectoria en Zalando en agosto y se convirtió en consultor que brinda capacitación en SRE.
Sin embargo, la ingeniería de plataformas de Zalando no ha detenido el ritmo del cambio y sigue evolucionando.