Rekayasa kekacauan adalah penyebab kegagalan yang disengaja dan terkendali dalam lingkungan produksi atau pra-produksi untuk memahami dampaknya dan merencanakan postur pertahanan yang lebih baik dan strategi pemeliharaan insiden.
Setiap hari menciptakan peluang baru bagi aplikasi atau infrastruktur penting organisasi untuk gagal, yang berpotensi mengancam kemampuannya untuk memberikan layanan kepada pelanggan. Penyebab kegagalan dapat bervariasi di antara beberapa masalah, termasuk pelanggaran keamanan, kesalahan konfigurasi, atau gangguan layanan. Kemungkinan terjadinya kesalahan atau gangguan dapat meningkat dengan semakin banyaknya aplikasi dan data yang di-host di cloud, yang dapat meningkatkan masalah keamanan.
Salah satu cara untuk mengatasi gangguan adalah rekayasa kekacauan. Ini bukan proses acak ketika insinyur menghentikan instance atau layanan atau menyebabkan sistem gagal tanpa tujuan apa pun. Proses ini mengidentifikasi potensi masalah pada masa depan, memungkinkan tim teknik untuk menyelesaikan secara proaktif dan menghindarinya di lingkungan nyata di kemudian hari.
Rekayasa kekacauan ini penting karena kesalahan atau gangguan dapat memperlambat momentum organisasi, menghabiskan waktu yang berharga untuk mencari solusi dengan cepat saat waktu henti meningkat. Netflix mempelajari hal ini secara langsung ketika mereka beralih dari on-premise ke cloud1( tautan berada di luar ibm.com); mereka mengalami pemadaman listrik yang menyebabkan gangguan penyediaan layanan selama tiga hari pada tahun 2008. Hal ini terjadi sebelum Netflix bertransformasi menjadi layanan streaming video, yang akan membuat pemadaman tersebut menjadi jauh lebih mahal. Sebagai hasilnya, Netflix memutuskan bahwa mereka akan melakukan segala cara untuk meminimalkan gangguan, dan mulai memperkenalkan rekayasa kekacauan ke dalam alur kerjanya. Hal ini memungkinkan mereka untuk mengidentifikasi masalah sebelum terjadi dan meminimalkan kerusakan jika dan ketika terjadi kegagalan yang tidak dapat dihindari.
Netflix menciptakan chaos monkey2(tautan berada di luar ibm.com), sebuah alat sumber terbuka yang menciptakan insiden acak dalam layanan dan infrastruktur TI yang dimaksudkan untuk mengidentifikasi kelemahan yang dapat diperbaiki atau diatasi melalui prosedur pemulihan otomatis ketika dipindahkan dari pusat data pribadi ke Amazon Web Services (AWS) sebagai respons terhadap cloud yang tidak dapat diandalkan. Banyak organisasi sekarang menggunakan chaos monkey untuk menjalankan eksperimen rekayasa kekacauan mereka.
Rekayasa kekacauan merupakan pertahanan penting terhadap kegagalan infrastruktur, pemadaman listrik, atau komponen yang hilang dalam lingkungan produksi organisasi. Hal ini membantu teknisi keandalan lokasi (SRE) dan anggota tim DevOps lainnya untuk menyediakan layanan yang berkelanjutan dengan menghindari gangguan yang signifikan terhadap layanan mereka, memahami kerentanan mereka dengan lebih baik, dan mengetahui cara meminimalkan dampak jika terjadi gangguan.
Bahkan masalah kecil dalam kode dapat berdampak besar pada lingkungan produksi secara keseluruhan karena ketergantungan program yang berbeda. Sebagai contoh, kesalahan dalam sistem perangkat lunak transaksi untuk sebuah perusahaan jasa keuangan dapat mengakibatkan kerugian jutaan dolar3( tautan berada di luar ibm.com). Organisasi mungkin tidak dapat menghindari semua insiden TI, namun mereka dapat meminimalkan kerusakan dengan menggunakan manajemen kekacauan untuk memahami skenario yang mungkin terjadi dan solusi terbaiknya.
IBM Instana Observability memberikan semua orang di seluruh perusahaan akses yang mudah digunakan ke data yang mereka inginkan dengan konteks yang mereka butuhkan untuk melakukan pencegahan dan perbaikan masalah dengan sangat cepat.
Berlangganan buletin IBM
Organisasi dengan ketahanan yang tinggi, kematangan digital, dan observabilitas yang tinggi melalui dasbor dan alat lainnya harus mengadopsi rekayasa kekacauan, karena mereka dapat mengambil tindakan segera pada masalah yang terjadi melalui eksperimen. Organisasi yang tidak memiliki observabilitas ini4 (tautan berada di luar ibm.com) bisa memakan waktu terlalu lama untuk menyelesaikan eksperimen yang mereka buat melalui rekayasa kekacauan.
Rekayasa kekacauan juga harus dimiliki oleh organisasi yang menggunakan cloud, khususnya cloud publik, dan aplikasicloud-native. Cloud publik memperkenalkan potensi masalah pemadaman yang memerlukan koordinasi dengan penyedia cloud, yang menciptakan pendekatan berbeda daripada menangani masalah di lokasi.
Perusahaan yang menggunakan cloud masih sering mendekati insiden TI tanpa mempertimbangkan bagaimana cloud dan software-as-a-service (SaaS) memengaruhi insiden tersebut secara berbeda, menurut Constellation Research5. (tautan berada di luar ibm.com)
Selain itu, maraknya penggunaan layanan mikro, yang meningkatkan jumlah host atau kontainer yang berjalan dalam sebuah sistem, menciptakan tantangan unik (tautan berada di luar ibm.com) yang dapat digali dan dipecahkan melalui eksperimen kekacauan. Ini menggeser kompleksitas dari desain kode ke dalam operasi sistem, yang tidak menghilangkan kompleksitas, tetapi memungkinkan otomatisasi yang lebih besar.
Rekayasa kekacauan juga dapat membantu organisasi meningkatkan kecepatan integrasi berkelanjutan dan jalur pengiriman berkelanjutan (CI/CD). Memasukkan rekayasa kekacauan ke dalam CI/CD seperti yang dilakukan Netflix6 (tautan berada di luar ibm.com), memungkinkan organisasi untuk mengotomatiskan eksperimen berkelanjutan sambil mengendalikan potensi dampaknya.
Terakhir, fakta bahwa organisasi semakin terhubung dengan mitra melalui API berarti masalah dalam sistem mereka dapat berdampak pada organisasi lain.
Penerapan rekayasa kekacauan membantu organisasi memahami titik lemah dalam arsitektur mereka dan memperbaikinya, pada akhirnya menciptakan kemampuan untuk mengantisipasi kegagalan di masa depan. Rekayasa kekacauan yang sukses dapat membantu organisasi untuk meminimalkan kegagalan teknis dengan dampak pelanggan yang signifikan dan juga mendukung pembangunan arsitektur sistem kompleks yang lebih kuat dan lebih tangguh. Setelah organisasi memutuskan untuk mengejar rekayasa kekacauan, langkah selanjutnya adalah menentukan apakah akan mengeksekusinya di lingkungan pra-produksi atau produksi.
Tim DevOps memiliki beberapa opsi untuk menjalankan eksperimen rekayasa kekacauan untuk menguji berbagai proses sistem.
Menciptakan proses rekayasa kekacauan yang ideal membutuhkan beberapa prinsip untuk memastikan sebuah organisasi dapat memiliki sistem terdistribusi dalam skala besar.
Organisasi yang menggunakan rekayasa kekacauan harus memutuskan apakah akan menggunakan pengujian chaos di lingkungan produksi atau pra-produksi. Ada beberapa alasan mengapa rekayasa kekacauan paling bermanfaat dalam lingkungan produksi. Lingkungan langsung menyediakan lingkungan yang paling akurat untuk memahami bagaimana sebuah insiden berdampak pada pengalaman pelanggan. Alasan lainnya yaitu, lingkungan pra-produksi mungkin tidak memiliki pengaturan yang sama persis dengan lingkungan langsung, sehingga menghadirkan sejumlah variabilitas pada eksperimen.
Misalnya, insiden di lingkungan pra-produksi mungkin tidak menciptakan respons yang realistis karena tidak memiliki tingkat lalu lintas yang sama dengan lingkungan langsung. Ini juga mungkin tidak memiliki konfigurasi keamanan yang sama dengan lingkungan itu.
Beberapa organisasi takut menyebabkan masalah dengan situs live mereka, jadi mereka menjalankan eksperimen mereka di situs pra-produksi atau situs pengembangan. Hal ini memastikan bahwa masalah apa pun yang terjadi tidak berdampak pada pengalaman pelanggan secara langsung. Untuk mengurangi hal ini, beberapa organisasi memulai di lingkungan pra-produksi untuk memahami prosesnya sebelum beralih ke lingkungan produksi langsung.
Organisasi akan memilih lingkungan mana yang akan digunakan berdasarkan toleransi risiko mereka. Pada akhirnya, rekayasa kekacauan bertujuan untuk menguji masalah skala besar yang sebenarnya, sehingga lingkungan produksi akan memberikan gambaran paling akurat tentang apa yang terjadi dan apa yang perlu diperbaiki.
Rekayasa kekacauan memberikan beberapa manfaat utama bagi organisasi.
Pelanggan memiliki ekspektasi yang tinggi terhadap ketersediaan layanan yang mereka beli dari perusahaan. Setiap waktu henti atau ketidakmampuan untuk mengakses apa yang telah mereka bayar dapat berdampak serius pada kepuasan pelanggan, yang menyebabkan hilangnya pendapatan dan kerusakan reputasi. Menguji sistem dan mengidentifikasi solusi berarti mengurangi risiko bahwa sistem akan mati dalam jangka waktu yang lama.
Gangguan dapat berasal dari kode yang buruk, masalah server, atau ancaman eksternal. Yang terakhir ini dapat menyerang bahkan dengan praktik keamanan yang sangat baik. Rekayasa kekacauan membantu mengidentifikasi masalah yang dapat dieksploitasi, sehingga organisasi dapat memperkenalkan patch dan perbaikan bug (tautan berada di luar ibm.com) untuk menjaga keamanan layanan mereka.
Rekayasa kekacauan memungkinkan organisasi untuk membuat cetak biru yang lebih tepat tentang bagaimana mereka mengatasi masalah yang akan terjadi di masa depan. Organisasi yang menganut rekayasa kekacauan akan memiliki rencana permainan khusus untuk banyak insiden, memungkinkan perbaikan lebih cepat dan lebih sedikit waktu henti. Rekayasa kekacauan dapat mengurangi waktu henti7 (tautan berada di luar ibm.com) sebanyak 20%.
Eksperimen rekayasa kekacauan mengidentifikasi bagaimana suatu sistem mengalokasikan sumber daya. Memperkenalkan eksperimen akan menunjukkan bagaimana sistem menangani beban, menunjukkan di mana kemacetan atau kemungkinan akan terjadi.
Rekayasa kekacauan membantu tim membangun ketahanan dan fleksibilitas sistem yang lebih besar ke dalam perangkat lunak mereka. Oleh karena itu, organisasi dapat melakukan pendekatan pengkodean perangkat lunak dan solusi baru dengan lebih cerdas karena mereka tahu bagaimana sistem saat ini menangani masalah.
Dapatkan konteks yang Anda butuhkan untuk menyelesaikan insiden lebih cepat dengan solusi observabilitas IBM.
Mengoptimalkan penggunaan dan biaya perangkat lunak
Pelajari cara Artificial Intelligence for IT Operations (AIOps) menggunakan data dan pembelajaran mesin untuk meningkatkan dan mengotomatiskan manajemen layanan TI
Memprediksi dan mencegah masalah kinerja sebelum berdampak pada bisnis Anda dengan Application Performance Management
Operasi TI dan AIOps mengawasi dan mengotomatiskan manajemen, pengiriman, dan dukungan layanan TI di seluruh organisasi
ITSM adalah bagaimana sebuah organisasi memastikan layanan TI-nya bekerja sesuai dengan kebutuhan pengguna dan bisnis
Mengotomatiskan tugas-tugas operasi TI, mempercepat pengiriman perangkat lunak, dan meminimalkan risiko TI dengan rekayasa keandalan situs
Otomatisasi cerdas menggabungkan teknologi AI dan otomatisasi, memungkinkan otomatisasi tugas-tugas tingkat rendah dalam bisnis Anda
1 Chaos Engineering: System Resiliency in Practice, (tautan berada di luar ibm.com) Casey Rosenthal, Nora Jones, 2020
2 What is Chaos Monkey? Chaos engineering explained, (tautan berada di luar ibm.com) InfoWorld, 13 Mei 2020
3 Knight Capital Says Trading Glitch Cost It $440 Million, (tautan berada di luar ibm.com) New York Times, 2012
4 There Is No Resilience without Chaos, The New Stack, (tautan berada di luar ibm.com) 13 April 2023
5 Incident Management in the Cloud Era, (tautan berada di luar ibm.com) Constellation Research, 2023
6 ChAP: Chaos Automation Platform, (tautan berada di luar ibm.com) Netflix Blog, 26 Juli 2017
7 The I&O Leader’s Guide to Chaos Engineering, (tautan berada di luar ibm.com) Gartner, 28 Oktober 2021