Per lanciare una nuova funzionalità qualche settimana prima della settimana dello shopping online, come garantire che la nuova funzionalità possa resistere alla folla del Black Friday e mantenere la fiducia dei clienti nel sito web? Quell'anno Zalando adottò un approccio coraggioso, ricreando il carico esplosivo dello shopping online con settimane di anticipo in un ambiente formale nei giorni feriali per testare nuove funzionalità.
Dopo che lo sviluppo tecnologico di Zalando è entrato in una fase matura, il processo decisionale tecnico non è più così libero come quando è stato lanciato per la prima volta Radical Agile, ma è guidato dalla comunità di ingegneri senior ed è stato sviluppato un grafico radar tecnico (Tech Radar). per assistere centinaia di squadre nel prendere decisioni tecniche. Tutti i team sono tenuti a fare riferimento a questo elenco di raccomandazioni tecnologiche condivise come riferimento per la selezione delle tecnologie per i nuovi progetti. Non è necessario condurre valutazioni tecniche da zero ogni volta che viene avviato un nuovo progetto, ma fare riferimento direttamente alle raccomandazioni dell'elenco per la selezione. Poiché ogni team fa riferimento alla stessa tabella radar tecnologica per la selezione, Zalando può garantire che le tecnologie utilizzate nei diversi progetti rientrino nell'ambito di questo elenco di tecnologie condivise per raggiungere un focus tecnologico a livello aziendale. / Lo sviluppo tecnologico di Zalando è entrato in una fase matura, basandosi sul radar tecnologico per concentrarsi sulle decisioni tecniche di centinaia di team. Dal 2009 al 2019, il lato organizzativo di Zalando ha subito molti cambiamenti e anche il suo lato tecnico si è sviluppato su larga scala. architettura di microservizi decentralizzata. Secondo i dati rivelati da Zalando al DevOpsCon di Berlino del 2022, nel 2019 il numero di microservizi ammontava a quattro-cinquemila. Attualmente lo sviluppo tecnologico di Zalando è entrato in una fase matura. Il processo decisionale tecnico non è più così libero come al momento del lancio di Radical Agile, ma è guidato da una comunità di ingegneri senior e da un radar tecnico (Tech Radar). sviluppato per assistere 2 centinaia di team nel prendere decisioni tecniche. Il design di questo grafico radar tecnologico si riferisce alla pratica della ThoughtWorks Consulting Company, ma è stato sviluppato nella versione esclusiva di Zalando. Questa società di consulenza dispone di quasi un centinaio di termini tecnici che coprono quattro categorie: tecnologia, strumenti, piattaforme, framework e linguaggi. Sono suddivisi in quattro livelli in base al grado di adozione consigliata e disposti su un grafico radar circolare suddiviso in quattro quadranti. In questo grafico radar tecnologico vengono elencati i livelli di adozione consigliati dei diversi tipi di tecnologie. Diversi anelli vengono utilizzati per rappresentare diversi livelli di raccomandazione. Quanto più l'anello è vicino al nucleo, maggiore è il livello di raccomandazione di questa tecnologia. Zalando ha fatto il punto delle proprie esigenze e si è infine concentrato sulle tecnologie legate allo sviluppo software, comprendendo quattro categorie principali: archiviazione dei dati, gestione dei dati, infrastruttura e linguaggi di sviluppo. Il livello di adozione raccomandato è diviso in quattro livelli, formando quattro anelli, ciascun anello rappresenta un diverso livello di raccomandazione. Questi quattro livelli includono: Adopt (consigliato per l'adozione), Trial (consigliato per l'uso di prova), Assess (fase di valutazione) e Hold (riservato ma non consigliato). Le tecnologie di prova consigliate si riferiscono a tecnologie che hanno già avuto progetti interni di successo e che vengono utilizzate almeno per affrontare problemi reali piuttosto che situazioni simulate. Attribuiscono inoltre importanza all'adozione su vasta scala e sono tecnologie in cui i dirigenti senior sono disposti a investire a lungo termine livello. Le tecnologie elencate nella fase di valutazione si riferiscono a un gruppo di tecnologie che hanno un evidente valore potenziale e meritano un investimento. Analizzando automaticamente i dati dei piani di prova in tutti i prodotti, possiamo scoprire le tecnologie che sono state testate e sono meritevoli di essere inclusi nella fase di sperimentazione tecnologica. . L'ultima categoria di livelli riservati è la tecnologia che non è consigliata ma che continuerà a essere mantenuta. Non solo non è disponibile per nuovi progetti, ma ne viene anche scoraggiato l'utilizzo per servizi promozionali. L'ampiezza dell'applicazione di questo tipo di tecnologia deve essere graduale ristretto. Ogni tecnologia sarà inoltre accompagnata da un documento di descrizione tecnica, che elenca i vantaggi, gli svantaggi, i limiti, le condizioni di utilizzo e le lezioni apprese dopo l'utilizzo della tecnologia. Ogni tecnologia ha un documento e tutti i documenti tecnici sono raccolti in una base di conoscenza tecnica. Zalando ha anche compilato modelli e linee guida per l'adozione di queste tecnologie consigliate sulla tabella del radar tecnologico. Le guide forniranno descrizioni delle domande più frequenti quando le si utilizza, o casi d'uso dei team che le hanno adottate, o anche confronti tra diverse tecnologie alternative. .
Di tanto in tanto, per adeguare il livello di raccomandazione tecnologica, l'ingegnere capo raccoglierà i dati sull'utilizzo reale di ciascuna tecnologia sul radar tecnologico esistente, inclusi il volume di utilizzo, i record degli incidenti e l'esperienza di adozione (ad esempio, da quanti anni è attiva questa tecnologia) tecnologia è stata introdotta in Zalando? ), quindi eseguirà il punteggio L'ingegnere capo della manutenzione designato creerà prima un foglio di calcolo dei nuovi punteggi tecnologici, quindi lo aprirà alla comunità degli ingegneri capo per votare per decidere se "aggiornare" o "downgrade".
Zalando richiede a ciascun team di fare riferimento a questo elenco di tecnologie condivise come riferimento per la selezione delle tecnologie per i nuovi progetti. Non è necessario condurre valutazioni tecniche da zero ogni volta che viene avviato un nuovo progetto. Gli ingegneri fanno riferimento direttamente ai consigli dell'elenco per effettuare le selezioni. Poiché ogni team fa riferimento alla stessa tabella radar tecnologica per la selezione, Zalando può garantire che le tecnologie utilizzate nei diversi progetti rientrino nell'ambito di questo elenco di tecnologie condivise per raggiungere il focus della direzione tecnica.
Zalando ha rinominato l'originale dipartimento delle infrastrutture digitali in dipartimento delle costruzioni (Build) e continua a essere responsabile della costruzione e del miglioramento della piattaforma per sviluppatori per servire specificamente gli sviluppatori. Il dipartimento di costruzione ha iniziato a studiare il percorso del cliente dello sviluppatore, ovvero il percorso lavorativo quotidiano dello sviluppatore, e ha scoperto che le piattaforme di sviluppo utilizzate dagli sviluppatori erano piuttosto sparse. Ogni team comunicava con i propri membri a modo suo, e mancavano conoscenza comune in tutta l’azienda.
Risolvi il problema della frammentazione del processo di sviluppo e crea un sito Web del portale per sviluppatori
Per risolvere il problema del flusso di lavoro frammentato degli sviluppatori, il dipartimento di costruzione ha creato il portale per sviluppatori Sunrise (Sunrise Platform) come primo sito web che gli sviluppatori aprono ogni giorno quando vanno al lavoro. Gli utenti di questa piattaforma includono ingegneri del software, ingegneri dei dati, direttori tecnici, scienziati dei dati, project manager, progettisti, ecc.
Basandosi sul progetto Backstage della piattaforma di gestione ML open source di Spotify, il reparto di costruzione ha integrato molti strumenti tecnici interni di Zalando, componenti di sviluppo, modelli di implementazione e documenti tecnici per progettare questa piattaforma di sviluppo self-service dedicata interna (Piattaforma di sviluppo interno), il funzionamento dell'interfaccia fluido come una piattaforma di collaborazione commerciale a livello aziendale e i dettagli di progettazione UX sono enfatizzati per guidare gli sviluppatori a iniziare. Anche gli sviluppatori possono vedere direttamente i dati di monitoraggio comuni degli AP responsabili sulla piattaforma Sunrise.
La prima pagina che gli sviluppatori vedono quando aprono la Sunrise Platform raccoglie in una sola notte tutti i punti informativi comunemente utilizzati, consentendo loro di cercare facilmente le applicazioni specifiche di cui sono responsabili e le API comunemente utilizzate, e vedere rapidamente Chi è il proprietario dedicato di ciascuna applicazione o API? Se necessario, puoi inviare un ticket direttamente su questa pagina per chiedere aiuto, invece di dover presentare domanda tramite un altro sistema come in passato. La homepage della Sunrise Platform integra inoltre tutte le informazioni sugli eventi degli AP di cui sono responsabili tutti gli sviluppatori, nonché i documenti di riferimento per la sottoscrizione.
Gli ingegneri o altri utenti possono verificare l'avanzamento o lo stato di ogni fase del ciclo di vita del prodotto, monitorarlo in tempo reale e collaborare con team e altri individui per risolvere i problemi nel processo CI/CD. I membri del team Zalando possono persino avviare e distribuire nuove applicazioni utilizzando Sunrise.
Per creare questa piattaforma per sviluppatori interni comoda e facile da usare, Zalando ha condiviso pubblicamente diverse chiavi.
Ad esempio, hanno modificato direttamente il codice sorgente di K8 per risolvere il problema, trasformando K8 in un sistema che possono controllare per sviluppare la propria piattaforma nativa del cloud. Ad esempio, la piattaforma Sunrise utilizza una funzione di incapsulamento kubectl sviluppata autonomamente e personalizzata.
Quando si verifica un'emergenza ed è necessario creare rapidamente un cluster k8s ad accesso temporaneo, questa funzione di incapsulamento può tornare utile. Non è necessario seguire la funzione di incapsulamento standard originale, che riduce ulteriormente notevolmente i tempi di distribuzione. Un'altra chiave è che Zalando digitalizza anche la "development experience", il che significa misurare l'efficacia della piattaforma di sviluppo sull'esperienza e sulla produttività dello sviluppatore.
Zalando ha fatto riferimento alle raccomandazioni del libro "Accelerate: The Science of Lean Software and DevOps" (il nome della versione cinese taiwanese è "The Science Behind Lean Software & DevOps") per definire quattro indicatori della matrice delle prestazioni degli sviluppatori.
Include lead time, frequenza di rilascio, tempo di ripristino medio (Time to Restore Service) e tasso di errore di modifica (Change Fail Rate). Questo è esattamente ciò che sono i quattro indicatori utilizzati nel noto concetto di indicatore di prestazioni DevOps.
Tuttavia, il metodo specifico di Zalando per misurare i quattro indicatori è leggermente diverso. Il tempo di preparazione va dal Commit al lancio ufficiale dell’ambiente. Frequenza di rilascio: il numero di distribuzioni per sviluppatore a settimana. Il tempo medio di ripristino viene calcolato dal momento in cui si verifica l'evento al momento in cui il servizio viene ripristinato (non dal momento in cui si verifica un arresto anomalo del servizio). La percentuale di errori dell'ultima modifica viene calcolata in base al numero di errori che si verificano in tutti i tempi di distribuzione.
Il più grande vantaggio della piattaforma per sviluppatori Sunrise è che mantiene tutti gli sviluppatori sulla stessa strada. Inoltre, può anche soddisfare le esigenze di diverse divisioni organizzative di lavoro in dipartimenti asincroni per fornire flessibilità. Infine, questa piattaforma unica integra anche il design di Zalando, la tabella radar tecnica e tutta l'esperienza tecnica pratica di riferimento, i documenti di test del team di verifica e persino i relativi modelli di pratiche e processi maturi. Può essere focalizzato su un'unica piattaforma e si consiglia al team di sviluppo di utilizzare la tecnologia che desidera aggiungere in particolare.
L'obiettivo del design del sito web Zalando Sunrise è quello di "rendere gli sviluppatori felici e produttivi!", fornendo la migliore esperienza di sviluppo, riducendo il più possibile il carico cognitivo del team tecnico e del team di sviluppo e migliorando la velocità di sviluppo e la produttività. Questa è stata la prima volta che Zalando ha rivelato il processo di sviluppo della piattaforma Sunrise alla Platform Engineering Conference dello scorso anno. Henning Jacobs, ingegnere capo senior di Zalando, ha sottolineato la questione.
Per risolvere il problema del flusso di lavoro frammentato degli sviluppatori, il dipartimento di costruzione di Zalando ha creato il portale per sviluppatori Sunrise (Sunrise Platform) come primo sito web che gli sviluppatori aprono ogni giorno quando vanno al lavoro. /Zalando
Sunrise (Sunrise Platform) utilizza come base il progetto Backstage della piattaforma di gestione ML open source di Spotify, integrando molti strumenti tecnici interni di Zalando, componenti di sviluppo, modelli di implementazione e documenti tecnici per progettare questa piattaforma di sviluppo self-service dedicata interna (Internal Developer Platform). Gli sviluppatori di Zalando possono utilizzare la piattaforma Sunrise per ottenere informazioni su vari strumenti e servizi creati da diversi dipartimenti e team di prodotto all'interno dell'azienda, nonché ottenere tutti i servizi di supporto in un unico posto. /Zalando
Gli sviluppatori Zalando possono rivedere e gestire rapidamente lo stato di avanzamento dei progetti di prodotto di cui sono responsabili sulla piattaforma Sunrise. /Zalando
Abbracciare nuovamente attivamente SRE e persino creare un dipartimento SRE dedicato
D'altra parte, come accennato in precedenza parlando dell'Online Shopping Week, Zalando ha creato ancora una volta un team di supporto SRE. Nel 2019 ha creato direttamente un dipartimento SRE dedicato. Questo dipartimento comprende un team di registrazione dei log, un team di matrice di tracciamento e un incidente team di risposta e il coaching di avvio consente a questo gruppo di persone di concentrarsi sulla stessa visione e sugli stessi obiettivi attraverso lo stesso insieme di KPI.
Andrew Howden ha sottolineato: "L'obiettivo del dipartimento SRE è stabilire un modello chiave di manutenzione aziendale, concentrarsi sull'esperienza del cliente e risolvere problemi di allineamento tra reparti. Negli ultimi quattro anni è stato coinvolto nel processo di sviluppo SRE di Zalando".
La manutenzione aziendale chiave è un obiettivo del livello di servizio (SLO) che si concentra sull'esperienza del cliente. Misurando l'interazione tra i clienti e il sito Web, le prospettive di sviluppatori, manager e clienti possono essere integrate nello stesso insieme di dati e questi dati possono essere integrati. essere utilizzato per migliorare l'affidabilità.
Istituire un team SRE integrato per risolvere specifici problemi di manutenzione e funzionamento
Avere un reparto SRE dedicato non è sufficiente Zalando ha anche creato un nuovo team SRE chiamato Embedded SRE per risolvere le sfide particolari del processo di pagamento. Ad esempio, alcuni acquirenti pazzi prenderanno improvvisamente di mira prodotti specifici per grandi vendite, causando alcuni problemi di sistema. Questo tipo di problema relativo al processo di pagamento implica la comunicazione e la collaborazione tra più di una dozzina di applicazioni, 4 o 5 dipartimenti e centinaia di ingegneri. Andrew Howden è il leader di questa squadra e guida 2 ingegneri.
Andrew Howden ha innanzitutto analizzato l'impatto dei sistemi di prodotto correlati dietro le diverse eccezioni di pagamento e ha trovato le soluzioni una per una. Ha affrontato problemi come un gran numero di richieste che sovraccaricavano il sistema e non rispondevano, provocando il riavvio automatico del software di gestione del cluster, causando l'arresto dell'intero sistema.
Poiché il sistema di pagamento è un'architettura di microservizi distribuiti su larga scala, è stato originariamente progettato in modalità interruttore per evitare di chiamare continuamente lo stesso servizio guasto. Tuttavia, poiché il design dell'interruttore è troppo sensibile, quando un sistema si guasta comincia a influenzare La valutazione del tasso di errore degli interruttori automatici in altri sistemi avrà un impatto a cascata.
Oppure un altro problema è che, per garantire l'affidabilità, il sistema di pagamento ha progettato molti meccanismi di espansione automatica. Una volta riscontrato che la velocità di risposta alla richiesta di pagamento di un cliente è rallentata, si espanderà automaticamente. Tuttavia, ciò ha causato un forte aumento nei costi del cloud. Successivamente si è scoperto che un piccolo numero di clienti genera un gran numero di richieste a causa del loro comportamento di acquisto, facendo sì che questo piccolo gruppo di persone risponda lentamente. Non tutti i clienti hanno lo stesso problema definito da uno standard che copre il 99.9% dei clienti generali, il limite massimo del numero di richieste per un cliente può ridurre l'impatto del comportamento folle di un cliente specifico sul meccanismo di espansione automatica.
Integrare l'esperienza nella risoluzione dei problemi di manutenzione nella manutenzione quotidiana
Perché di solito sono necessarie solo 3 settimane per risolvere un problema, ma ci vogliono 3 mesi per trasferire l'esperienza nella gestione di questo problema anomalo al team della piattaforma e ai diversi team responsabili del prodotto coinvolti. L'ultima sfida dell'integrazione del team SRE è come trasformare l'esperienza acquisita nella risoluzione di questi problemi di manutenzione in una parte della manutenzione quotidiana.
Zalando tiene riunioni settimanali di revisione operativa (WORM) ogni settimana. La comunità degli ingegneri capo utilizza queste riunioni per rivedere i rapporti post-analisi ed esaminare vari problemi di manutenzione. Tuttavia, la qualità di questi rapporti di analisi varia notevolmente e gli ingegneri dedicano molti sforzi alla preparazione di questi documenti.
L'integrazione del team SRE aiuta ad automatizzare il processo di produzione di tali report di analisi e aggiunge anche suggerimenti di aggiustamento relativi alle pratiche SRE. Il report può essere inviato automaticamente a questo team e anche al team di gestione tecnica per la revisione settimanale .
A metà del 2023, il team SRE incorporato ha completato i problemi per cui era stato originariamente creato e ha concluso il compito di questo team. Anche Andrew Howden ha concluso il suo viaggio presso Zalando in agosto e si è rivolto a diventare un consulente che fornisce formazione SRE.
Tuttavia, l’ingegneria della piattaforma Zalando non ha fermato il ritmo del cambiamento ed è ancora in evoluzione.