Colazione con un miliardo di email
Pubblicato: 2020-02-05Un Black Friday senza intoppi è tutto ciò che chiediamo
Quando ho fatto colazione verso le 8:00 Pacific Standard Time (PST) ogni giorno durante il weekend del Black Friday, Twilio SendGrid aveva già elaborato più di 1 miliardo di e-mail calcolate in US Eastern Standard Time (EST).
Guardando le statistiche, abbiamo elaborato fino a 16,5 miliardi di e-mail dal Ringraziamento al Cyber Monday e fino a 22,3 miliardi per la settimana che inizia il martedì prima del Ringraziamento. Questi sono davvero buoni numeri per il business. Dal punto di vista di un'organizzazione di ingegneria, farlo senza l'attivazione di avvisi o l'esperienza del cliente degradata è stato incredibilmente soddisfacente.
Consiglio di leggere questo articolo del blog, Scaling Our Infrastructure for 4+ Billion Emails in a Single Day , scritto dalla mia collega Sara Saedinia, che parla dell'importanza di operare senza intoppi su questa scala per la nostra attività e per le aziende che dipendono da noi. Qui, mi concentrerò sui nostri preparativi che hanno reso il fine settimana più critico dell'anno per i nostri clienti di posta elettronica il più agevole finora.
Come abbiamo fatto a rendere questo weekend del Black Friday senza soluzione di continuità? La gestione dei nostri più grandi giorni di invio richiede una pianificazione diligente, numerosi test di oscillazione della regione, decine di persone che analizzano i dati e un rafforzamento dei cicli di feedback mentre convalidiamo i miglioramenti ai nostri sistemi sulla base delle osservazioni telemetriche. Abbiamo ancora più automazione e miglioramenti che apporteremo per assicurarci di continuare a deliziare i nostri clienti e assicurarci di inviare rapidamente le comunicazioni giuste ai destinatari giusti.
Capire la nostra attività
Il modello di business di SendGrid richiede che siamo sempre attivi: non abbiamo finestre di manutenzione per accettare e consegnare la posta. I nostri clienti richiedono un servizio affidabile che accetti e consegni la posta senza interruzioni. Ciò significa che tutte le modifiche alla nostra infrastruttura, hardware e software, devono essere eseguite mentre continuiamo a elaborare e inviare e-mail senza alcun ritardo evidente.
Il numero di email che elaboriamo è cresciuto enormemente negli ultimi anni, come mostra il grafico seguente.
Abbiamo avuto il nostro primo giorno 1B a metà del 2016 e abbiamo avuto il nostro primo giorno 4B questo Black Friday. Questa è una crescita del 400% in meno di 4 anni. Per tenere conto della nostra scala sempre crescente, per mantenere i nostri costi gestibili e per fornire una maggiore affidabilità ai nostri clienti, abbiamo dovuto riprogettare ed evolvere la nostra pipeline di elaborazione della posta.
Il Black Friday sta arrivando
Le persone mi chiedono: "Perché il Black Friday e il Cyber Monday sono così importanti per te?" Questo Cyber Monday, abbiamo elaborato il 45% di email in più rispetto al picco dell'anno precedente. Il Black Friday è uno degli eventi di vendita e spesa più importanti negli Stati Uniti. Tradizionalmente, è il giorno in cui i rivenditori saranno in nero (positivo netto) per l'anno. L'email marketing e l'uso di email transazionali sono diventati fondamentali per tutte le aziende.
Dai rivenditori alle aziende che forniscono automazione del marketing, avere problemi a consegnare e-mail in modo affidabile durante il fine settimana del Black Friday può comportare una significativa perdita di entrate. Di conseguenza, questo fine settimana è spesso un fine settimana che definisce l'attività per noi. Facciamo del nostro meglio per renderlo il più semplice possibile per i nostri ingegneri, agenti di supporto, responsabili del successo dei clienti, dirigenti e, soprattutto, per i nostri clienti.
Preparazione per il Black Friday
Allora, come ci prepariamo per il Black Friday? Compriamo magliette! (E fare un sacco di lavoro.) Continua a leggere per come ci prepariamo.
Membri del Twilio SendGrid Irvine Office
Alcuni dei membri dell'ufficio di Twilio SendGrid Denver.
Statistiche
Iniziamo con alcune statistiche:
- Elaborazione di oltre 4,1 miliardi di e-mail nel Black Friday e oltre 4,2 miliardi di e-mail nel Cyber Monday
- Elaborazione di oltre 16,5 miliardi di e-mail dal Ringraziamento al Cyber Monday
- Ha elaborato oltre 315 milioni di e-mail durante l'ora di punta
- Il Black Friday e il Cyber Monday hanno avuto ciascuno 8 ore consecutive di elaborazione di 220 milioni di e-mail o più
- Tutto questo con un tempo medio di fine e fine delle e-mail consegnabili a 1,9 secondi
- In media, emettiamo all'incirca 5,5 eventi per messaggio. Sulla base di ciò, i nostri sistemi hanno emesso ed elaborato oltre 91 miliardi di eventi dal Ringraziamento al Cyber Monday, oltre 23 miliardi nel solo Cyber Monday
Le sfide
Scala mai vista prima : la scala che ci proponiamo di testare deve corrispondere al nostro carico di picco previsto. Quando abbiamo fatto il nostro primo test per la preparazione dell'anno scorso all'inizio di aprile, il nostro volume medio nei giorni feriali era inferiore alla metà della nostra previsione di picco. I nostri picchi orari non erano nemmeno la metà di quelli che avremmo testato.
Gestire i nostri ambienti : L'e-mail è un flusso di lavoro con stato: è necessario tenere traccia dello stato di un messaggio. Quindi, mentre il messaggio si sposta attraverso la pipeline, monitoriamo se rimbalza o viene rinviato e preveniamo la duplicazione. In quanto tale, la nostra pipeline di posta è un cloud ibrido e un'architettura on-premise e la scalabilità automatica non è una soluzione magica. La nostra sfida consiste nel massimizzare l'efficienza dei nostri servizi di data center, preparando al contempo la capacità per gestire enormi picchi di volume senza incidere sui costi per i clienti.
La scalabilità non è lineare : non tutti i sistemi scalano in modo lineare. Poiché la nostra scala prevista è molto più alta rispetto a quando iniziamo a testare per la prima volta, non possiamo semplicemente calcolare le nostre esigenze hardware con un semplice modello matematico. È anche importante ricordare che i servizi di ridimensionamento alla cieca sovraccaricano le dipendenze e le dipendenze come il database non si ridimensionano allo stesso modo del nostro agente di trasferimento della posta (MTA).
Bilanciare i nostri investimenti : mentre continuiamo a innovare, assicurandoci di supportare le esigenze dei clienti relative alla consegna delle e-mail, comprendiamo che le nostre funzionalità non forniscono alcun valore ai nostri clienti se non sono accessibili e performanti come necessario. Dobbiamo trovare un equilibrio e investire in modo appropriato in test, apprendimento, aggiornamento e miglioramento dei nostri sistemi per essere affidabili e resilienti alla nostra scala. Farlo in modo efficiente ci consente di continuare a investire nell'innovazione.
Come abbiamo fatto?
Lo abbiamo fatto insieme, come una squadra. A braccetto, come si dice. I nostri preparativi quest'anno, da aprile a novembre, hanno coinvolto la partecipazione di oltre 100 membri in molti team. La modellazione delle previsioni di picco, la definizione dei criteri di osservabilità, l'apprendimento dalle nostre osservazioni, l'ingegnerizzazione dei cambiamenti necessari, la pianificazione e la gestione richiedono competenze diverse da più persone.
Ci siamo fidati l'uno dell'altro mantenendoci onesti, rimanendo concentrati e raggiungendo i nostri obiettivi.
Un processo efficace e in costante miglioramento è stato nostro amico.
Pianificazione
Abbiamo tre data center per elaborare le e-mail dei clienti. Al fine di pianificare una scala non raggiunta, confermiamo di poter gestire il nostro picco di traffico previsto con solo due data center disponibili. Per soddisfare il nostro SLA ad alta disponibilità, la nostra infrastruttura dispone di un failover regionale integrato. Ciò significa che abbiamo la possibilità di eseguire il failover del traffico tra le regioni.
Sfruttiamo questa capacità con cadenza frequente durante tutto l'anno come procedura operativa standard e la acceleriamo come parte dei nostri sforzi per dimostrare che siamo in grado di servire i picchi di Black Friday/Cyber Monday mantenendo la qualità del servizio. Se la telemetria di sistema si avvicina alla soglia del nostro obiettivo del livello di servizio (SLO), siamo in grado di sfruttare rapidamente più regioni per ripristinare lo stato nominale. Quindi sfruttiamo i dati di telemetria raccolti per determinare dove dobbiamo apportare modifiche.
Parallelamente, abbiamo iniziato a rivedere e consolidare i nostri obiettivi del livello di servizio (SLO) che ci forniscono un obiettivo numerico preciso per la disponibilità del sistema e i nostri indicatori del livello di servizio (SLI), che ci forniscono la frequenza delle sonde di successo ai nostri sistemi.
Osservazioni, apprendimenti e comunicazione
Ogni test ha fornito una grande quantità di informazioni. Una delle sfide che abbiamo dovuto affrontare è stata documentare e comunicare efficacemente le osservazioni tra i team di test a rotazione e quindi analizzare i dati su più sistemi. Sebbene disponiamo di dashboard standard del team, ogni membro potrebbe avere qualcosa di specifico che osserva.
Abbiamo iniziato a fare una retrospettiva con i team di test per analizzare tutte le informazioni tecniche scaricate per più servizi gestiti da più team. Questi retro erano lunghi e, per la maggior parte della durata, erano utili solo a una o due squadre per test. Alla fine siamo passati all'utilizzo di un thread slack per le note retrò risparmiando 10 ore umane di tempo di riunione per test.
Il nostro team di gestione dei test ha coinvolto due responsabili dell'ingegneria, un architetto e un ingegnere senior. I gestori sono stati fondamentali nella pianificazione e nella gestione delle dipendenze, mentre le persone più tecniche hanno aiutato a elaborare e analizzare le informazioni a livello di sistema end-to-end.
Sulla base dell'analisi delle informazioni disponibili, abbiamo verificato in modo iterativo che i nostri SLI erano rigorosamente conformi ai nostri SLO. Abbiamo perfezionato i nostri avvisi e reso alcuni avvisi critici più sensibili al fine di identificare qualsiasi potenziale deterioramento del sistema con largo anticipo.
Priorità e attuazione
Abbiamo inserito i biglietti per le modifiche proposte e le squadre hanno dato la priorità a questi biglietti. La prima sfida qui è stata gestire questi ticket su più bacheche di team. Un'altra sfida è stata dare spietatamente priorità al lavoro del Black Friday rispetto ad altre priorità.
Dovevamo fornire ai nostri ingegneri la libertà creativa di trovare soluzioni a problemi difficili. Allo stesso tempo, dovevamo assicurarci che queste soluzioni fossero in linea con i nostri piani a lungo termine. Era anche molto critico essere sempre consapevoli di qualsiasi conflitto di interessi, il che significava evitare qualsiasi soluzione a breve termine che potesse tornare a morderci.
La convalida delle modifiche implementate diventerebbe il nostro obiettivo per i test imminenti.
Mantenere e aumentare il ritmo mentre ci avvicinavamo al Black Friday è stata una sfida importante nella pianificazione e nell'esecuzione.
L'accelerazione
Quando siamo entrati a settembre, abbiamo iniziato a eseguire più stress test ogni settimana. Ciò ci ha richiesto di identificare, risolvere e convalidare i problemi più rapidamente. Ci ha anche fornito un ciclo di apprendimento e adattamento molto più veloce.
Oltre al test completo della pipeline di posta come descritto in precedenza, abbiamo anche iniziato a testare lo stress dei nostri servizi di supporto nello stesso periodo. Nello stesso periodo abbiamo iniziato a condurre test di carico con uno dei nostri maggiori clienti per garantire che i nostri geopodi in arrivo gestissero i loro invii di burst previsti durante le festività natalizie senza alcuna preoccupazione.
A causa delle lunghe ore e della sfida di gestire il lavoro, i nostri team si stavano esaurendo. Abbiamo elencato gli avvisi più critici necessari per interrompere il nostro test, se necessario, e li abbiamo resi più sensibili. Questo ci ha permesso di iniziare a fare i nostri test senza richiederci di essere presenti per monitorare i nostri sistemi la mattina presto.
Accelera con cautela
Mentre ci avvicinavamo alla fine di settembre, c'era il timore che non ci fossimo mossi abbastanza velocemente nella giusta direzione. Abbiamo creato un team di tigri, un team di specialisti in grado di lavorare su qualsiasi ticket in più team e uno che ha lavorato con un processo molto più snello a livello quotidiano.
Abbiamo apportato miglioramenti significativi alla nostra infrastruttura operativa e al nostro software di elaborazione della posta in preparazione del Black Friday. Questi cambiamenti sono stati espressamente prioritari e le squadre hanno dovuto lavorare in grande coordinamento tra loro. È stata una grande esperienza per le persone che hanno messo SendGrid al primo posto. Stavamo apportando modifiche alle applicazioni, all'infrastruttura e aumentando la nostra capacità hardware mentre eseguivamo il motore principale di un'unità aziendale di un'azienda pubblica, il tutto a un ritmo di avvio. Soprattutto, abbiamo fatto tutto senza alcuna esperienza di servizio degradata per i nostri clienti.
Progetti futuri
Abbiamo trascorso molte ore umane a prepararci per il Black Friday 2019. Ciò che abbiamo appreso da quest'anno ci aiuterà ad automatizzare gran parte della nostra preparazione per il Black Friday e il Cyber Monday nel 2020. Attendiamo con impazienza un altro anno di successo, coronato da record e senza stress. -rottura dei volumi di invio delle vacanze per i nostri clienti e i nostri dipendenti.