Dietro le quinte

Team BlackJack: lo scoglio nel mare del Black Friday

Dominik Bärlocher
30.11.2018
Traduzione: tradotto automaticamente
Immagini: Thomas Kunz

Durante il Black Friday, una squadra ha fatto parlare di sé. BlackJack ha puntato molto, ha lavorato sodo e si è risollevato dalla sconfitta per diventare il grande vincitore della serata. Uno sguardo al lavoro dei Site Reliability Engineers.

"Il Cyber Monday è stato facile", dice René Zweifel, Team Leader del Site Reliability Engineering di Digitec Galaxus, "ma il Black Friday ci ha fatto un po' tremare".

Perché era la notte prima del venerdì, quando il lavoro di un anno doveva dare prova di sé. Nell'intervista di martedì mattina, dopo che tutto è finito, René è orgoglioso. Lui e il suo team - "e tutto il team di ingegneri in generale" - hanno fatto un ottimo lavoro. Le statistiche sono impressionanti.

  • Totale downtime del Venerdì Nero: 4 minuti
  • Totale downtime del Cyber Monday: 0 minuti
  • Valori di picco: 24.000 sessioni utente al minuto

"Pensiamo che sia una buona cosa. Perché dopo il Black Friday 2017, abbiamo dovuto dire a noi stessi: 'no... solo no' e poi metterci dietro ai libri".

Il giorno dopo

Sabato 25 novembre 2017: Engineering ha appena subito una pesante sconfitta. Digitec.ch e Galaxus.ch sono rimasti offline per ben 2 ore e 40 minuti nonostante lo spegnimento di praticamente tutti i sistemi dei server che non fossero assolutamente indispensabili per lo shopping. Ma non tutti insieme: "A volte eravamo online ogni minuto, a volte offline". Il risultato: nessuno si è divertito. Tu non hai avuto le tue offerte, il product management non ha avuto le sue vendite e l'ingegneria - tutti erano d'accordo - non ha fatto il suo lavoro.

Il leader del team René Zweifel ha fondato il Team BlackJack
Il leader del team René Zweifel ha fondato il Team BlackJack

Questa situazione è stata una delle ragioni per cui è stato creato il Team BlackJack. Il leader del team René Zweifel fondò il nuovo team e cercò persone che lo aiutassero nella nuova missione: Ingegneria dell'affidabilità del sito. Da quel momento in poi, il loro compito è stato quello di garantire che digitec e Galaxus rimanessero online, qualunque cosa accadesse.

"Dopo il Black Friday, il BlackJack è stato un'esperienza che non ha mai avuto successo".

"Dopo la vicenda del Black Friday, si trattava di un compito piuttosto arduo", dice René.
Ma lui e i suoi collaboratori sono stati in grado di garantire che digitec e Galaxus rimanessero online, in qualsiasi momento.
Ma lui e i suoi cinque compagni di squadra non si sono arresi. Certo, il sistema di cache Redis ha salvato la versione 2017 del Black Friday, ma non era abbastanza per BlackJack. Non volevano lasciare nulla al caso.

"L'infrastruttura avrebbe dovuto essere in grado di gestire il Black Friday in modo efficiente.

"L'infrastruttura avrebbe dovuto essere completamente sostituita in molti punti", dice René.

Switch, router e tutti gli altri elementi di rete avrebbero dovuto essere gettati nel cestino, così come i cluster di rete. Sarebbe stato necessario creare una rete dedicata. E così via. Tutto ciò sarebbe costato una quantità infinita di denaro.

L'alternativa: passare al cloud.

"Questo costa solo 'una quantità di denaro quasi infinita', quindi è più economico che avere una propria infrastruttura", dice René e ride. René ha una risata genuina, contagiosa e sincera. Il giovane barbuto con i capelli corti riflette per un attimo e poi dice: "Probabilmente è stata una storia, te lo dico io."

Salta il discorso.

Salta il racconto dettagliato e dice: "... Il processo è stato completato alla fine di maggio 2018. Poi ci siamo bevuti una birra."

E prima della birra è arrivata l'intervista.

E prima della birra è arrivata la consapevolezza che i sistemi sono effettivamente scalabili all'infinito, da cui Black Friday Proof. Teoricamente.

Isomorfico a ottobre

Per ridurre al minimo il carico sui server nonostante la nuova infrastruttura, BlackJack e i team del negozio online hanno lavorato su un front-end isomorfo. In altre parole, parte del codice che viene interpretato e calcolato su digitec e Galaxus avviene sul tuo computer, non sul server. Il numero di richieste inviate al monolite è stato ridotto da node.js e GraphQL. "Beh, devo ammetterlo: BlackJack ha solo lanciato la sfida. Altri team l'hanno sempre implementata", dice René e ride.

Il team BlackJack è veloce e agile
Il team BlackJack è veloce e agile

"L'intero negozio non è ancora isomorfo. Solo le parti che sono importanti per giornate come il Black Friday."

L'implementazione è iniziata a maggio. Il Black Friday 2018 era alle porte. René e il suo team entrarono nella fase finale dell'anno di sviluppo: i test di carico. Il nuovo sistema ha superato un test dopo l'altro. Ciononostante, BlackJack ha lavorato secondo il sistema "bombarda e ottimizza", modificando il sistema qua e là.

600% per il Black Friday

Nonostante ciò, BlackJack ha scalato il sistema per il Black Friday. I bilanciatori di carico passeranno da 4 a 6 e i server del negozio funzioneranno con 30 processori da 16 core ciascuno invece di 8 processori octa-core. Anche i cluster Kubernetes verranno scalati in modo massiccio, così come molte altre funzioni.
"A mezzanotte, abbiamo avuto la possibilità di fare un'analisi dei dati di un'azienda.
"A mezzanotte abbiamo raggiunto il 600% delle prestazioni del sistema", dice René. La sua voce è orgogliosa. Ma non si trattava solo di BlackJack. Perché il venerdì sera, come l'anno precedente, gli ingegneri di tutti i team sono presenti e reperibili. René stesso è assegnato al secondo turno, che inizia alle 7 del mattino, ma siede a casa davanti a un computer portatile e osserva la situazione. "Potrebbero avere bisogno di me".

Molti ingegneri fanno lo stesso.

Molti ingegneri fanno lo stesso. Non appena il registro di battaglia viene aggiornato con le ultime informazioni provenienti dalla war room, arrivano e-mail e messaggi di testo in cui gli ingegneri nottambuli offrono il loro aiuto e i loro consigli. È un capolavoro di interazione.

Ma poco dopo la mezzanotte diventa chiaro: niente stress.

"Non abbiamo nemmeno sfiorato l'utilizzo del 600%", afferma René con orgoglio. Questo nonostante il sito web riceva più traffico che mai. Gli utenti si riversano sul sito con ordini e commenti, ma i server reggono.

Il giorno dopo il Cybernoleggio, il sito è stato inaugurato.

Il giorno dopo il Cyber Monday, René siede con una maglietta rossa su una poltrona nel salone di Pfingstweidstrasse. È rilassato e si diverte a parlare degli Ingegneri. Le e-mail di elogio della direzione hanno fatto la loro parte. Ma René non vuole dormire sugli allori. E nemmeno il suo team.

I due fallimenti del Black Friday

BlackJack non registra un successo al cento per cento. René è particolarmente preoccupato per i quattro minuti di inattività.

"È una cifra che non è stata ancora raggiunta".

"Sono ancora troppi, ma possiamo facilmente dimezzarli", dice.

Quando gli viene chiesto, dice che due dei quattro minuti sono dovuti a uno strumento chiamato Queue it. Lo strumento promette di creare una sorta di "sala d'attesa digitale". Ma la cosa è fallita in tutto e per tutto.

"Siamo rimasti impressionati".

"Siamo rimasti colpiti. Ma non per il motivo che avrebbero voluto gli sviluppatori", dice René, con un sorriso che gli attraversa il viso, "siamo rimasti colpiti dalla rapidità con cui Queue-it ci ha messo in ginocchio. Ci sono voluti meno di tre secondi."

Il giorno del Cyber Monday, Queue-it si è rivelato un vero e proprio incubo.

Il giorno del Cyber Monday, Queue-it non è stato più utilizzato. Insieme alla diminuzione delle visite, ciò significa che le pagine non sono mai state offline. Lo definisce un successo. Tuttavia, ammette che potrebbe essere dovuto a un errore di implementazione di Queue-it, non necessariamente allo strumento in sé. Le indagini sono ancora in corso.

Ci sono ancora due minuti che lui e il resto dei Blackjack devono risolvere. Questi sono dovuti al failover, il ritorno a una configurazione precedente, alle 00:57. I tecnici hanno ripristinato un database a uno stato precedente. Il motivo: troppi acquisti di PlayStation e AirPod nello stesso momento. Fortunatamente, però, i dati persi durante il failover non erano dati di acquisto confermati, ma dati attribuibili a utenti che hanno tentato ripetutamente di effettuare acquisti da dispositivi diversi. Questo sovraccarico del database ha causato un danno a catena e alla fine per qualche secondo è stato disponibile ben poco. Tuttavia, il failover ha risolto la situazione per il resto della notte.

René guarda al futuro con BlackJack. C'è molto da fare. Perché quattro minuti non sembrano molti, ma ci vorranno mesi di lavoro per eliminarli. E BlackJack, René ne è sicuro, può farlo.

Aggiornamento 30 novembre 2018 // 12:45 pm.

Il team BlackJack è anche alla ricerca di rinforzi.

A 68 persone piace questo articolo


User Avatar
User Avatar

Giornalista. Autore. Hacker. Sono un contastorie e mi piace scovare segreti, tabù, limiti e documentare il mondo, scrivendo nero su bianco. Non perché sappia farlo, ma perché non so fare altro.


Informatica
Segui gli argomenti e ricevi gli aggiornamenti settimanali relativi ai tuoi interessi.

Potrebbero interessarti anche questi articoli

  • Dietro le quinte

    Settimana Black Friday: i nostri server sono pronti a darci dentro

    di Noah Waldner

  • Dietro le quinte

    Black Friday Week 2024: tutti gli aggiornamenti da Digitec Galaxus

    di Jana Pense

  • Dietro le quinte

    Lego e iPhone: le ricerche più frequenti della clientela

    di Manuel Wenk

28 commenti

Avatar
later