[Partie 3 du projet de plateforme Thousand Talents] Après que les décisions commerciales et les innovations techniques ont conduit à une augmentation des performances d'achat en ligne au cours de la semaine, nous nous sommes concentrés sur l'optimisation de l'expérience des développeurs et avons à nouveau adopté le SRE.

Pour lancer une nouvelle fonctionnalité quelques semaines avant la semaine des achats en ligne, comment s'assurer que la nouvelle fonctionnalité résistera aux foules du Black Friday et maintiendra la confiance des clients dans le site Web ? Zalando a adopté une approche audacieuse cette année-là, en recréant la charge explosive des achats en ligne des semaines à l'avance dans un environnement formel en semaine pour tester de nouvelles fonctionnalités.
Une fois que le développement technologique de Zalando est entré dans une phase de maturité, la prise de décision technique n'a plus la même liberté qu'au moment du lancement de Radical Agile. Elle est plutôt dirigée par la communauté des ingénieurs de haut niveau et un diagramme radar technique (Tech Radar) a été créé. développé pour aider des centaines d’équipes à prendre des décisions techniques. Toutes les équipes sont tenues de se référer à cette liste de recommandations technologiques partagée comme référence pour sélectionner les technologies pour les nouveaux projets. Elles n'ont pas besoin de procéder à des évaluations techniques à partir de zéro à chaque lancement d'un nouveau projet, mais se réfèrent directement à la liste de recommandations pour la sélection. Étant donné que chaque équipe se réfère au même graphique radar technologique pour la sélection, Zalando peut garantir que les technologies utilisées dans les différents projets entrent dans le champ d'application de cette liste de technologies partagée afin de se concentrer sur la technologie à l'échelle de l'entreprise. / Le développement technologique de Zalando est entré dans une phase de maturité, s'appuyant sur le radar technologique pour se concentrer sur les décisions techniques de centaines d'équipes. De 2009 à 2019, l'aspect organisationnel de Zalando a subi de nombreux changements, et son côté technique s'est également développé à très grande échelle. architecture de microservices décentralisée. Selon les chiffres révélés par Zalando lors de la DevOpsCon 2022 de Berlin, le nombre de microservices en 2019 s'élevait entre quatre à cinq mille. À l'heure actuelle, le développement technologique de Zalando est entré dans une phase de maturité. La prise de décision technique n'est plus aussi libre qu'au premier lancement de Radical Agile, elle est désormais dirigée par une communauté d'ingénieurs de haut niveau et un diagramme radar technique (Tech Radar). développé pour aider 2 centaines d’équipes à prendre des décisions techniques. La conception de ce graphique radar technologique fait référence à la pratique de ThoughtWorks Consulting Company, mais elle a été développée dans la version exclusive de Zalando. Cette société de conseil compte près d'une centaine de termes techniques couvrant quatre catégories : technologie, outils, plateformes, frameworks et langages. Ils sont répartis en quatre niveaux selon le degré d'adoption recommandé et disposés sur une carte radar circulaire divisée en quatre quadrants. Dans ce graphique radar technologique, les niveaux d'adoption recommandés pour différents types de technologies sont répertoriés. Différents anneaux sont utilisés pour représenter différents niveaux de recommandation. Plus l'anneau est proche du noyau, plus le niveau de recommandation de cette technologie est élevé. Zalando a fait le point sur ses besoins et s'est finalement concentré sur les technologies liées au développement logiciel, comprenant quatre grandes catégories : le stockage de données, la gestion des données, l'infrastructure et les langages de développement. Le niveau d’adoption recommandé est divisé en quatre niveaux, formant quatre anneaux, chaque anneau représentant un niveau de recommandation différent. Les quatre niveaux comprennent : Adopter (recommandé pour l'adoption), Essai (recommandé pour l'essai), Évaluer (étape d'évaluation) et Conserver (réservé mais non recommandé). Les technologies d'essai recommandées font référence à des technologies qui ont déjà fait l'objet de projets internes réussis et sont au moins utilisées pour traiter des problèmes réels plutôt que des situations simulées. Elles attachent également de l'importance à une large adoption et sont des technologies dans lesquelles les cadres supérieurs sont prêts à investir sur le long terme. . niveau. Les technologies incluses dans la phase d'évaluation font référence à un groupe de technologies qui ont une valeur potentielle évidente et qui méritent d'être investies. En analysant automatiquement les données des plans d'essai de tous les produits, nous pouvons découvrir les technologies qui ont été testées et qui méritent d'être investies. d'être inclus dans la phase d'essai de la technologie. . La dernière catégorie de niveaux réservés est une technologie qui n'est pas recommandée mais qui continuera à être maintenue. Non seulement elle n'est pas disponible pour de nouveaux projets, mais son utilisation pour des services promotionnels est également déconseillée. L'étendue des applications de ce type de technologie doit être progressivement augmentée. rétréci. Chaque technologie sera également accompagnée d'un document de description technique, qui répertorie les avantages, les inconvénients, les limites, les conditions d'utilisation et les enseignements tirés après l'utilisation de la technologie. Chaque technologie dispose d'un document, et tous les documents techniques sont compilés dans une base de connaissances techniques. Zalando a également compilé des modèles et des lignes directrices pour l'adoption de ces technologies recommandées sur la carte radar technologique. Les guides fourniront des descriptions des questions fréquemment posées lors de leur utilisation, ou des cas d'utilisation des équipes qui les ont adoptées, ou encore des comparaisons entre différentes technologies alternatives. .

De temps en temps, pour ajuster le niveau de recommandation technologique, l'ingénieur en chef collectera les données d'utilisation réelles de chaque technologie sur le radar technologique existant, y compris le volume d'utilisation, les enregistrements d'incidents et l'expérience d'adoption (par exemple, combien d'années cette technologie a-t-elle technologie a-t-elle été introduite dans Zalando ? ), puis effectuera une notation. L'ingénieur en chef de la maintenance désigné créera d'abord une feuille de calcul des nouvelles notes technologiques, puis l'ouvrira à la communauté des ingénieurs en chef pour qu'elle vote afin de décider s'il faut "mettre à niveau" ou "rétrograder".

Zalando demande à chaque équipe de se référer à cette liste de technologies partagée comme référence pour sélectionner les technologies des nouveaux projets. Il n'est pas nécessaire de procéder à des évaluations techniques à partir de zéro à chaque lancement d'un nouveau projet. Les ingénieurs se réfèrent directement aux recommandations de la liste pour la sélection. Étant donné que chaque équipe se réfère au même tableau radar technologique pour la sélection, Zalando peut garantir que les technologies utilisées dans les différents projets entrent dans le cadre de cette liste technologique partagée afin d'atteindre l'objectif de la direction technique.

Zalando a renommé le département d'infrastructure numérique d'origine en département de construction (Build) et continue d'être responsable de la construction et de l'amélioration de la plate-forme de développement pour servir spécifiquement les développeurs. Le service de construction a commencé à étudier le parcours client du développeur, c'est-à-dire le parcours de travail quotidien du développeur, et a constaté que les plateformes de développement utilisées par les développeurs étaient assez dispersées. Chaque équipe communiquait avec ses membres à sa manière, et il y avait un manque de connaissances communes dans toute l’entreprise.Langue de communication.

Résolvez le problème de la fragmentation des processus de développement et créez un site Web de portail de développeur

Afin de résoudre le problème du flux de travail fragmenté des développeurs, le service de construction a créé le portail des développeurs Sunrise (Sunrise Platform), premier site Web que les développeurs ouvrent chaque jour lorsqu'ils se rendent au travail. Les utilisateurs de cette plateforme comprennent des ingénieurs logiciels, des ingénieurs de données, des directeurs techniques, des data scientists, des chefs de projet, des concepteurs, etc.

Sur la base du projet de plateforme de gestion ML open source Backstage de Spotify, le département de construction a intégré de nombreux outils techniques internes de Zalando, composants de développement, modèles de mise en œuvre et documents techniques pour concevoir cette plateforme de développement interne dédiée en libre-service (Internal Developer Platform, l'interface est). aussi fluide qu'une plate-forme de collaboration commerciale au niveau de l'entreprise, et les détails de la conception UX sont mis en valeur pour guider les développeurs dans leurs premiers pas. Même les développeurs peuvent consulter directement les données de surveillance communes des points d'accès responsables sur la plateforme Sunrise.

La première page que les développeurs voient lors de l'ouverture de la plateforme Sunrise rassemble tous leurs points d'informations couramment utilisés en une seule nuit, leur permettant de rechercher facilement les applications spécifiques dont ils sont responsables et les API couramment utilisées, et de voir rapidement qui est le propriétaire dédié de chaque application ou API ? Si nécessaire, vous pouvez soumettre directement un ticket sur cette page pour demander de l'aide, au lieu d'avoir à postuler via un autre système comme par le passé. La page d'accueil de la Sunrise Platform intègre également toutes les informations sur les événements des AP dont tous les développeurs sont responsables, ainsi que des documents de référence auxquels il est possible de souscrire.

Les ingénieurs ou autres utilisateurs peuvent vérifier la progression ou l'état de chaque étape du cycle de vie du produit, la surveiller en temps réel et collaborer avec des équipes et d'autres personnes pour résoudre les problèmes du processus CI/CD. Les membres de l'équipe Zalando peuvent même démarrer et déployer de nouvelles applications à l'aide de Sunrise.

Afin de créer cette plateforme de développement interne pratique et facile à utiliser, Zalando a partagé publiquement plusieurs clés.

Par exemple, ils ont directement modifié le code source du K8 pour résoudre le problème, transformant le K8 en un système qu'ils peuvent contrôler pour développer leur propre plate-forme cloud native. Par exemple, la plate-forme Sunrise utilise une fonction d'encapsulation kubectl auto-développée et personnalisée.

Lorsqu'une urgence survient et que vous devez créer rapidement un cluster k8s d'accès temporaire, cette fonction d'encapsulation peut s'avérer utile. Il n'est pas nécessaire de suivre la fonction d'encapsulation standard d'origine, ce qui réduit encore considérablement le temps de déploiement. Une autre clé est que Zalando numérise également « l'expérience de développement », ce qui signifie mesurer l'efficacité de la plateforme de développement sur l'expérience et la productivité des développeurs.

Zalando s'est référé aux conseils d'un livre « Accelerate : The Science of Lean Software and DevOps » (le nom de la version chinoise taïwanaise est « The Science Behind Lean Software & DevOps ») pour définir quatre indicateurs de la matrice de performance des développeurs.

Il comprend le délai de livraison, la fréquence de publication, le temps de récupération moyen (Time to Restore Service) et le taux d'échec des modifications (Change Fail Rate).C'est exactement ce que sont les quatre indicateurs utilisés dans le célèbre indicateur de performance DevOps DORA.

Cependant, la méthode spécifique de Zalando pour mesurer les quatre indicateurs est légèrement différente : le temps de préparation s’étend du Commit au lancement officiel de l’environnement. Fréquence de publication : le nombre de déploiements par développeur et par semaine. Le temps de récupération moyen est calculé à partir du moment où l'événement se produit jusqu'au moment où le service est restauré (et non à partir du moment où le service plante). Le taux d’échec de la dernière modification est calculé en fonction du nombre d’échecs survenus parmi toutes les périodes de déploiement.

Le plus grand avantage de la plateforme de développement Sunrise est qu'elle maintient tous les développeurs sur la même voie. En outre, elle peut également répondre aux besoins des différentes divisions organisationnelles du travail dans les départements asynchrones pour offrir de la flexibilité. Enfin, cette plateforme unique intègre également la conception de Zalando. La carte radar technique et toutes les expériences pratiques techniques de référence, les documents de test de l'équipe de vérification et même des modèles pertinents de pratiques et de processus matures. Il peut être concentré sur une plate-forme unique et il est recommandé à l'équipe de développement d'utiliser la technologie qu'elle souhaite particulièrement ajouter.

L'objectif de conception du site Web Zalando Sunrise est de « rendre les développeurs heureux et productifs ! » Il offre la meilleure expérience de développement et réduit autant que possible la charge cognitive de l'équipe technique et de l'équipe de développement pour augmenter la vitesse de développement et la productivité. C'était la première fois que Zalando révélait le processus de développement de la plateforme Sunrise lors de la Platform Engineering Conference de l'année dernière. Henning Jacobs, ingénieur en chef principal de Zalando, a souligné ce point.

Afin de résoudre le problème du flux de travail fragmenté des développeurs, le département construction de Zalando a créé un portail pour développeurs Sunrise (Sunrise Platform), premier site Web que les développeurs ouvrent chaque jour lorsqu'ils vont travailler. /Zalando

[Partie 3 du projet de plateforme Thousand Talents] Après que les décisions commerciales et les innovations techniques ont conduit à une augmentation des performances d'achat en ligne au cours de la semaine, nous nous sommes concentrés sur l'optimisation de l'expérience des développeurs et avons à nouveau adopté le SRE.

Sunrise (Sunrise Platform) utilise Backstage, le projet de plateforme de gestion ML open source de Spotify, intégrant de nombreux outils techniques internes de Zalando, composants de développement, modèles de mise en œuvre et documents techniques pour concevoir cette plateforme de développement interne dédiée en libre-service (Internal Developer Platform). Les développeurs de Zalando peuvent utiliser la plateforme Sunrise pour obtenir des informations sur divers outils et services créés par différents départements et équipes produit de l'entreprise, ainsi qu'obtenir tous les services d'assistance en un seul guichet. /Zalando

 

Les développeurs de Zalando peuvent rapidement examiner et gérer l'avancement des projets de produits dont ils sont responsables sur la plateforme Sunrise. /Zalando

Adoptez à nouveau activement le SRE et créez même un département SRE dédié

D'autre part, comme mentionné précédemment à propos de l'Online Shopping Week, Zalando a de nouveau mis en place une équipe de support SRE. En 2019, elle a directement créé un département SRE dédié. Ce département comprend une équipe d'enregistrement des journaux, une équipe de matrice de suivi, un équipe de réponse et coaching de startup.La composition de l'équipe permet à ce groupe de personnes de se concentrer sur la même vision et les mêmes objectifs à travers le même ensemble de KPI.

Andrew Howden a souligné : « L'objectif du département SRE est d'établir un ensemble de modèles clés d'opérations de maintenance commerciale, en se concentrant sur l'expérience client et en résolvant les problèmes d'alignement entre les départements. » Il a été impliqué dans le processus de développement SRE de Zalando au cours des quatre dernières années. années.

La maintenance clé de l'entreprise est un objectif de niveau de service (SLO) qui se concentre sur l'expérience client. En mesurant l'interaction entre les clients et le site Web, les perspectives des développeurs, des gestionnaires et des clients peuvent être intégrées dans le même ensemble de données, et ces données peuvent être utilisé pour améliorer la fiabilité.

Mettre en place une équipe SRE intégrée pour résoudre des problèmes spécifiques de maintenance et d'exploitation

Disposer d'un département SRE dédié ne suffit pas : Zalando a également mis en place une nouvelle équipe SRE appelée Embedded SRE pour résoudre les défis particuliers du processus de paiement. Par exemple, certains acheteurs fous cibleront soudainement des produits spécifiques pour des ventes importantes, provoquant des problèmes dans le système. Ce type de problème de processus de paiement implique la communication et la collaboration entre plus d'une douzaine d'applications, 4 ou 5 départements et des centaines d'ingénieurs. Andrew Howden est le leader de cette équipe et dirige 2 ingénieurs.

Andrew Howden a d'abord analysé l'impact des systèmes de produits associés derrière différentes exceptions de paiement et a trouvé des solutions une par une. Il a traité des problèmes tels qu'un grand nombre de requêtes qui surchargeaient le système et ne répondaient pas, provoquant le redémarrage automatique du logiciel de gestion de cluster, mais provoquant l'arrêt de l'ensemble du système.

Étant donné que le système de caisse est une architecture de microservices distribués à grande échelle, il a été conçu à l'origine en mode disjoncteur pour éviter d'appeler continuellement le même service défaillant. Cependant, comme la conception du disjoncteur est trop sensible, lorsqu'un système tombe en panne, il commence à affecter L'évaluation du taux d'erreur des disjoncteurs d'autres systèmes aura des effets en cascade.

Ou un autre problème est que, afin d'assurer la fiabilité, le système de caisse a conçu de nombreux mécanismes d'expansion automatique. Une fois que l'on constate que la vitesse de réponse à la demande de caisse d'un client a ralenti, elle s'étend automatiquement. Cependant, cela a provoqué une forte augmentation dans les coûts du cloud. Plus tard, il a été découvert qu'un petit nombre de clients génèrent un grand nombre de demandes en raison de leur comportement d'achat, ce qui entraîne une réponse lente de ce petit groupe de personnes. Tous les clients n'ont pas le même problème. Tant que chaque client est défini selon une norme pouvant couvrir 99.9% des clients généraux.La limite supérieure du nombre de demandes pour un client peut réduire l'impact du comportement fou d'un client spécifique sur le mécanisme d'expansion automatique.

Intégrer l'expérience dans la résolution de problèmes de maintenance dans la maintenance quotidienne

Car il ne faut généralement que 3 semaines pour résoudre un problème, mais il faut 3 mois pour transférer l'expérience de la gestion de ce problème anormal à l'équipe plateforme et aux différentes équipes responsables produit impliquées. Le dernier défi de l'intégration de l'équipe SRE est de savoir comment transformer l'expérience de résolution de ces problèmes de maintenance en une partie de la maintenance quotidienne.

Zalando organise chaque semaine des réunions d'examen opérationnel (WORM) au cours desquelles la communauté des ingénieurs en chef utilise les rapports post-analyse et examine divers problèmes de maintenance. Cependant, la qualité de ces rapports d’analyse varie considérablement et les ingénieurs consacrent beaucoup d’efforts à la préparation de ces documents.

L'intégration de l'équipe SRE permet d'automatiser le processus de production de tels rapports d'analyse et ajoute même des suggestions d'ajustement liées aux pratiques SRE. Le rapport peut être automatiquement envoyé à cette équipe, et le rapport peut également être automatiquement envoyé à l'équipe de gestion de l'ingénierie pour un examen hebdomadaire. .

L'équipe SRE intégrée a terminé les problèmes pour lesquels elle avait été créée à l'origine et a mis fin à la tâche de cette équipe à la mi-2023. Andrew Howden a également terminé son parcours chez Zalando en août et est devenu consultant dispensant des formations SRE.

Cependant, l’ingénierie de la plateforme Zalando n’a pas arrêté le rythme du changement et continue d’évoluer.

Évaluez l'article
Afficher le code de vérification