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
| Langkah | Median | Apa yang terjadi |
|---|---|---|
| Salin gambar | 84 dtk | Menarik gambar disk dari penyimpanan per situs ke node target |
| Buat volume | 31 dtk | Mengalokasikan dan memformat volume NVMe |
| Alokasi alamat | 46 dtk | Mengambil kunci pada kumpulan alamat situs, memilih IPv4, menulis DNS terbalik |
| Boot pertama dan cloud-init | 39 dtk | Membuat 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
| Metrik | Sebelum | Sesudah |
|---|---|---|
| Median | 3 mnt 20 dtk | 47 dtk |
| Persentil ke-95 | 12 mnt 10 dtk | 3 mnt 56 dtk |
| Persentil ke-99 | 41 mnt | 8 mnt 20 dtk |
| Pembuatan gagal yang membutuhkan manusia | 1 dari 400 | 1 dari 9.000 |
| Konkurensi per situs sebelum median bergerak | 6 | 90 |
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.