Sarapan dengan Sejuta Email
Diterbitkan: 2020-02-05Black Friday yang mulus adalah yang kami minta
Saat saya sarapan sekitar pukul 8 pagi Waktu Standar Pasifik (PST) setiap hari selama akhir pekan Black Friday, Twilio SendGrid telah memproses lebih dari 1 miliar email yang dihitung dalam Waktu Standar Timur AS (EST).
Melihat statistik, kami memproses lebih dari 16,5 miliar email dari Thanksgiving hingga Cyber Monday, dan lebih dari 22,3 miliar untuk minggu yang dimulai pada hari Selasa sebelum Thanksgiving. Ini adalah angka yang sangat bagus untuk bisnis. Dari perspektif organisasi teknik, melakukannya tanpa peringatan apa pun atau pengalaman pelanggan yang menurun sangat memuaskan.
Saya merekomendasikan membaca artikel blog ini, Menskalakan Infrastruktur Kami untuk 4+ Miliar Email dalam Satu Hari , yang ditulis oleh rekan saya Sara Saedinia, yang berbicara tentang pentingnya pengoperasian yang lancar pada skala ini untuk bisnis kami dan untuk bisnis yang mengandalkan kami. Di sini, saya akan fokus pada persiapan kami yang membuat akhir pekan paling kritis tahun ini bagi pelanggan email kami menjadi yang paling lancar sejauh ini.
Bagaimana kami menjadikan ini akhir pekan Black Friday yang mulus? Menangani hari pengiriman terbesar kami memerlukan perencanaan yang cermat, berbagai pengujian ayunan wilayah, banyak orang yang menganalisis data, dan memperketat umpan balik saat kami memvalidasi peningkatan pada sistem kami berdasarkan pengamatan telemetri. Kami masih memiliki lebih banyak otomatisasi dan peningkatan yang akan kami lakukan untuk memastikan kami terus menyenangkan pelanggan kami dan memastikan kami mengirim komunikasi yang tepat ke penerima yang tepat dengan cepat.
Memahami bisnis kami
Model bisnis SendGrid mengharuskan kami selalu aktif—kami tidak memiliki jendela pemeliharaan untuk menerima dan mengirim email. Pelanggan kami membutuhkan layanan andal yang menerima dan mengirimkan email tanpa gangguan. Ini berarti bahwa semua perubahan infrastruktur kami, perangkat keras serta perangkat lunak, perlu dilakukan sementara kami terus memproses dan mengirimkan email tanpa penundaan yang nyata.
Jumlah email yang kami proses telah berkembang pesat selama beberapa tahun terakhir seperti yang digambarkan dalam grafik berikut.
Kami menjalani hari pertama kami di 1B pada pertengahan 2016, dan kami memiliki hari 4B pertama kami pada Black Friday ini. Itu adalah pertumbuhan 400% dalam waktu kurang dari 4 tahun. Untuk memperhitungkan skala kami yang terus meningkat, untuk menjaga agar biaya tetap terkendali, dan untuk memberikan keandalan yang lebih besar bagi pelanggan kami, kami harus mendesain ulang dan mengembangkan jalur pemrosesan surat kami.
Jumat Hitam akan datang
Orang-orang bertanya kepada saya, “Mengapa Black Friday dan Cyber Monday begitu penting bagi Anda?” Cyber Monday ini, kami memproses email 45% lebih banyak dari puncak tahun sebelumnya. Black Friday adalah salah satu acara ritel dan belanja paling penting di Amerika Serikat. Secara tradisional, ini adalah hari ketika pengecer akan berada dalam kondisi hitam (positif bersih) untuk tahun ini. Pemasaran email dan penggunaan email transaksional telah menjadi penting untuk semua bisnis.
Dari pengecer hingga bisnis yang menyediakan otomatisasi pemasaran, mengalami masalah pengiriman email yang andal pada akhir pekan Black Friday dapat mengakibatkan hilangnya pendapatan yang signifikan. Akibatnya, akhir pekan ini sering kali menjadi akhir pekan yang menentukan bisnis bagi kami. Kami melakukan yang terbaik untuk membuatnya semudah mungkin bagi teknisi kami, agen pendukung, manajer sukses pelanggan, eksekutif, dan yang paling penting, bagi pelanggan kami.
Persiapan Black Friday
Jadi bagaimana kita mempersiapkan Black Friday? Kami membeli t-shirt! (Dan lakukan banyak pekerjaan.) Baca terus untuk mengetahui bagaimana kami mempersiapkannya.
Anggota Kantor Twilio SendGrid Irvine
Beberapa anggota kantor Twilio SendGrid Denver.
statistik
Mari kita mulai dengan beberapa statistik:
- Memproses 4.1B+ email di Black Friday dan 4.2B+ email di Cyber Monday
- Memproses 16,5 miliar+ email dari Thanksgiving hingga Cyber Monday
- Memproses 315 juta+ email selama jam sibuk
- Black Friday dan Cyber Monday, masing-masing memiliki 8 jam berturut-turut untuk memproses 220 juta email atau lebih
- Semua ini dengan rata-rata waktu pengiriman email dari ujung ke ujung pada 1,9 detik
- Rata-rata, kami secara kasar memancarkan 5,5 peristiwa per pesan. Berdasarkan hal itu, sistem kami memancarkan dan memproses 91B+ acara dari Thanksgiving hingga Cyber Monday, 23B+ hanya di Cyber Monday
Tantangan
Skala yang belum pernah terlihat : Skala yang kami targetkan untuk diuji harus sesuai dengan perkiraan beban puncak kami. Ketika kami melakukan tes pertama kami untuk persiapan tahun lalu di awal April, volume rata-rata hari kerja kami kurang dari setengah dari prediksi puncak kami. Puncak jam kami bahkan tidak setengah dari apa yang akan kami uji.
Mengelola lingkungan kita : Email adalah alur kerja stateful: perlu untuk melacak status pesan. Jadi saat pesan bergerak melalui jalur pipa, kami melacak apakah pesan tersebut terpental atau ditangguhkan, dan mencegah duplikasi. Dengan demikian, saluran email kami adalah cloud hybrid dan arsitektur lokal, dan penskalaan otomatis bukanlah solusi ajaib. Tantangan kami adalah memaksimalkan efisiensi layanan pusat data kami sambil mempersiapkan kapasitas untuk menangani lonjakan volume besar-besaran tanpa memengaruhi biaya bagi pelanggan.
Penskalaan tidak linier : Tidak semua sistem berskala linier. Karena skala prediksi kami jauh lebih tinggi daripada saat pertama kali memulai pengujian, kami tidak dapat hanya menghitung kebutuhan perangkat keras kami dengan model matematika sederhana. Penting juga untuk diingat bahwa layanan penskalaan membabi buta akan membebani dependensi, dan dependensi seperti database tidak menskala dengan cara yang sama seperti agen transfer surat (MTA) kami.
Menyeimbangkan investasi kami : Seiring kami terus berinovasi, memastikan bahwa kami mendukung kebutuhan pelanggan terkait dengan pengiriman email mereka, kami memahami bahwa fitur kami tidak memberikan nilai apa pun kepada pelanggan kami jika mereka tidak dapat diakses dan berkinerja sesuai kebutuhan. Kami harus menemukan keseimbangan dan berinvestasi dengan tepat dalam pengujian, pembelajaran, peningkatan, dan peningkatan sistem kami agar dapat diandalkan dan tangguh pada skala kami. Melakukannya secara efisien memungkinkan kami untuk terus berinvestasi dalam inovasi.
Bagaimana kami melakukannya?
Kami melakukannya bersama, sebagai satu tim. Bergandengan tangan, seperti yang kita katakan. Persiapan kami tahun ini, dari April hingga November, melibatkan partisipasi lebih dari 100 anggota di banyak tim. Memodelkan prediksi puncak, mendefinisikan kriteria observabilitas, belajar dari pengamatan kami, merekayasa perubahan yang diperlukan, merencanakan, dan mengelola membutuhkan berbagai keterampilan dari banyak orang.
Kami saling percaya sambil menjaga satu sama lain jujur, tetap fokus, dan mencapai tujuan kami.
Proses yang efektif dan terus meningkat adalah teman kami.
Perencanaan
Kami memiliki tiga pusat data untuk memproses email pelanggan. Untuk merencanakan skala yang belum terjangkau, kami memvalidasi bahwa kami dapat menangani lalu lintas puncak yang diproyeksikan dengan hanya dua pusat data yang tersedia. Untuk memenuhi SLA ketersediaan tinggi kami, infrastruktur kami memiliki failover region bawaan. Ini berarti bahwa kami memiliki kemampuan untuk melakukan failover lalu lintas antar wilayah.
Kami memanfaatkan kemampuan ini dengan irama yang sering sepanjang tahun sebagai prosedur operasi standar dan mempercepatnya sebagai bagian dari upaya kami untuk menunjukkan bahwa kami mampu melayani volume puncak Black Friday/Cyber Monday sambil mempertahankan kualitas layanan. Jika telemetri sistem mendekati ambang batas tujuan tingkat layanan (SLO), kami dapat dengan cepat memanfaatkan beberapa wilayah untuk melanjutkan status nominal. Kami kemudian memanfaatkan telemetri yang dikumpulkan untuk menentukan di mana kami perlu melakukan perubahan.
Dalam upaya paralel, kami telah mulai meninjau dan memperkuat Tujuan Tingkat Layanan (SLO) kami yang memberi kami target numerik yang tepat untuk ketersediaan sistem dan Indikator Tingkat Layanan (SLI), yang memberi kami frekuensi penyelidikan yang berhasil untuk sistem kami.
Observasi, Pembelajaran, dan Komunikasi
Setiap tes memberikan sejumlah besar informasi. Salah satu tantangan yang kami hadapi adalah mendokumentasikan dan mengomunikasikan pengamatan secara efektif di seluruh tim penguji bergilir, dan kemudian menganalisis data di berbagai sistem. Meskipun kami memiliki dasbor tim standar, setiap anggota dapat memiliki sesuatu yang spesifik yang mereka amati.
Kami mulai melakukan retro dengan tim uji untuk menganalisis semua informasi teknis yang dibuang untuk beberapa layanan yang dikelola oleh beberapa tim. Retro ini panjang, dan untuk sebagian besar durasi, hanya berguna untuk satu atau dua tim per tes. Kami akhirnya pindah menggunakan Slack Thread untuk catatan retro yang menghemat 10 detik waktu rapat manusia per pengujian.
Tim manajemen pengujian kami melibatkan dua manajer teknik, satu arsitek, dan satu insinyur senior. Manajer sangat penting dalam perencanaan dan manajemen ketergantungan, sementara orang-orang yang lebih teknis membantu memproses dan menganalisis informasi di tingkat sistem ujung ke ujung.
Berdasarkan analisis informasi yang tersedia, kami secara berulang memvalidasi bahwa SLI kami benar-benar sesuai dengan SLO kami. Kami menyempurnakan lansiran kami dan membuat lansiran penting tertentu menjadi lebih sensitif untuk mengidentifikasi potensi penurunan sistem dengan baik sebelumnya.
Prioritas dan implementasi
Kami membuat tiket perubahan yang diusulkan dan tim memprioritaskan tiket ini. Tantangan pertama di sini adalah mengelola tiket ini di beberapa papan tim. Tantangan lain adalah memprioritaskan pekerjaan Black Friday dengan kejam dibandingkan prioritas lainnya.
Kami perlu memberi teknisi kami kebebasan kreatif untuk menemukan solusi atas masalah yang sulit. Pada saat yang sama, kami harus memastikan bahwa solusi ini selaras dengan rencana jangka panjang kami. Juga sangat penting bahwa kami selalu sadar akan konflik kepentingan apa pun, yang berarti menghindari solusi jangka pendek apa pun yang dapat kembali menggigit kami.
Memvalidasi perubahan yang diterapkan akan menjadi tujuan kami untuk pengujian mendatang.
Mempertahankan dan meningkatkan tempo saat kami mendekati Black Friday adalah tantangan besar dalam perencanaan dan pelaksanaan.
Percepatan
Saat kami memasuki bulan September, kami mulai melakukan beberapa tes stres setiap minggu. Ini mengharuskan kami untuk mengidentifikasi, memperbaiki, dan memvalidasi masalah lebih cepat. Ini juga memberi kami siklus belajar dan beradaptasi yang jauh lebih cepat.
Selain full swing test dari mail pipeline seperti yang dijelaskan sebelumnya, kami juga mulai melakukan stress testing pada layanan pendukung kami pada waktu yang sama. Selama periode yang sama, kami mulai melakukan uji beban dengan salah satu pelanggan terbesar kami untuk memastikan bahwa geopod masuk kami akan menangani pengiriman burst yang diantisipasi selama musim liburan tanpa masalah.
Karena jam kerja yang panjang dan tantangan dalam mengelola pekerjaan, tim kami mulai kelelahan. Kami mencantumkan peringatan paling penting yang diperlukan untuk menghentikan pengujian kami jika perlu, dan membuatnya lebih sensitif. Ini memungkinkan kami untuk mulai melakukan pengujian tanpa mengharuskan kami hadir untuk memantau sistem kami di pagi hari.
Kecepatan dengan hati-hati
Saat kami mendekati akhir September, ada kekhawatiran bahwa kami mungkin tidak bergerak cukup cepat ke arah yang benar. Kami menciptakan tim harimau, tim spesialis yang dapat mengerjakan salah satu tiket di beberapa tim, dan tim yang bekerja dengan proses yang jauh lebih ramping di tingkat harian.
Kami membuat peningkatan yang signifikan dalam infrastruktur operasional kami serta perangkat lunak pemrosesan surat kami dalam persiapan Black Friday. Perubahan ini secara tegas diprioritaskan, dan tim harus bekerja dalam koordinasi yang baik satu sama lain. Itu adalah pengalaman hebat bagi orang-orang yang mengutamakan SendGrid. Kami membuat perubahan pada aplikasi, infrastruktur, dan meningkatkan kapasitas perangkat keras kami sambil menjalankan mesin inti unit bisnis perusahaan publik semuanya dengan kecepatan awal. Yang terbaik dari semuanya, kami melakukan semuanya tanpa mengurangi pengalaman layanan bagi pelanggan kami.
Rencana masa depan
Kami menghabiskan banyak waktu untuk mempersiapkan Black Friday 2019. Pelajaran kami dari tahun ini akan membantu kami untuk mengotomatiskan banyak persiapan kami untuk Black Friday dan Cyber Monday di tahun 2020. Kami menantikan tahun sukses lainnya dengan bebas stres, catat -melanggar volume pengiriman liburan untuk pelanggan dan karyawan kami.