Disimpan sejak Oktober 2019

Menulis ulang antrean penyediaan

Median waktu dari invoice yang dibayar hingga kredensial root turun dari tiga menit dua puluh detik menjadi empat puluh tujuh detik. Sebagian besar peningkatan berasal dari pekerjaan yang dilakukan sebelum pesanan ada.

Selama lima tahun, membeli server di sini memakan waktu median tiga menit dua puluh detik dari webhook pembayaran hingga kredensial masuk ke kotak masuk Anda. Tidak ada yang mengeluh. Itu lebih cepat daripada kebanyakan industri dan jauh lebih cepat daripada apa pun yang membutuhkan persetujuan manusia.

Itu juga empat langkah serial yang seharusnya tidak serial, dan begitu Anda menyadarinya, Anda tidak bisa berhenti menyadarinya. Penulisan ulang dirilis pada bulan Maret dan mediannya sekarang empat puluh tujuh detik, dengan persentil ke-95 di bawah empat menit.

Apa yang dilakukan yang lama

LangkahMedianApa yang terjadi
Salin gambar84 dtkMenarik gambar disk dari penyimpanan per situs ke node target
Buat volume31 dtkMengalokasikan dan memformat volume NVMe
Alokasi alamat46 dtkMengambil kunci pada kumpulan alamat situs, memilih IPv4, menulis DNS terbalik
Boot pertama dan cloud-init39 dtkMembuat kunci, memperluas sistem file, mengirim email

Empat langkah, satu kumpulan pekerja global, dan kunci pada kumpulan alamat yang harus diantrekan oleh setiap pesanan di situs yang sama. Pada hari Selasa yang sepi itu baik-baik saja. Selama promosi, atau selama satu jam setelah pelanggan besar membuat skrip empat puluh pembuatan, mediannya berlipat ganda dan ekornya melewati dua belas menit.

Apa yang kami ubah

Gambar sudah di-seed terlebih dahulu, tidak disalin. Setiap node menyimpan basis klon tipis untuk setiap gambar di katalog, diperbarui setiap malam. Membuat volume sekarang menjadi klon copy-on-write terhadap cermin NVMe Gen4 lokal, bukan tarikan jaringan. Langkah itu turun dari delapan puluh empat detik menjadi di bawah dua.

Alamat dipesan lebih awal. Setiap situs menjaga kumpulan hangat alamat yang dialokasikan dengan DNS terbalik yang sudah ditulis, berukuran sekitar enam jam permintaan di situs tersebut. Alokasi sekarang menjadi pop dari kumpulan yang sudah dibuat sebelumnya, bukan kunci, pemindaian, dan penulisan DNS. Empat puluh enam detik menjadi sekitar empat ratus milidetik.

Antrean bersifat per situs. Lonjakan di Frankfurt tidak lagi memperlambat pembuatan di São Paulo, yang terdengar jelas dan bukan desain aslinya karena desain aslinya memiliki empat situs dan satu insinyur.

Pekerja bersifat idempoten dan dapat dilanjutkan. Setiap langkah diberi kunci, sehingga pekerja yang mati di tengah jalan meninggalkan pekerjaan yang dapat dilanjutkan, bukan instance yang setengah jadi dan tiket dukungan. Intervensi manual pada pembuatan yang gagal turun dari sekitar satu dari empat ratus pesanan menjadi satu dari sembilan ribu.

Hasilnya

MetrikSebelumSesudah
Median3 mnt 20 dtk47 dtk
Persentil ke-9512 mnt 10 dtk3 mnt 56 dtk
Persentil ke-9941 mnt8 mnt 20 dtk
Pembuatan gagal yang membutuhkan manusia1 dari 4001 dari 9.000
Konkurensi per situs sebelum median bergerak690

Apa yang salah di tengah jalan

Pada bulan Maret, selama sebelas jam, penyegaran malam basis klon tipis gagal secara diam-diam di empat situs dan gambar Debian yang sudah di-seed menyajikan rilis titik yang sudah basi sembilan hari. Sekitar sembilan puluh instance dibuat darinya. Tidak ada satupun yang rusak dengan cara yang menarik, karena rilis titik basi adalah satu pembaruan paket dari yang terbaru, tetapi tidak ada orang yang membeli server yang harus memeriksanya.

Kami membangun ulang instance yang terpengaruh berdasarkan permintaan, mengirim email ke sembilan puluh orang itu apakah mereka meminta atau tidak, dan menambahkan pemeriksaan yang membandingkan hash gambar dasar dengan katalog sebelum node mana pun diizinkan melayani pembuatan. Kegagalan diam-diam dalam pekerjaan malam adalah penyebab paling membosankan yang mungkin ada dan layak ditulis justru karena itu membosankan.

Apa yang masih lambat

  • Instalasi ISO khusus. Masih manual, masih diukur dalam puluhan menit, biasanya selesai dalam satu jam. Hambatannya adalah orang yang mengonfirmasi bahwa gambar melakukan apa yang dikatakan pengunggahnya.
  • Windows. Aktivasi lisensi menambah dua hingga tiga menit dan tidak di bawah kendali kami.
  • Bare metal. Hari yang sama daripada menit yang sama. Mesin fisik memiliki pembangunan ulang fisik, dan kami lebih suka mengutip Anda dengan jujur daripada memulai jam yang tidak bisa kami kalahkan.
  • Delegasi IPv6 /48. Manual di tiga situs di mana konfigurasi kain lebih tua. Sedang diperbaiki, perlahan.

Mengapa kami berhenti di sini

Kami bisa mendapatkan median sekitar dua puluh detik dengan menjaga instance tetap pra-boot dan hanya menyerahkan satu kepada Anda saat pembayaran. Itu berarti menahan kapasitas idle, yang berarti membayar untuk inti yang tidak digunakan siapa pun, yang berarti membebankan biaya sedikit lebih banyak kepada semua orang agar pesanan baru terasa lebih cepat sebelas detik.

Empat puluh tujuh detik cukup singkat sehingga kendala sekarang adalah rantai konfirmasi pembayaran Anda daripada apa pun yang kami lakukan. Mengoptimalkan melewati titik di mana pelanggan memperhatikan adalah hobi, bukan rekayasa.

Siap saat Anda siap

Pilih kota. Pilih ukuran. Bayar dengan koin.

Tanpa formulir tentang siapa Anda, tanpa menunggu manusia untuk menyetujui, tanpa panggilan telepon untuk memverifikasi apa pun. Invoice dibersihkan dan kredensial masuk ke kotak masuk Anda.