[Teil 3 des Thousand Talents Platform Project] Nachdem Geschäftsentscheidungen und technische Innovationen im Laufe der Woche zu einem Anstieg der Online-Shopping-Leistung führten, konzentrierten wir uns auf die Optimierung des Entwicklererlebnisses und setzten erneut auf SRE.

Wenn Sie ein paar Wochen vor der Online-Shopping-Woche eine neue Funktion einführen möchten, wie stellen Sie sicher, dass die neue Funktion dem Andrang am Black Friday standhält und das Vertrauen der Kunden in die Website aufrechterhält? Zalando ging in diesem Jahr einen mutigen Ansatz und stellte die explosive Menge an Online-Einkäufen Wochen im Voraus in einer formellen Umgebung an Wochentagen nach, um neue Funktionen zu testen.
Nachdem die Technologieentwicklung von Zalando in ein ausgereiftes Stadium eingetreten ist, hat die technische Entscheidungsfindung nicht mehr die gleiche Freiheit wie bei der Einführung von Radical Agile. Stattdessen wird sie von der hochrangigen Ingenieursgemeinschaft geleitet, und es wurde ein technisches Radardiagramm (Tech Radar) eingeführt Entwickelt, um Hunderte von Teams bei technischen Entscheidungen zu unterstützen. Alle Teams müssen diese gemeinsame Technologieempfehlungsliste als Referenz für die Auswahl von Technologien für neue Projekte heranziehen. Sie müssen nicht jedes Mal, wenn ein neues Projekt gestartet wird, technische Bewertungen von Grund auf durchführen, sondern beziehen sich bei der Auswahl direkt auf die Listenempfehlungen. Da sich jedes Team bei der Auswahl auf dasselbe Technologie-Radardiagramm bezieht, kann Zalando sicherstellen, dass die in verschiedenen Projekten verwendeten Technologien im Rahmen dieser gemeinsamen Technologieliste liegen, um einen unternehmensweiten Technologiefokus zu erreichen. / Die Technologieentwicklung von Zalando ist in ein ausgereiftes Stadium eingetreten und hat sich auf das Technologieradar verlassen, um sich auf die technischen Entscheidungen von Hunderten von Teams zu konzentrieren. Von 2009 bis 2019 hat die organisatorische Seite von Zalando viele Veränderungen erfahren, und auch die technische Seite hat sich sehr umfangreich entwickelt dezentrale Microservice-Architektur. Nach Angaben von Zalando auf der Berliner DevOpsCon 2022 lag die Zahl der Microservices im Jahr 2019 bei vier- bis fünftausend. Zu diesem Zeitpunkt ist die Technologieentwicklung bei Zalando nicht mehr so ​​frei wie bei der Einführung von Radical Agile, sondern wird von einer hochrangigen Ingenieursgemeinschaft und einem technischen Radardiagramm (Tech Radar) geleitet Entwickelt, um 2 Teams bei technischen Entscheidungen zu unterstützen. Das Design dieses Technologie-Radardiagramms bezieht sich auf die Praxis der ThoughtWorks Consulting Company, wurde jedoch zu Zalandos eigener exklusiver Version weiterentwickelt. Dieses Beratungsunternehmen verfügt über fast hundert Fachbegriffe, die vier Kategorien abdecken: Technologie, Tools, Plattformen, Frameworks und Sprachen. Sie sind entsprechend dem Grad der empfohlenen Akzeptanz in ein kreisförmiges Radardiagramm unterteilt, das in vier Quadranten unterteilt ist. In diesem Technologie-Radardiagramm werden die empfohlenen Akzeptanzgrade verschiedener Technologietypen aufgeführt. Zur Darstellung unterschiedlicher Empfehlungsgrade werden unterschiedliche Ringe verwendet. Je näher der Ring am Kern liegt, desto höher ist der Empfehlungsgrad für diese Technologie. Zalando zog eine Bestandsaufnahme seiner Bedürfnisse und konzentrierte sich schließlich auf Technologien im Zusammenhang mit der Softwareentwicklung, darunter vier Hauptkategorien: Datenspeicherung, Datenverwaltung, Infrastruktur und Entwicklungssprachen. Die empfohlene Akzeptanzstufe ist in vier Stufen unterteilt, die vier Ringe bilden, wobei jeder Ring eine andere Empfehlungsstufe darstellt. Zu diesen vier Ebenen gehören: Adopt (zur Einführung empfohlen), Trial (zur Testversion empfohlen), Assess (Evaluierungsphase) und Hold (reserviert, aber nicht empfohlen). Empfohlene Testtechnologien beziehen sich auf Technologien, die bereits erfolgreich in internen Projekten durchgeführt wurden und zumindest zur Bewältigung realer Probleme und nicht für simulierte Situationen eingesetzt werden. Sie legen außerdem Wert auf eine breite Akzeptanz und sind Technologien, in die Führungskräfte langfristig investieren möchten . Ebene. Die in der Bewertungsphase aufgeführten Technologien beziehen sich auf eine Gruppe von Technologien, die einen offensichtlichen potenziellen Wert haben und eine Investition wert sind. Durch die automatische Analyse der Daten der Testpläne in allen Produkten können wir herausfinden, welche Technologien getestet wurden und lohnenswert sind in die Erprobungsphase einbezogen zu werden. . Die letzte Kategorie der reservierten Ebenen ist Technologie, die nicht empfohlen wird, aber weiterhin beibehalten wird. Sie ist nicht nur für neue Projekte nicht verfügbar, es wird auch davon abgeraten, sie für Werbedienste zu verwenden. Der Anwendungsbereich dieser Art von Technologie muss schrittweise erweitert werden verengt. Jeder Technologie liegt außerdem ein technisches Beschreibungsdokument bei, in dem die Vorteile, Nachteile, Einschränkungen, Nutzungsbedingungen und gewonnenen Erkenntnisse nach der Verwendung der Technologie aufgeführt sind. Für jede Technologie gibt es ein Dokument, und alle technischen Dokumente werden in einer technischen Wissensdatenbank zusammengestellt. Zalando hat außerdem Einführungsvorlagen und Leitfäden für diese empfohlenen Technologien im Technologieradar-Diagramm zusammengestellt. Die Leitfäden enthalten Beschreibungen häufig gestellter Fragen zu deren Verwendung oder Anwendungsfälle von Teams, die sie eingeführt haben, oder sogar Vergleiche zwischen verschiedenen alternativen Technologien.

Um die Technologieempfehlungsstufe anzupassen, sammelt der Chefingenieur von Zeit zu Zeit die tatsächlichen Nutzungsdaten jeder Technologie auf dem vorhandenen Technologieradar, einschließlich Nutzungsvolumen, Vorfallaufzeichnungen und Einführungserfahrung (z. B. wie viele Jahre ist diese vorhanden). Technologie wurde in Zalando eingeführt? ) und führt dann eine Bewertung durch. Der designierte Wartungschef erstellt zunächst eine Tabelle mit den neuen Technologiebewertungen und öffnet sie dann der Chefingenieur-Community zur Abstimmung über ein „Upgrade“ oder „Downgrade“.

Zalando verlangt, dass jedes Team diese gemeinsame Technologieliste als Referenz für die Auswahl von Technologien für neue Projekte heranzieht. Es ist nicht erforderlich, jedes Mal, wenn ein neues Projekt gestartet wird, technische Bewertungen von Grund auf durchzuführen. Ingenieure beziehen sich bei der Auswahl direkt auf die Listenempfehlungen. Da sich jedes Team bei der Auswahl auf dasselbe Technologie-Radardiagramm bezieht, kann Zalando sicherstellen, dass die in verschiedenen Projekten verwendeten Technologien im Rahmen dieser gemeinsamen Technologieliste liegen, um den Schwerpunkt der technischen Ausrichtung zu erreichen.

Zalando benannte die ursprüngliche Abteilung für digitale Infrastruktur in die Abteilung „Bau“ (Build) um und ist weiterhin für den Aufbau und die Verbesserung der Entwicklerplattform verantwortlich, um speziell Entwicklern zu dienen. Die Bauabteilung begann, die Customer Journey des Entwicklers, also die tägliche Arbeitsreise des Entwicklers, zu untersuchen und stellte fest, dass die von den Entwicklern genutzten Entwicklungsplattformen recht verstreut waren. Jedes Team kommunizierte auf seine eigene Art und Weise mit seinen Mitgliedern gemeinsames Wissen im gesamten Unternehmen.

Lösen Sie das Problem der Fragmentierung des Entwicklerprozesses und erstellen Sie eine Entwicklerportal-Website

Um das Problem des fragmentierten Entwickler-Workflows zu lösen, hat die Bauabteilung das Entwicklerportal Sunrise (Sunrise Platform) als erste Website erstellt, die Entwickler jeden Tag öffnen, wenn sie zur Arbeit gehen. Zu den Nutzern dieser Plattform gehören Softwareentwickler, Dateningenieure, technische Direktoren, Datenwissenschaftler, Projektmanager, Designer usw.

Basierend auf Spotifys Open-Source-ML-Management-Plattform-Projekt Backstage hat die Konstruktionsabteilung viele interne technische Tools, Entwicklungskomponenten, Implementierungsvorlagen und technische Dokumente integriert, um diese interne dedizierte Self-Service-Entwicklerplattform (Internal Developer Platform) zu entwerfen So reibungslos wie eine kommerzielle Kollaborationsplattform auf Unternehmensebene, und die Details des UX-Designs werden hervorgehoben, um Entwicklern den Einstieg zu erleichtern. Auch Entwickler können auf der Sunrise-Plattform direkt die gemeinsamen Monitoring-Daten der verantwortlichen APs einsehen.

Die erste Seite, die Entwickler beim Öffnen der Sunrise-Plattform sehen, fasst alle häufig verwendeten Informationspunkte in dieser einen Nacht zusammen, sodass sie einfach nach den spezifischen Anwendungen, für die sie verantwortlich sind, und häufig verwendeten APIs suchen und schnell erkennen können, wer der dedizierte Eigentümer ist Bei Bedarf können Sie auf dieser Seite direkt ein Ticket einreichen, um Hilfe zu erhalten, anstatt sich wie in der Vergangenheit über ein anderes System bewerben zu müssen. Auf der Homepage der Sunrise-Plattform sind außerdem alle Veranstaltungsinformationen der APs integriert, für die alle Entwickler verantwortlich sind, sowie Referenzdokumente, die abonniert werden können.

Ingenieure oder andere Benutzer können den Fortschritt oder Status jeder Phase des Produktlebenszyklus überprüfen, ihn in Echtzeit überwachen und mit Teams und anderen Personen zusammenarbeiten, um Probleme im CI/CD-Prozess zu beheben. Zalando-Teammitglieder können mit Sunrise sogar neue Anwendungen booten und bereitstellen.

Um diese praktische und benutzerfreundliche interne Entwicklerplattform zu schaffen, hat Zalando mehrere Schlüssel öffentlich geteilt.

Sie haben beispielsweise den K8s-Quellcode direkt geändert, um das Problem zu lösen, und K8s in ein System verwandelt, das sie steuern können, um ihre eigene Cloud-native-Plattform zu entwickeln. Beispielsweise nutzt die Sunrise-Plattform eine selbst entwickelte und angepasste Kubectl-Kapselungsfunktion.

Wenn ein Notfall eintritt und Sie schnell einen temporären Zugriffs-K8S-Cluster erstellen müssen, kann diese Kapselungsfunktion nützlich sein. Es ist nicht erforderlich, der ursprünglichen Standard-Kapselungsfunktion zu folgen, was die Bereitstellungszeit weiter verkürzt. Ein weiterer Schlüssel liegt darin, dass Zalando auch die „Entwicklungserfahrung“ digitalisiert, was bedeutet, dass die Wirksamkeit der Entwicklungsplattform an der Entwicklererfahrung und Produktivität gemessen wird.

Zalando bezog sich auf die Empfehlungen eines Buches „Accelerate: The Science of Lean Software and DevOps“ (der Name der taiwanesisch-chinesischen Version lautet „The Science Behind Lean Software & DevOps“), um vier Indikatoren der Entwicklerleistungsmatrix zu definieren.

Dazu gehören die Vorlaufzeit, die Veröffentlichungshäufigkeit, die durchschnittliche Wiederherstellungszeit (Time to Restore Service) und die Änderungsfehlerrate (Change Fail Rate). Dies sind genau die vier Indikatoren, die im bekannten DevOps-Leistungsindikator DORA verwendet werden.

Die spezifische Methode von Zalando zur Messung der vier Indikatoren unterscheidet sich jedoch geringfügig. Die Vorbereitungszeit reicht vom Commit bis zum offiziellen Start der Umgebung. Veröffentlichungshäufigkeit: die Anzahl der Bereitstellungen pro Entwickler und Woche. Die durchschnittliche Wiederherstellungszeit wird vom Zeitpunkt des Auftretens des Ereignisses bis zur Wiederherstellung des Dienstes berechnet (nicht vom Zeitpunkt des Dienstabsturzes). Die Fehlerrate der letzten Änderung wird auf der Grundlage der Anzahl der Fehler berechnet, die bei allen Bereitstellungszeiten auftreten.

Der größte Vorteil der Sunrise-Entwicklerplattform besteht darin, dass sie alle Entwickler auf dem gleichen Weg hält. Darüber hinaus kann sie auch die Anforderungen verschiedener organisatorischer Arbeitsbereiche in asynchronen Abteilungen erfüllen, um Flexibilität zu bieten von Zalando und allen Referenzen aus der technischen Praxis, den Testdokumenten des Verifizierungsteams und sogar relevanten Vorlagen ausgereifter Praktiken und Prozesse. Es kann über eine einzige Plattform fokussiert werden und es wird empfohlen, dass das Entwicklungsteam die Technologie verwendet, die es besonders hinzufügen möchte.

Das Designziel der Zalando Sunrise-Website besteht darin, „Entwickler glücklich und produktiv zu machen!“ Sie bietet die beste Entwicklererfahrung und reduziert die kognitive Belastung des technischen Teams und des Entwicklungsteams so weit wie möglich, um die Entwicklungsgeschwindigkeit und Produktivität zu erhöhen. Dies war das erste Mal, dass Zalando den Entwicklungsprozess der Sunrise-Plattform auf der letztjährigen Platform Engineering Conference offenlegte. Henning Jacobs, leitender Chefingenieur von Zalando, betonte diesen Sachverhalt.

Um das Problem des fragmentierten Entwickler-Workflows zu lösen, hat die Konstruktionsabteilung von Zalando das Entwicklerportal Sunrise (Sunrise Platform) als erste Website erstellt, die Entwickler jeden Tag öffnen, wenn sie zur Arbeit gehen. /Zalando

[Teil 3 des Thousand Talents Platform Project] Nachdem Geschäftsentscheidungen und technische Innovationen im Laufe der Woche zu einem Anstieg der Online-Shopping-Leistung führten, konzentrierten wir uns auf die Optimierung des Entwicklererlebnisses und setzten erneut auf SRE.

Sunrise (Sunrise Platform) nutzt Spotifys Open-Source-ML-Management-Plattform-Projekt Backstage als Basis und integriert viele Zalando-interne technische Tools, Entwicklungskomponenten, Implementierungsvorlagen und technische Dokumente, um diese interne dedizierte Self-Service-Entwicklerplattform (Internal Developer Platform) zu entwerfen. Zalando-Entwickler können sich über die Sunrise-Plattform über verschiedene Tools und Services informieren, die von verschiedenen Abteilungen und Produktteams im gesamten Unternehmen entwickelt wurden, und alle Supportleistungen aus einer Hand erhalten. /Zalando

 

Auf der Sunrise-Plattform können Zalando-Entwickler den Fortschritt der von ihnen verantworteten Produktprojekte schnell überprüfen und verwalten. /Zalando

Setzen Sie sich wieder aktiv für SRE ein und richten Sie sogar eine eigene SRE-Abteilung ein

Andererseits hat Zalando, wie bereits bei der Online Shopping Week erwähnt, erneut ein SRE-Supportteam eingerichtet. Zu dieser Abteilung gehören ein Protokollaufzeichnungsteam, ein Tracking-Matrix-Team und ein Incident Das Reaktionsteam und das Startup-Coaching ermöglichen es dieser Gruppe von Personen, sich durch dieselben KPIs auf dieselbe Vision und dieselben Ziele zu konzentrieren.

Andrew Howden betonte: „Das Ziel der SRE-Abteilung besteht darin, eine Reihe wichtiger Geschäftsbetriebsmodelle zu etablieren, die sich auf das Kundenerlebnis konzentrieren und abteilungsübergreifende Abstimmungsprobleme lösen. Er war in den letzten vier Jahren am SRE-Entwicklungsprozess von Zalando beteiligt.“ Jahre.

Die wichtigste Geschäftswartung ist ein Service-Level-Ziel (SLO), das sich auf das Kundenerlebnis konzentriert. Durch die Messung der Interaktion zwischen Kunden und der Website können die Perspektiven von Entwicklern, Managern und Kunden in denselben Datensatz integriert werden, und diese Daten können zur Verbesserung der Zuverlässigkeit eingesetzt werden.

Richten Sie ein eingebettetes SRE-Team ein, um spezifische Wartungs- und Betriebsprobleme zu lösen

Um die besonderen Herausforderungen des Checkout-Prozesses zu lösen, reicht es nicht aus, eine eigene SRE-Abteilung zu haben. Einige verrückte Käufer zielen beispielsweise plötzlich auf bestimmte Produkte ab, um große Verkäufe zu erzielen, was zu Systemproblemen führt. Diese Art von Checkout-Prozessproblemen erfordert die Kommunikation und Zusammenarbeit zwischen mehr als einem Dutzend Anwendungen, 4 oder 5 Abteilungen und Hunderten von Ingenieuren. Andrew Howden ist der Leiter dieses Teams und leitet zwei Ingenieure.

Andrew Howden analysierte zunächst die Auswirkungen verwandter Produktsysteme hinter verschiedenen Checkout-Ausnahmen und fand nacheinander Lösungen. Er hat sich mit Problemen wie einer großen Anzahl von Anfragen befasst, die das System überlasteten und nicht reagierten, was dazu führte, dass die Cluster-Management-Software automatisch neu gestartet wurde, das gesamte System jedoch heruntergefahren wurde.

Da es sich bei dem Kassensystem um eine groß angelegte verteilte Microservice-Architektur handelt, wurde es ursprünglich im Leistungsschaltermodus entwickelt, um zu vermeiden, dass immer wieder derselbe ausgefallene Dienst aufgerufen wird. Da das Design des Leistungsschalters jedoch zu empfindlich ist, kann es passieren, dass ein System ausfällt beginnt sich auszuwirken Die Fehlerratenbeurteilung von Leistungsschaltern in anderen Systemen wird kaskadierende Auswirkungen haben.

Ein weiteres Problem besteht darin, dass das Kassensystem viele automatische Erweiterungsmechanismen entwickelt hat. Sobald festgestellt wird, dass sich die Reaktionsgeschwindigkeit auf die Kassenanfrage eines Kunden verlangsamt, wird dies jedoch automatisch zu einem starken Anstieg führen Später stellte sich heraus, dass eine kleine Anzahl von Kunden aufgrund ihres Einkaufsverhaltens eine große Anzahl von Anfragen generiert, was dazu führt, dass nicht alle Kunden das gleiche Problem haben Definiert nach einem Standard, der 99.9 % der allgemeinen Kunden abdecken kann. Die Obergrenze für die Anzahl der Anfragen für einen Kunden kann die Auswirkungen des verrückten Verhaltens eines bestimmten Kunden auf den automatischen Erweiterungsmechanismus verringern.

Integrieren Sie Erfahrungen bei der Lösung von Wartungsproblemen in die tägliche Wartung

Denn normalerweise dauert es nur 3 Wochen, ein Problem zu lösen, aber es dauert 3 Monate, um die Erfahrung im Umgang mit diesem ungewöhnlichen Problem an das Plattformteam und die verschiedenen beteiligten Produktverantwortlichen zu übertragen. Die letzte Herausforderung bei der Einbindung des SRE-Teams besteht darin, die Erfahrung bei der Lösung dieser Wartungsprobleme in einen Teil der täglichen Wartung umzuwandeln.

Zalando hält jede Woche wöchentliche Operational Review Meetings (WORMs) ab. Die Community der Chefingenieure nutzt diese Treffen, um Post-Analyse-Berichte zu überprüfen und verschiedene Wartungsprobleme zu besprechen. Die Qualität dieser Analyseberichte ist jedoch sehr unterschiedlich und die Ingenieure investieren viel Aufwand in die Erstellung dieser Dokumente.

Durch die Einbindung des SRE-Teams kann der Erstellungsprozess solcher Analyseberichte automatisiert werden, und es werden sogar Anpassungsvorschläge im Zusammenhang mit SRE-Praktiken hinzugefügt. Der Bericht kann automatisch an dieses Team gesendet werden, und der Bericht kann auch automatisch zur wöchentlichen Überprüfung an das Engineering-Management-Team gesendet werden .

Mitte 2023 schloss das Embedded SRE-Team die Aufgaben ab, die es ursprünglich lösen sollte, und beendete die Aufgabe dieses Teams im August. Auch Andrew Howden beendete seine Karriere bei Zalando und wandte sich einer Karriere als Berater für SRE-Schulungen zu.

Allerdings hat die Plattformentwicklung von Zalando das Tempo des Wandels nicht aufgehalten und entwickelt sich weiter.

Bewerten Sie den Artikel
Bestätigungscode anzeigen
👩🏻‍🦱客服">
Kein Account?👨售后  忘记 密码?