Come fa un gigante europeo dell’e-commerce con un fatturato di 5 miliardi a trasformare le sue capacità tecnologiche in competitività operativa?
Quest'anno l'evento per sviluppatori di Taiwan MWC (Modern Web Conference) è tornato in formato fisico, con più di 60 interventi in tre giorni, rendendolo più grande di prima. Portare l'esperienza di sviluppo all'estero a Taiwan è l'intenzione originale del MWC. Quest'anno si concentra sulla presentazione dell'esperienza delle società multinazionali, invitando JP Morgan e Zalando a Taiwan per condividerla. Andrew Howden è il capo del team SRE incorporato di Zalando, responsabile del miglioramento dell'affidabilità dell'esperienza di transazione. È anche membro del team di preparazione alla manutenzione tecnica dell'Online Shopping Week, assistendo i colleghi nella definizione dei processi di gestione del rischio tecnico e di preparazione alla manutenzione.
Quando un cliente aggiunge un prodotto al carrello (questo è il punto di partenza in cui il prodotto inizia ad essere scambiato con il cliente), questo viene spedito dal magazzino in conformità con l'ordine e consegnato all'operatore logistico (questo è il punto finale della piattaforma che contiene il prodotto). Il sentimento del cliente in questo processo, Zalando lo chiama esperienza di transazione, include il processo da quando i clienti possono vedere il prodotto entrare nel carrello sulla piattaforma fino alla visualizzazione della spedizione. Questo processo di esperienza della transazione coinvolge 4 dipartimenti aziendali, 10 team e più di 100 sviluppatori. Il team SRE integrato di Zalando è stato creato per risolvere i problemi speciali del processo di esperienza delle transazioni.
Nel 2019, dopo due anni di tentativi di SRE su piccola scala, Zalando ha deciso di trasformare SRE in una strategia operativa a livello aziendale e di creare un dipartimento SRE su larga scala.
È stato in quest'anno che Andrew Howden è entrato a far parte di Zalando come ingegnere SRE. Nel 2021, è diventato uno dei principali ingegneri e ha partecipato al piano del flusso di lavoro di preparazione alle operazioni di progettazione e manutenzione. Voleva sviluppare una serie di valutazioni self-service per migliorare l'affidabilità di migliaia di sistemi, che implica la conoscenza dell'architettura tecnica, dei settori aziendali e dell'elaborazione degli eventi dietro diversi sistemi.
Periodo di avvio anticipato: crea rapidamente un centro commerciale con il pacchetto software PHP e due persone possono gestire l'intero sito
Per comprendere l'evoluzione tecnologica di Zalando bisogna tornare al 2008. Google aveva appena lanciato il sistema Android e l'iPhone di Apple divenne popolare e lanciò un nuovo App Store. I due fondatori di Zalando, Robert Gentz e David Schneider, fondarono l'azienda di e-commerce di fast fashion nell'autunno di quell'anno, sperando di vendere scarpe online. Inaspettatamente, nel giro di pochi giorni dalla sua fondazione, la società si trovò ad affrontare una crisi finanziaria.
Zalando non aveva molti soldi a disposizione e dovette trovare il modo di risparmiare. I due fondatori affittarono un appartamento a Berlino come ufficio e magazzino. Poiché erano appena agli inizi e non avevano molti clienti, hanno provato diversi esperimenti commerciali. Successivamente hanno scoperto che la spedizione gratuita e il diritto di reso entro 100 giorni erano i due punti salienti più apprezzati dai clienti, che sono diventati anche i primi vantaggi di Zalando nell'espansione. il mercato dell’e-commerce. Le due garanzie di consegna di Zalando sono poi diventate lo standard che i clienti si aspettano da altre piattaforme di e-commerce.
A quel tempo, per costruire rapidamente una piattaforma di transazione e-commerce e poiché era facile trovare ingegneri di sviluppo che avessero familiarità con PHP, la piattaforma di e-commerce Zalando di prima generazione utilizzava il software di e-commerce Magento sviluppato in PHP. Questo software è come l'antico Nell'era di WordPress, potevi combinare da solo moduli funzionali di terze parti.
La strategia di Zalando nelle sue fasi iniziali era "Muoviti velocemente, rompi le cose". Zalando non aveva un team di manutenzione, per non parlare di un team della piattaforma, e faceva affidamento solo su 1 o 2 dipendenti per gestire l'intero sito web.
Due anni dopo, nel 2010, è apparso il primo iPad, Netflix ha lanciato 12,000 film, i social media hanno cominciato ad apparire sui telefoni cellulari e Zalando è entrato in un periodo di rapida crescita, oltrepassando i confini della Germania, ha iniziato ad espandersi in altri paesi e successivamente si è espanso Nei Paesi Bassi, in Francia e in altri paesi. A quel tempo Zalando contava 20 dipendenti a tempo pieno e molti clienti molto fedeli.
Nel 2010 ho riqualificato l'intera piattaforma e-commerce utilizzando Java.
Tuttavia, il software della suite di e-commerce PHP scelto al momento della sua creazione ha iniziato a presentare problemi e non è stato possibile ampliarlo ulteriormente. Anche se il team di sviluppo ha fatto del suo meglio per modificare il codice e l'architettura del programma sottostante, non è stato ancora possibile risolvere il problema problema. Alla fine, l’intera architettura ha dovuto essere ridotta e rielaborata e Zalando ha riqualificato l’intera piattaforma di e-commerce da una combinazione di database PHP e MySQL a un’applicazione monolitica su larga scala che utilizza il linguaggio Java e il database PostgreSQL.
Zalando è passato da un vecchio software di e-commerce a una nuova piattaforma. All'epoca era inattivo "solo" per 90 minuti. "Allora era un tempo accettabile. Se accadesse adesso, sarebbe una catastrofe famoso nei media." ha scherzato Andrew Howden. Le aspettative e gli standard delle persone riguardo alla tecnologia cambieranno nel tempo e nello spazio. Questo è un tipico esempio.
Tuttavia, il team a quel tempo non era numeroso, ma iniziò anche a riscontrare problemi di agilità. Come eseguire i rilasci in modo più sicuro? Per mantenere un certo grado di controllo, hanno sviluppato una checklist di distribuzione, che deve essere confermata ogni volta che viene rilasciata. Sebbene rallenti il rilascio del codice aggiornato, può rendere il processo di rilascio più affidabile e mantenere la fiducia dei clienti .
Nel 2014 Zalando ha continuato ad espandersi e quest'anno è passato completamente al design del sito web responsive (RWD). Quest'anno è l'anno in cui è nata la tecnologia dei container Docker.
Le entrate annuali sono cresciute di 4 volte in 4 anni e le sfide tecniche dietro le tre strategie chiave
Dal 2010 al 2014, i ricavi di Zalando sono quadruplicati arrivando a 22 miliardi di euro (circa 750 miliardi di NT $).
Andrew Howden ha sottolineato che la chiave per la crescita positiva della performance di Zalando deriva da tre strategie principali. La prima è la strategia di "scala", che prevede l'adozione di tutti i mezzi necessari per espandere il sistema software, anche eliminando completamente la vecchia versione e creandone una nuova. La seconda strategia è la "localizzazione". L'ambito del servizio di Zalando è stato ampliato a più mercati, da Svezia, Danimarca, Finlandia, Norvegia, Belgio, Spagna, Polonia all'Austria. Apporta modifiche locali in base alle differenze di lingua, valuta, requisiti di conformità legale ed esigenze di manutenzione di ciascun paese.
Un'altra strategia chiave è la "differenziazione". Zalando ha iniziato anche a trasformarsi in un modello di grande magazzino, introducendo un sistema di partnership per consentire ai fornitori terzi di vendere i propri prodotti sulla piattaforma Zalando.
"Il test più grande che queste tre decisioni porteranno alla tecnologia è che il software originariamente sviluppato solo per uso interno dovrà ora essere fornito a terzi. Deve anche avere capacità di scala e soddisfare le esigenze locali di ciascun paese", ha sottolineato Andrew Howden. .
Nei tre anni successivi, Zalando fece affidamento su diverse contromisure tecniche per lanciarsi rapidamente in vari paesi. Da un lato, introdusse un ERP a livello aziendale e, dall'altro, iniziò a sviluppare siti Web ufficiali localizzati in ciascun paese. ha costruito un negozio online in grado di gestire ordini e transazioni su larga scala.
Tuttavia, queste tre strategie hanno reso i sistemi sviluppati da Zalando sempre più complessi. Ad esempio, nel 2010 c'erano solo 7 unità di distribuzione. Nel 2012 c'erano più di 100 team di distribuzione e la gestione e il coordinamento dei rilasci sono diventati una grande sfida.
Per semplificare la complessità, Zalando richiede che ogni software venga sviluppato utilizzando solo tre tecnologie principali: Java, Tomcat e PostgreSQL.
La nascita del primo team di piattaforma
Non solo, Zalando ha anche iniziato a costruire il suo primo team "piattaforma" per gestire l'ingegneria dei sistemi, l'ingegneria dei database, l'ingegneria del software della piattaforma e fornire anche varie consulenze sulla sicurezza.
Ad esempio, hanno creato uno strumento deployctl per gestire il processo di rilascio e hanno anche utilizzato lo strumento di monitoraggio della gestione della rete open source zmon (simile a Nagios) per monitorare regolarmente se tutti i software e i sistemi funzionano normalmente.
Con queste pratiche di supporto organizzative, strumentali e tecnologiche, all'epoca Zalando era in grado di rilasciare pubblicazioni settimanali. Ogni versione viene testata da un team di controllo qualità per garantirne la correttezza e un piccolo team fornisce supporto su chiamata.
Tuttavia, man mano che il numero di persone nel team di sviluppo cresce, è necessario coordinare sempre più lavoro per ogni versione. Man mano che i sistemi diventano sempre più grandi e le relative informazioni sulla manutenzione sono sparse ovunque, diventa sempre più difficile per gli ingegneri cogliere in modo efficace le informazioni rilevanti sul lavoro che stanno svolgendo.
Per controllare i rilasci degli ingegneri, il team della piattaforma ha adottato misure sempre più rigorose, ma inaspettatamente ciò ha rallentato il ritmo dei rilasci. Andrew Howden ha dichiarato: "Sebbene il team della piattaforma avesse buone intenzioni, ciò ha inaspettatamente limitato la capacità dell'azienda di innovare e diventare leader di mercato. Il team della piattaforma ha iniziato ad avvicinarsi all'affidabilità."
Tempo concentrato sul 2014. Dopo la nascita di Kubernetes, è diventato rapidamente mainstream l'anno successivo, che ha dato vita anche alla creazione dell'organizzazione CNCF. Questa organizzazione ha rilevato molti progetti tecnologici legati al cloud. come gRPC, etcd, RunC, Envoy e Jaeger e altre tecnologie. Il 1.0 è stato anche l’anno dell’offerta pubblica iniziale (IPO) di Zalando.
In risposta alla nuova visione dopo l’IPO, passare al cloud per le operazioni in più paesi in tutta Europa e adottare il cloud nativo
L'IPO apporta più fondi a Zalando e le conferisce maggiori capacità, ma significa anche una maggiore pressione sullo sviluppo. Andrew Howden ha affermato che Zalando deve crescere ed espandersi più rapidamente e deve innovare.
La nuova visione di Zalando è quella di creare una "piattaforma di moda" in grado di connettere un gran numero di persone con la moda, consentendo a partner e negozi di terze parti di vendere vari prodotti di moda su questa piattaforma.
Tuttavia, le decisioni tecniche di Zalando negli ultimi anni si sono gradualmente sviluppate in un'architettura tecnica relativamente affidabile, ma difficile da modificare. Questa architettura "stabile" non può tenere il passo con la nuova visione dopo l'IPO.
Per supportare il futuro layout delle operazioni multi-country in tutta Europa, alla fine del 2014, Zalando ha deciso di abbracciare pienamente il cloud pubblico, ha introdotto la tecnologia container Docker e ha iniziato a utilizzare l’architettura dei microservizi per sostituire la vecchia architettura monolitica.
L'anno successivo alla sua quotazione, nel 2015, Zalando ha iniziato a sviluppare una strategia di piattaforma di e-commerce. Voleva trasformarsi in un fornitore di piattaforme tecnologiche nell'ecosistema dell'e-commerce e ha iniziato ad esportare i propri servizi tecnici a partner e partner dell'ecosistema.