Di masa lalu, saya telah bekerja di berbagai lingkungan. Aplikasi desktop, game, barang yang disematkan, layanan web, pekerjaan baris perintah, situs web, pelaporan basis data, dan sebagainya. Semua lingkungan ini memiliki sifat yang sama: tidak masalah kompleksitasnya, tidak masalah ukurannya, saya selalu dapat memiliki subset atau potongan aplikasi pada mesin saya atau dalam lingkungan pengembang untuk diuji.
Hari ini saya tidak. Hari ini saya menemukan diri saya dalam lingkungan yang fokus utamanya adalah skalabilitas. Mereproduksi lingkungan sangatlah mahal. Mengambil sepotong lingkungan, sementara masuk akal (beberapa bagian perlu disimulasikan, atau digunakan dalam mode satu-contoh yang tidak dibuat untuk dilakukan), agak mengalahkan tujuan karena mengaburkan konkurensi dan memuat yang sistem nyata bertemu. Bahkan sistem "tes" kecil memiliki kekurangannya. Hal-hal akan berperilaku berbeda ketika Anda punya 2 node dan ketika Anda memiliki 64 node.
Pendekatan saya yang biasa untuk optimasi (mengukur, mencoba sesuatu, memverifikasi kebenaran, mengukur perbedaan, mengulangi) tidak benar-benar bekerja di sini karena saya tidak dapat secara efektif melakukan langkah 2 dan 3 untuk bagian-bagian dari masalah yang penting (ketahanan konkurensi dan kinerja di bawah beban). Skenario ini sepertinya tidak unik. Apa pendekatan umum untuk melakukan tugas semacam ini di lingkungan seperti ini?
Ada beberapa pertanyaan terkait:
Reproducing the environment is prohibitively costly.
- Berapa harga bug produksi yang terhenti? Bagaimana dengan 2 bug? Pada waktu yang tidak dapat diprediksi (kemungkinan besar ketika Anda memiliki mayoritas pengguna Anda memasukkan beban pada sistem pada saat yang sama). Timbang bahwa dengan biaya mendirikan lingkungan reproduksi minimal - Anda mungkin menemukan itu tidak terlalu mahal.
prohibitively costly
.