[Deel 3 van het Thousand Talents Platform Project] Nadat zakelijke beslissingen en technische innovaties gedurende de week tot een sterke stijging van de online winkelprestaties hadden geleid, hebben we ons gericht op het optimaliseren van de ervaring van ontwikkelaars en hebben we SRE opnieuw omarmd.

Hoe kun je ervoor zorgen dat de nieuwe functie de Black Friday-drukte kan weerstaan ​​en het vertrouwen van klanten in de website kan behouden als je een paar weken voor de online winkelweek een nieuwe functie wilt lanceren? Zalando koos dat jaar voor een gedurfde aanpak door de explosieve lading van online winkelen weken van tevoren na te bootsen in een formele omgeving op weekdagen om nieuwe functies te testen.
Nadat de technologische ontwikkeling van Zalando een volwassen stadium heeft bereikt, is de technische besluitvorming niet meer zo vrij als toen Radical Agile voor het eerst werd gelanceerd. In plaats daarvan wordt deze geleid door de senior engineeringgemeenschap en is er een technische radarkaart (Tech Radar) ontwikkeld om honderden teams te helpen bij het nemen van technische beslissingen. Elk team is verplicht om deze gedeelde technologie-aanbevelingslijst te raadplegen als referentie voor het selecteren van technologieën voor nieuwe projecten. Het is niet nodig om elke keer dat een nieuw project wordt gelanceerd vanaf het begin technische evaluaties uit te voeren, en selecties kunnen rechtstreeks worden gemaakt door te verwijzen naar de. lijst aanbevelingen. Omdat elk team voor de selectie naar hetzelfde technologieradardiagram verwijst, kan Zalando ervoor zorgen dat de technologieën die in verschillende projecten worden gebruikt binnen de reikwijdte van deze gedeelde technologielijst vallen om een ​​bedrijfsbrede technologiefocus te bereiken. / Zalando's technologische ontwikkeling is een volwassen stadium ingegaan, waarbij de technologieradar zich baseert op de technische beslissingen van honderden teams. Van 2009 tot 2019 heeft Zalando's organisatorische kant veel veranderingen ondergaan, en ook de technische kant heeft zich op zeer grote schaal ontwikkeld. gedecentraliseerde microservice-architectuur. Volgens cijfers die Zalando op de DevOpsCon 2022 in Berlijn onthulde, bedroeg het aantal microservices in 2019 maar liefst vier- tot vijfduizend. Op dit moment is de technologische ontwikkeling van Zalando in een volwassen stadium beland. De technische besluitvorming is niet meer zo vrij als toen Radical Agile voor het eerst werd gelanceerd. In plaats daarvan wordt deze geleid door een senior engineeringgemeenschap en een technische radarkaart (Tech Radar). ontwikkeld om 2 Honderden teams te helpen bij het nemen van technische beslissingen. Het ontwerp van deze technologieradarkaart verwijst naar de praktijk van ThoughtWorks Consulting Company, maar is doorontwikkeld tot Zalando's eigen exclusieve versie. Dit adviesbureau heeft bijna honderd technische termen die vier categorieën bestrijken: technologie, tools, platforms, raamwerken en talen. Ze zijn onderverdeeld in vier niveaus, afhankelijk van de mate van aanbevolen acceptatie, en gerangschikt op een cirkelvormige radarkaart, verdeeld in vier kwadranten. In dit technologieradardiagram worden de aanbevolen adoptieniveaus van verschillende soorten technologieën vermeld. Er worden verschillende ringen gebruikt om verschillende aanbevelingsniveaus weer te geven. Hoe dichter de ring bij de kern ligt, hoe hoger het aanbevelingsniveau van deze technologie. Zalando inventariseerde zijn behoeften en concentreerde zich uiteindelijk op softwareontwikkelingsgerelateerde technologieën, waaronder vier hoofdcategorieën: dataopslag, databeheer, infrastructuur en ontwikkelingstalen. Het aanbevolen adoptieniveau is verdeeld in vier niveaus, die vier ringen vormen, waarbij elke ring een ander aanbevelingsniveau vertegenwoordigt. Deze vier niveaus zijn: Adopt (aanbevolen voor adoptie), Proef (aanbevolen voor proef), Beoordelen (evaluatiefase) en Vasthouden (gereserveerd maar niet aanbevolen). Aanbevolen proeftechnologieën verwijzen naar technologieën die al succesvolle interne projecten hebben gehad en die op zijn minst worden gebruikt om echte problemen aan te pakken in plaats van gesimuleerde situaties. Ze hechten ook belang aan brede adoptie en zijn technologieën waarin senior executives bereid zijn om voor de lange termijn te investeren . niveau. De technologieën die in de evaluatiefase worden genoemd, verwijzen naar een groep technologieën die een duidelijke potentiële waarde hebben en die het waard zijn om te investeren. Door de gegevens van de proefplannen in alle producten automatisch te analyseren, kunnen we ontdekken welke technologieën zijn getest en de moeite waard zijn om in de proeffase te worden opgenomen. . De laatste categorie van gereserveerde niveaus is technologie die niet wordt aanbevolen, maar die nog steeds wordt onderhouden. Deze is niet alleen niet beschikbaar voor nieuwe projecten, maar wordt ook ontmoedigd om te worden gebruikt voor promotionele diensten. De toepassingsbreedte van dit soort technologie moet geleidelijk zijn versmald. Elke technologie gaat ook vergezeld van een technisch beschrijvingsdocument, waarin de voordelen, nadelen, beperkingen, gebruiksomstandigheden en geleerde lessen na het gebruik van de technologie worden vermeld. Elke technologie heeft een document en alle technische documenten worden verzameld in een technische kennisbank. Zalando heeft ook adoptiesjablonen en handleidingen voor deze aanbevolen technologieën samengesteld op de technologieradarkaart. Deze gidsen geven beschrijvingen van veelgestelde vragen bij het gebruik ervan, of gebruiksscenario's van teams die deze technologieën hebben overgenomen, of zelfs vergelijkingen tussen verschillende alternatieve technologieën.

Om het technologieaanbevelingsniveau aan te passen, verzamelt de hoofdingenieur af en toe de werkelijke gebruiksgegevens van elke technologie op de bestaande technologieradar, inclusief gebruiksvolume, incidentregistraties en adoptie-ervaring (bijvoorbeeld hoeveel jaar heeft dit technologie geïntroduceerd in Zalando?), en vervolgens een score uitvoeren. De aangewezen hoofdingenieur voor onderhoud zal eerst een spreadsheet met nieuwe technologiescores maken en deze vervolgens openstellen voor de gemeenschap van hoofdingenieurs, zodat er kan worden gestemd om te beslissen of er moet worden "geüpgraded" of "downgraded".

Zalando vereist dat elk team naar deze gedeelde technologielijst verwijst als referentie voor het selecteren van technologieën voor nieuwe projecten. Het is niet nodig om telkens opnieuw technische evaluaties uit te voeren wanneer een nieuw project wordt gelanceerd. Ingenieurs verwijzen voor de selectie rechtstreeks naar de lijstaanbevelingen. Omdat elk team voor de selectie naar hetzelfde technologieradardiagram verwijst, kan Zalando ervoor zorgen dat de technologieën die in verschillende projecten worden gebruikt binnen de reikwijdte van deze gedeelde technologielijst vallen om de focus van de technische richting te bereiken.

Zalando hernoemde de oorspronkelijke afdeling digitale infrastructuur naar de bouwafdeling (Build) en blijft verantwoordelijk voor het bouwen en verbeteren van het ontwikkelaarsplatform om ontwikkelaars specifiek te bedienen. De bouwafdeling begon het klanttraject van de ontwikkelaar te bestuderen, dat wil zeggen het dagelijkse werktraject van de ontwikkelaar, en ontdekte dat de door ontwikkelaars gebruikte ontwikkelingsplatforms behoorlijk verspreid waren. Elk team communiceerde op zijn eigen manier met zijn leden, en daar was een gebrek aan gemeenschappelijke kennis binnen het bedrijf.

Los het probleem van de fragmentatie van ontwikkelaarsprocessen op en maak een ontwikkelaarsportaalwebsite

Om het probleem van de gefragmenteerde workflow van ontwikkelaars op te lossen, heeft de bouwafdeling een ontwikkelaarsportaal Sunrise (Sunrise Platform) gecreëerd als de eerste website die ontwikkelaars elke dag openen als ze naar hun werk gaan. Gebruikers van dit platform zijn onder meer software-ingenieurs, data-ingenieurs, technisch directeuren, datawetenschappers, projectmanagers, ontwerpers, enz.

Gebaseerd op Spotify's open source ML-beheerplatformproject Backstage, heeft de bouwafdeling veel interne technische tools, ontwikkelingscomponenten, implementatiesjablonen en technische documenten van Zalando geïntegreerd om dit interne speciale selfservice-ontwikkelaarsplatform (Internal Developer Platform) te ontwerpen zo soepel als een commercieel samenwerkingsplatform op ondernemingsniveau, en de UX-ontwerpdetails worden benadrukt om ontwikkelaars te begeleiden om aan de slag te gaan. Zelfs ontwikkelaars kunnen direct de algemene monitoringgegevens van verantwoordelijke AP's op het Sunrise-platform zien.

De eerste pagina die ontwikkelaars zien wanneer ze het Sunrise Platform openen, verzamelt al hun veelgebruikte informatiepunten in deze ene nacht, zodat ze gemakkelijk kunnen zoeken naar de specifieke applicaties waarvoor ze verantwoordelijk zijn en naar veelgebruikte API's, en ze ook snel kunnen zien wie is de specifieke eigenaar van elke applicatie of API. Indien nodig kunt u op deze pagina direct een ticket indienen om hulp te zoeken, in plaats van dat u zich zoals in het verleden via een ander systeem moet aanmelden. De startpagina van het Sunrise Platform integreert ook alle gebeurtenisinformatie van de AP's waarvoor alle ontwikkelaars verantwoordelijk zijn, evenals referentiedocumenten waarop kan worden geabonneerd.

Ingenieurs of andere gebruikers kunnen de voortgang of status van elke fase van de productlevenscyclus controleren, deze in realtime volgen en samenwerken met teams en andere individuen om problemen in het CI/CD-proces op te lossen. Zalando-teamleden kunnen zelfs nieuwe applicaties opstarten en implementeren met behulp van Sunrise.

Om dit handige en gebruiksvriendelijke interne ontwikkelaarsplatform te creëren, heeft Zalando verschillende sleutels publiekelijk gedeeld.

Ze hebben bijvoorbeeld de broncode van K8s rechtstreeks aangepast om het probleem op te lossen, waardoor K8s in een systeem is veranderd dat ze kunnen controleren om hun eigen cloud-native platform te ontwikkelen. Het Sunrise-platform maakt bijvoorbeeld gebruik van een zelf ontwikkelde en op maat gemaakte kubectl-inkapselingsfunctie.

Wanneer zich een noodgeval voordoet en u snel een k8s-cluster met tijdelijke toegang moet maken, kan deze inkapselingsfunctie van pas komen. Het is niet nodig om de originele standaard inkapselingsfunctie te volgen, wat de implementatietijd nog verder verkort. Een andere sleutel is dat Zalando ook de ‘ontwikkelervaring’ digitaliseert, wat betekent dat de effectiviteit van het ontwikkelplatform op de ontwikkelaarservaring en productiviteit wordt gemeten.

Zalando verwees naar de aanbevelingen van een boek "Accelerate: The Science of Lean Software and DevOps" (de naam van de Taiwanese Chinese versie is "The Science Behind Lean Software & DevOps") om vier indicatoren van de prestatiematrix van ontwikkelaars te definiëren.

Het omvat de doorlooptijd, releasefrequentie, gemiddelde hersteltijd (Time to Restore Service) en het aantal mislukte wijzigingen (Change Fail Rate). Dit zijn precies de vier indicatoren die worden gebruikt in het bekende DevOps-prestatie-indicator DORA.

De specifieke methode van Zalando om de vier indicatoren te meten is echter iets anders. De voorbereidingstijd loopt van Commit tot de officiële lancering van het milieu. Releasefrequentie: het aantal implementaties per ontwikkelaar per week. De gemiddelde hersteltijd wordt berekend vanaf het moment dat de gebeurtenis plaatsvindt tot het moment dat de service wordt hersteld (niet vanaf het moment dat de service crasht). Het percentage mislukte wijzigingen bij de laatste wijziging wordt berekend op basis van het aantal fouten dat zich tijdens alle implementatietijden voordoet.

Het grootste voordeel van het Sunrise-ontwikkelaarsplatform is dat het alle ontwikkelaars op hetzelfde spoor houdt. Bovendien kan het ook voldoen aan de behoeften van verschillende organisatorische werkafdelingen op asynchrone afdelingen om flexibiliteit te bieden van Zalando. De technische radarkaart en alle referentietechnische praktijkervaring, de testdocumenten van het verificatieteam en zelfs relevante sjablonen van volwassen praktijken en processen. Het kan worden gefocust via één enkel platform, en het wordt aanbevolen dat het ontwikkelingsteam de technologie gebruikt die zij in het bijzonder willen toevoegen.

Het ontwerpdoel van de Zalando Sunrise-website is om "ontwikkelaars blij en productief te maken!". Het biedt de beste ontwikkelaarservaring en vermindert de cognitieve belasting van het technische team en het ontwikkelingsteam zoveel mogelijk om de ontwikkelingssnelheid en productiviteit te verhogen. Dit was de eerste keer dat Zalando het ontwikkelingsproces van het Sunrise Platform openbaar maakte tijdens de Platform Engineering Conference van vorig jaar. Henning Jacobs, senior hoofdingenieur van Zalando, benadrukte deze kwestie in het bijzonder.

Om het probleem van de gefragmenteerde workflow voor ontwikkelaars op te lossen, heeft de bouwafdeling van Zalando een ontwikkelaarsportaal Sunrise (Sunrise Platform) gecreëerd als de eerste website die ontwikkelaars elke dag openen als ze naar hun werk gaan. / Zalando

[Deel 3 van het Thousand Talents Platform Project] Nadat zakelijke beslissingen en technische innovaties gedurende de week tot een sterke stijging van de online winkelprestaties hadden geleid, hebben we ons gericht op het optimaliseren van de ervaring van ontwikkelaars en hebben we SRE opnieuw omarmd.

Sunrise (Sunrise Platform) gebruikt Spotify's open source ML-beheerplatformproject Backstage als basis, waarbij veel interne technische tools, ontwikkelingscomponenten, implementatiesjablonen en technische documenten van Zalando worden geïntegreerd om dit interne speciale selfservice-ontwikkelaarsplatform (Internal Developer Platform) te ontwerpen. Zalando-ontwikkelaars kunnen het Sunrise-platform gebruiken om informatie te verkrijgen over verschillende tools en diensten die door verschillende afdelingen en productteams binnen het bedrijf zijn gecreëerd, en om alle ondersteunende diensten op één plek te verkrijgen. / Zalando

 

Zalando-ontwikkelaars kunnen op het Sunrise-platform snel de voortgang bekijken en beheren van de productprojecten waarvoor zij verantwoordelijk zijn. / Zalando

SRE weer actief omarmen en zelfs een speciale SRE-afdeling opzetten

Aan de andere kant heeft Zalando, zoals eerder vermeld bij de Online Shopping Week, opnieuw een SRE-ondersteuningsteam opgericht. In 2019 heeft het bedrijf rechtstreeks een speciale SRE-afdeling opgericht. Deze afdeling omvat een logregistratieteam, een trackingmatrixteam en een incident responsteam en startup-coaching. Dankzij de teamsamenstelling kan deze groep mensen zich via dezelfde set KPI's op dezelfde visie en doelen concentreren.

Andrew Howden legt uit: "Het doel van de SRE-afdeling is het opzetten van een belangrijk bedrijfsonderhoudsmodel, het focussen op klantervaring en het oplossen van afstemmingsproblemen tussen afdelingen." Hij is de afgelopen vier jaar betrokken geweest bij Zalando's SRE-ontwikkelingsproces.

Belangrijk bedrijfsonderhoud is een serviceniveaudoelstelling (SLO) die zich richt op de klantervaring. Door de interactie tussen klanten en de website te meten, kunnen de perspectieven van ontwikkelaars, managers en klanten worden geïntegreerd in dezelfde set gegevens, en deze gegevens kunnen ook worden geïntegreerd. worden gebruikt om de betrouwbaarheid te verbeteren.

Zet een ingebed SRE-team op om specifieke onderhouds- en exploitatieproblemen op te lossen

Het hebben van een speciale SRE-afdeling is niet voldoende. Zalando heeft ook een nieuw SRE-team opgezet, Embedded SRE genaamd, om de speciale uitdagingen van het afrekenproces op te lossen. Sommige gekke kopers richten zich bijvoorbeeld plotseling op specifieke producten voor grote verkopen, wat systeemproblemen veroorzaakt. Bij dit soort betaalprocesproblemen is communicatie en samenwerking betrokken tussen meer dan een dozijn applicaties, vier of vijf afdelingen en honderden technici. Andrew Howden is de leider van dit team en geeft leiding aan 4 engineers.

Andrew Howden analyseerde eerst de impact van gerelateerde productsystemen achter verschillende kassa-uitzonderingen en vond één voor één oplossingen. Hij heeft problemen aangepakt zoals een groot aantal verzoeken die het systeem overbelastten en niet reageerden, waardoor de clusterbeheersoftware automatisch opnieuw opstartte, waardoor het hele systeem werd afgesloten.

Omdat het kassasysteem een ​​grootschalige gedistribueerde microservice-architectuur is, is het oorspronkelijk ontworpen in de stroomonderbrekermodus om te voorkomen dat voortdurend dezelfde defecte service wordt aangeroepen. Omdat het ontwerp van de stroomonderbreker echter te gevoelig is, wordt het systeem defect begint van invloed te zijn. De beoordeling van het foutenpercentage van stroomonderbrekers in andere systemen zal trapsgewijze effecten hebben.

Een ander probleem is dat het kassasysteem, om de betrouwbaarheid te garanderen, veel automatische uitbreidingsmechanismen heeft ontworpen. Zodra wordt vastgesteld dat de reactiesnelheid van het afrekenverzoek van een klant is vertraagd, wordt dit automatisch uitgebreid Later werd ontdekt dat een klein aantal klanten een groot aantal verzoeken genereert vanwege hun winkelgedrag, waardoor deze kleine groep mensen traag reageert gedefinieerd volgens een standaard die 99.9% van de algemene klanten kan dekken. De bovengrens voor het aantal verzoeken voor een klant kan de impact van het gekke gedrag van een specifieke klant op het automatische uitbreidingsmechanisme verminderen.

Integreer ervaring met het oplossen van onderhoudsproblemen in het dagelijks onderhoud

Omdat het meestal maar 3 weken duurt om een ​​probleem op te lossen, maar het duurt 3 maanden om de ervaring met het omgaan met dit abnormale probleem over te dragen aan het platformteam en de verschillende betrokken productverantwoordelijke teams. De laatste uitdaging bij het inbedden van het SRE-team is hoe je de ervaring met het oplossen van deze onderhoudsproblemen kunt omzetten in een onderdeel van het dagelijks onderhoud.

Zalando houdt wekelijks operationele beoordelingsvergaderingen (WORM's). De gemeenschap van hoofdingenieurs gebruikt deze vergadering om post-analyserapporten te beoordelen en verschillende onderhoudsproblemen te bespreken. De kwaliteit van deze analyserapporten varieert echter enorm, en ingenieurs besteden veel moeite aan het voorbereiden van deze documenten.

Het inbedden van het SRE-team helpt het productieproces van dergelijke analyserapporten te automatiseren en voegt zelfs aanpassingssuggesties toe met betrekking tot SRE-praktijken. Het rapport kan automatisch naar dit team worden verzonden, en het rapport kan ook automatisch naar het technische managementteam worden gestuurd voor wekelijkse beoordeling .

Medio 2023 rondde het ingebedde SRE-team de problemen af ​​waarvoor het oorspronkelijk was opgezet en beëindigde het de taak van dit team. Ook Andrew Howden beëindigde in augustus zijn traject bij Zalando en werd consultant die SRE-trainingen gaf.

De platformtechniek van Zalando heeft het tempo van de veranderingen echter niet kunnen tegenhouden en evolueert nog steeds.

Beoordeel het artikel
Verificatiecode tonen
👩🏻‍🦱客服">