Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meningkatkan ketahanan dan meningkatkan pengalaman pelanggan dengan menggunakan chaos engineering pada AWS
Laurent Domb, Kepala Teknolog, Keuangan Federal, Amazon Web Services
April 2025 (riwayat dokumen)
Chaos engineering adalah disiplin bereksperimen pada aplikasi untuk membangun kepercayaan pada kemampuan organisasi dan aplikasi Anda untuk menahan kondisi yang bergejolak dalam produksi. Ini adalah pendekatan proaktif terhadap ketahanan, dengan tujuan untuk memverifikasi apakah aplikasi dan organisasi Anda mampu menyerap, beradaptasi, dan akhirnya pulih dari gangguan layanan dengan memperkenalkan kegagalan terkontrol di seluruh orang, proses, dan teknologi. Tujuannya juga untuk mengidentifikasi dan menghilangkan kelemahan sebelum dapat menyebabkan pemadaman atau gangguan lain dalam produksi.
Di Amazon, kami memahami bahwa kegagalan tidak dapat dihindari dalam sistem terdistribusi, sampai-sampai berfungsi meskipun ada kegagalan adalah mode operasi normal. Karena interaksi antar layanan pasti akan gagal, Anda perlu memahami bagaimana layanan Anda bereaksi selama berbagai mode kegagalan dan membangun layanan yang tahan terhadap kerentanan utama seperti kegagalan ketergantungan, badai coba lagi, Zona Ketersediaan yang terganggu, dan kehabisan sumber daya host.
Mari kita ambil contoh badai coba lagi. Kegagalan lokal pada klien dapat berdampak pada beberapa layanan secara signifikan. Ini biasa disebut sebagai efek kupu-kupu. Badai coba lagi adalah manifestasi dari efek kupu-kupu di mana ketergantungan yang gagal memicu klien, dan klien klien tersebut, untuk mencoba kembali operasi yang gagal, yang mengarah pada pertumbuhan lalu lintas yang eksponensial. Layanan menjadi kelebihan beban karena mereka harus menanggapi lalu lintas reguler selain mencoba lagi lalu lintas sambil menangani penurunan kinerja.
Rekayasa kekacauan telah muncul sebagai respons terhadap meningkatnya kompleksitas sistem terdistribusi. Ini adalah pendekatan multidisiplin yang menggabungkan prinsip-prinsip dari teori kekacauan, pemikiran sistem, dan rekayasa untuk merancang dan mengelola sistem kompleks yang tahan terhadap peristiwa dan perilaku tak terduga. Pada intinya, rekayasa kekacauan berkaitan dengan pemahaman dan pengelolaan perilaku sistem yang kompleks dalam kondisi ketidakpastian dan ketidakpastian. Ia mengakui bahwa pendekatan tradisional untuk rekayasa, yang bergantung pada memprediksi dan mengendalikan hasil, seringkali tidak cukup untuk berurusan dengan sifat kompleks dan dinamis dari sistem terdistribusi. Ketika sistem ini tumbuh, mereka sering melampaui ruang lingkup pemahaman setiap individu.
Chaos engineering menyediakan konsep, teknik, dan alat untuk sengaja menyuntikkan kegagalan ke dalam sistem untuk mengungkap kelemahan sebelum mereka terwujud dalam produksi. Pendekatan proaktif ini memungkinkan organisasi untuk membangun kepercayaan bahwa sistem mereka akan bekerja dalam kondisi stres. Meskipun rekayasa kekacauan masih merupakan praktik yang berkembang, ini merupakan perubahan mendasar menuju merancang, mengelola, dan mengoperasikan sistem komputasi modern agar tangguh dalam menghadapi peningkatan kompleksitas dan keterkaitan.
Bagian berikut dari panduan ini membahas manfaat rekayasa kekacauan, menjelaskan cara melakukan eksperimen rekayasa kekacauan, dan menjelaskan pendekatan yang dapat Anda ambil untuk menerapkan rekayasa kekacauan dalam skala besar di organisasi Anda. Juga termasuk contoh perencanaan eksperimen dan dokumen hasil eksperimen yang dapat Anda gunakan sebagai templat untuk eksperimen rekayasa kekacauan Anda.
Bagian selanjutnya mengeksplorasi bagaimana karakteristik rekayasa kekacauan berbeda dari pengujian ketahanan tradisional seperti unit, asap, atau tes integrasi.