Isi
Netflix adalah tempat kelahiran chaos engineering, pendekatan yang semakin signifikan tentang bagaimana arsitektur teknologi modern yang kompleks dikembangkan. Ini pada dasarnya berarti bahwa saat Anda menonton acara Netflix favorit Anda secara berlebihan, platform sedang menguji perangkat lunaknya saat Anda menonton. (Lihat alternatifnyaperangkat lunak pengujian pengguna.)
Praktik rekayasa kekacauan dimulai ketika bisnis inti Netflix adalah persewaan DVD online. Satu korupsi database berarti pemadaman sistem besar, yang menunda pengiriman DVD selama tiga hari. Hal ini mendorong teknisi Netflix untuk bermigrasi dari tumpukan perangkat lunak lokal monolitik ke arsitektur berbasis cloud terdistribusi yang berjalan di Amazon Web Services (AWS).
Sementara pengguna arsitektur terdistribusi dan ratusan layanan mikro mendapat manfaat dari penghapusan satu titik kegagalan, hal itu menciptakan sistem yang jauh lebih kompleks untuk dikelola dan dipelihara. Akibatnya, hal ini menghasilkan kesadaran yang berlawanan dengan intuisi bahwa untuk menghindari kemungkinan kegagalan, tim teknisi Netflix harus terbiasa gagal secara teratur!
- 10 UI yang menyakitkan gagal (dan apa yang dapat Anda pelajari darinya)
Enter Chaos Monkey: Alat unik Netflix yang memungkinkan pengguna menjelajahi arsitekturnya yang rumit dan menyebabkan kegagalan di tempat acak dan dengan interval yang berubah-ubah di seluruh sistem. Melalui implementasinya, tim dapat dengan cepat memverifikasi apakah layanan tersebut kuat dan cukup tangguh untuk mengatasi insiden yang tidak direncanakan.
Ini adalah awal dari chaos engineering - praktik bereksperimen pada sistem terdistribusi untuk membangun kepercayaan pada kemampuan sistem untuk menahan kondisi turbulensi dalam produksi dan kegagalan tak terduga.
Lisensi open source Chaos Monkey mengizinkan semakin banyak organisasi seperti Amazon, Google, dan Nike untuk menggunakan teknik chaos dalam arsitektur mereka. Tapi seberapa kacau chaos engineering benar-benar bisa terjadi?
Rekayasa chaos yang berhasil mencakup serangkaian eksperimen yang bijaksana, terencana, dan terkontrol, yang dirancang untuk mendemonstrasikan bagaimana sistem Anda berperilaku dalam menghadapi kegagalan.
Ironisnya, ini terdengar seperti kebalikan dari kekacauan. Namun, praktisi harus ingat bahwa tujuannya adalah belajar untuk bersiap menghadapi hal yang tidak terduga. Sistem perangkat lunak modern seringkali terlalu rumit untuk ditafsirkan sepenuhnya, jadi disiplin ini adalah tentang melakukan eksperimen untuk mengekspos semua elemen yang tidak diketahui. Eksperimen chaos engineering memperluas pengetahuan kita tentang kelemahan sistemik.
Sebelum chaos engineering dapat dipraktikkan, Anda harus terlebih dahulu memiliki tingkat kemantapan dalam sistem Anda. Kami tidak menyarankan menimbulkan kekacauan jika Anda terus menerus memadamkan api. Jika itu benar, berikut beberapa tip utama untuk melakukan eksperimen chaos engineering yang sukses:
01. Cari tahu sistem yang stabil
Mulailah dengan mengidentifikasi metrik yang menunjukkan sistem Anda sehat dan berfungsi sebagaimana mestinya. Netflix menggunakan 'streaming per detik' - kecepatan saat pelanggan menekan tombol putar di perangkat streaming video - untuk mengukur kondisi stabilnya.
02. Buat hipotesis
Setiap eksperimen membutuhkan hipotesis untuk diuji. Saat Anda mencoba mengganggu kondisi mapan sistem ini, hipotesis Anda akan terlihat seperti, 'Saat kami melakukan X, seharusnya tidak ada perubahan dalam kondisi mapan sistem ini'. Semua aktivitas rekayasa chaos harus melibatkan eksperimen nyata, menggunakan ketidaktahuan nyata.
03. Pertimbangkan skenario dunia nyata
Untuk hasil yang optimal, pikirkan: 'Apa yang bisa salah?' Dan kemudian simulasikan itu. Pastikan Anda juga memprioritaskan potensi kesalahan. Rekayasa chaos mungkin tampak menakutkan pada awalnya, tetapi ketika dilakukan dengan cara yang terkendali, akan sangat berharga untuk memahami bagaimana sistem modern yang kompleks dapat dibuat lebih tangguh dan kuat. Belajar merangkul kekacauan yang terorganisir akan membantu tim Anda memahami sepenuhnya efisiensi dan ketahanan sistem Anda terhadap kondisi berbahaya.
Artikel ini pertama kali diterbitkan pada edisi 324 dibersih, majalah terlaris di dunia untuk perancang dan pengembang web. MembeliMasalah 324 ataulangganan untuk menjaring hari ini.