Apa itu Azure Chaos Studio?

Azure Chaos Studio adalah layanan terkelola yang menggunakan rekayasa chaos untuk membantu Anda mengukur, memahami, dan meningkatkan ketahanan aplikasi dan layanan cloud Anda. Rekayasa chaos adalah metodologi di mana Anda menyuntikkan kesalahan dunia nyata ke dalam aplikasi Anda untuk menjalankan eksperimen injeksi kesalahan terkontrol.

Ketahanan adalah kemampuan sistem untuk menangani dan pulih dari gangguan. Gangguan aplikasi dapat menyebabkan kesalahan dan kegagalan yang dapat berdampak buruk pada bisnis atau misi Anda. Baik Anda mengembangkan, memigrasikan, atau mengoperasikan aplikasi Azure, penting untuk memvalidasi dan meningkatkan ketahanan aplikasi Anda.

Chaos Studio membantu Anda menghindari konsekuensi negatif dengan memvalidasi bahwa aplikasi Anda merespons gangguan dan kegagalan secara efektif. Anda dapat menggunakan Chaos Studio untuk menguji ketahanan terhadap insiden dunia nyata, seperti pemadaman atau pemanfaatan CPU yang tinggi pada komputer virtual (VM).

Video berikut ini menyediakan lebih banyak latar belakang tentang Chaos Studio:

Skenario Chaos Studio

Anda dapat menggunakan rekayasa chaos untuk berbagai skenario validasi ketahanan yang mencakup siklus hidup pengembangan dan operasi layanan. Ada dua jenis skenario:

  • Geser ke kanan: Skenario ini menggunakan lingkungan produksi atau praproduksi. Biasanya, Anda melakukan skenario shift-right dengan lalu lintas pelanggan nyata atau beban simulasi.
  • Geser ke kiri: Skenario ini dapat menggunakan lingkungan pengembangan atau pengujian bersama. Anda dapat melakukan skenario shift-left tanpa lalu lintas pelanggan nyata.

Anda dapat menggunakan Chaos Studio untuk skenario rekayasa chaos umum berikut:

  • Reproduksi insiden yang memengaruhi aplikasi Anda untuk lebih memahami kegagalan. Pastikan bahwa perbaikan pasca-insiden mencegah insiden berulang.
  • Bersiaplah untuk acara atau musim utama dengan beban, skala, performa, dan validasi ketahanan "hari permainan".
  • Lakukan latihan kelangsungan bisnis dan pemulihan bencana untuk memastikan bahwa aplikasi Anda dapat pulih dengan cepat dan mempertahankan data penting dalam bencana.
  • Jalankan latihan ketersediaan tinggi untuk menguji ketahanan aplikasi terhadap pemadaman wilayah, kesalahan konfigurasi jaringan, peristiwa bertekanan tinggi, atau masalah tetangga yang bising.
  • Mengembangkan tolok ukur performa aplikasi.
  • Merencanakan kebutuhan kapasitas untuk lingkungan produksi.
  • Jalankan pengujian stres atau uji beban.
  • Pastikan bahwa layanan yang dimigrasikan dari lingkungan lokal atau cloud lainnya tetap tahan terhadap kegagalan yang diketahui.
  • Membangun keyakinan pada layanan yang dibangun di atas arsitektur cloud-native.
  • Validasi bahwa alat situs langsung, data pengamatan, dan proses panggilan masih berfungsi dalam kondisi yang tidak terduga.

Untuk banyak skenario ini, Anda terlebih dahulu membangun ketahanan dengan menggunakan eksperimen kekacauan ad-hoc. Kemudian, Anda terus memvalidasi bahwa penyebaran baru tidak akan mengubah ketahanan. Untuk memeriksanya, Anda menjalankan eksperimen chaos sebagai gerbang penyebaran dalam alur integrasi berkelanjutan/penyebaran berkelanjutan Anda.

Cara kerja Chaos Studio

Dengan Chaos Studio, Anda dapat mengatur injeksi kesalahan yang aman dan terkontrol pada sumber daya Azure Anda. Eksperimen chaos adalah inti dari Chaos Studio. Eksperimen kekacauan menjelaskan kesalahan untuk dijalankan dan sumber daya yang harus dijalankan. Anda dapat mengatur kesalahan untuk dijalankan secara paralel atau berurutan, tergantung pada kebutuhan Anda.

Chaos Studio mendukung dua jenis kesalahan:

  • Service-direct: Kesalahan ini berjalan langsung terhadap sumber daya Azure, tanpa instalasi atau instrumentasi apa pun. Contohnya termasuk me-reboot kluster Azure Cache for Redis atau menambahkan latensi jaringan ke pod Azure Kubernetes Service.
  • Berbasis agen: Kesalahan ini berjalan di VM atau set skala komputer virtual untuk melakukan kegagalan dalam tamu. Contohnya termasuk menerapkan tekanan memori virtual atau membunuh proses.

Setiap kesalahan memiliki parameter tertentu yang dapat Anda konfigurasi, seperti proses mana yang akan dibunuh atau berapa banyak tekanan memori yang akan dihasilkan.

Saat Anda membangun eksperimen chaos, Anda menentukan satu atau beberapa langkah yang dijalankan secara berurutan. Setiap langkah berisi satu atau beberapa cabang yang berjalan secara paralel dalam langkah. Setiap cabang berisi satu atau beberapa tindakan, seperti menyuntikkan kesalahan atau menunggu durasi tertentu.

Anda mengatur target sumber daya untuk menjalankan kesalahan ke dalam grup yang disebut pemilih sehingga Anda dapat dengan mudah mereferensikan sekelompok sumber daya di setiap tindakan.

Diagram berikut menunjukkan tata letak eksperimen chaos di Chaos Studio:

Diagram that shows the layout of a chaos experiment.

Eksperimen chaos adalah sumber daya Azure dalam grup langganan dan sumber daya. Anda dapat menggunakan portal Azure atau Chaos Studio REST API untuk membuat, memperbarui, memulai, membatalkan, dan melihat status eksperimen.

Langkah berikutnya

Sekarang setelah Anda memahami cara menggunakan rekayasa kekacauan, Anda siap untuk: