OPS07-BP04 Menggunakan playbook untuk menyelidiki masalah - Kerangka Kerja AWS Well-Architected

OPS07-BP04 Menggunakan playbook untuk menyelidiki masalah

Playbook adalah panduan mendetail yang digunakan untuk menyelidiki insiden. Ketika terjadi sebuah insiden, playbook digunakan untuk menyelidiki, membuat cakupan dampak, dan mengidentifikasi akar masalah penyebabnya. Playbook digunakan untuk berbagai skenario, dari deployment yang gagal hingga insiden keamanan. Dalam banyak kasus, playbook mengidentifikasi akar masalah yang dimitigasi dengan menggunakan runbook. Playbook adalah komponen pokok dalam rencana respons insiden organisasi Anda.

Playbook yang baik memiliki sejumlah fitur utama. Playbook memberikan panduan secara mendetail bagi pengguna, dalam proses penemuan. Dengan berpikir secara menyeluruh, langkah apa saja yang sebaiknya diikuti seseorang untuk mendiagnosis sebuah insiden? Tetapkan secara jelas di dalam playbook apakah alat-alat khusus atau izin yang lebih tinggi diperlukan di dalam playbook. Membuat sebuah rencana komunikasi untuk memberikan informasi terbaru kepada para pemangku kepentingan mengenai status penyelidikan adalah komponen utama. Dalam situasi ketika akar penyebab masalah tidak dapat diidentifikasi, playbook harus memiliki rencana eskalasi. Jika akar penyebab masalah sudah diidentifikasi, playbook harus mengarah ke sebuah runbook yang menjelaskan cara menyelesaikannya. Playbook harus disimpan secara terpusat dan dipelihara secara rutin. Jika playbook digunakan untuk pemberitahuan khusus, bekali tim Anda dengan penunjuk ke playbook yang ada di dalam pemberitahuan tersebut.

Otomatisasi playbook Anda seiring dengan kematangan organisasi. Mulailah dengan playbook yang mencakup insiden-insiden berisiko rendah. Gunakan penulisan skrip untuk mengotomatiskan langkah-langkah penemuan. Pastikan Anda memiliki runbook pendamping untuk memitigasi akar masalah umum.

Hasil yang diinginkan: Organisasi Anda memiliki playbook untuk insiden umum. Playbook disimpan di lokasi terpusat dan tersedia untuk anggota tim Anda. Playbook harus sering diperbarui. Runbook pendamping dibuat untuk akar masalah apa pun yang diketahui.

Anti-pola umum:

  • Tidak ada cara standar untuk menyelidiki sebuah insiden.

  • Anggota tim mengandalkan memori otot atau pengetahuan kelembagaan untuk memecahkan masalah kegagalan deployment.

  • Anggota tim baru mempelajari cara menyelidiki permasalahan melalui coba-coba (trial and error).

  • Praktik terbaik untuk menyelidiki permasalahan tidak dibagikan ke seluruh tim.

Manfaat menjalankan praktik terbaik ini:

  • Playbook meningkatkan upaya Anda untuk memitigasi insiden.

  • Anggota tim yang berbeda-beda dapat menggunakan playbook yang sama untuk mengidentifikasi akar penyebab masalah secara konsisten.

  • Setelah akar penyebab masalah diketahui, kemudian bisa dikembangkan runbook untuk masalah tersebut, sehingga dapat mempercepat waktu pemulihan.

  • Playbook akan membantu anggota tim untuk mulai berkontribusi lebih cepat.

  • Tim dapat menskalakan proses mereka dengan playbook yang dapat diulangi langkah-langkahnya.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang

Panduan implementasi

Cara Anda membangun dan menggunakan playbook bergantung pada kematangan organisasi Anda. Jika Anda baru mengenal cloud, buatlah playbook dalam bentuk teks di dalam repositori dokumen pusat. Seiring dengan kematangan organisasi, playbook bisa dibuat menjadi semi-otomatis dengan bahasa skrip seperti Python. Skrip-skrip ini dapat dijalankan di dalam notebook Jupyter untuk mempercepat penemuan. Organisasi tingkat lanjut memiliki playbook yang sepenuhnya otomatis untuk permasalahan-permasalahan umum yang diperbaiki secara otomatis dengan runbook.

Mulailah membangun playbook Anda dengan mengidentifikasi insiden-insiden umum yang terjadi pada beban kerja Anda. Untuk mengawali, pilihlah playbook untuk insiden-insiden dengan risiko rendah dan dengan akar penyebab masalah yang telah dipersempit menjadi beberapa permasalahan. Setelah Anda memiliki playbook untuk skenario yang lebih sederhana, beralihlah ke skenario yang memiliki risiko lebih tinggi atau skenario dengan akar penyebab masalah yang tidak diketahui dengan baik.

Playbook teks Anda harus diotomatiskan seiring dengan kematangan organisasi Anda. Menggunakan layanan seperti AWS Systems Manager Automation, teks datar dapat ditransformasi menjadi otomatisasi. Otomatisasi ini dapat dijalankan terhadap beban kerja untuk mempercepat penyelidikan. Otomatisasi ini dapat diaktifkan untuk merespons peristiwa, sehingga akan mengurangi rata-rata waktu untuk menemukan dan menyelesaikan insiden.

Pelanggan dapat menggunakan AWS Systems Manager Incident Manager untuk menanggapi insiden. Layanan ini menyediakan satu antarmuka untuk memeriksa insiden, memberikan informasi kepada para pemangku kepentingan saat proses penemuan dan mitigasi, dan berkolaborasi selama berlangsungnya insiden. Layanan ini menggunakan AWS System Manager Automation untuk mempercepat deteksi dan pemulihan.

Contoh pelanggan

Insiden produksi memberikan dampak pada AnyCompany Retail. Rekayasawan yang siap dipanggil kapan saja (on-call) menggunakan playbook untuk menyelidiki permasalahan. Seiring mereka mengikuti langkah-langkahnya, mereka terus memutakhirkan para pemangku kepentingan utama yang diidentifikasi di dalam playbook. Rekayasawan mengidentifikasi akar penyebab masalah sebagai kondisi pacu di dalam layanan backend. Dengan menggunakan runbook, rekayasawan meluncurkan ulang layanan, sehingga AnyCompany Retail dapat kembali online.

Langkah-langkah implementasi

Jika Anda belum memiliki repositori dokumen, kami menyarankan Anda untuk membuat repositori kontrol versi untuk pustaka playbook Anda. Anda dapat membangun playbook Anda dengan menggunakan Markdown, yang kompatibel dengan sebagian besar sistem otomatisasi playbook. Jika Anda memulai dari nol, gunakan contoh templat playbook berikut ini.

# Playbook Title ## Playbook Info | Playbook ID | Description | Tools Used | Special Permissions | Playbook Author | Last Updated | Escalation POC | Stakeholders | Communication Plan | |-------|-------|-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this playbook for? What incident is it used for? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | Stakeholder Name | How will updates be communicated during the investigation? | ## Steps 1. Step one 2. Step two
  1. Jika Anda belum memiliki repositori dokumen atau wiki, buatlah repositori kontrol versi baru untuk playbook Anda di sistem kontrol versi Anda.

  2. Identifikasi permasalahan umum yang memerlukan penyelidikan. Ini sebaiknya adalah skenario dengan akar penyebab masalah yang dibatasi ke beberapa permasalahan dan penyelesaian yang memiliki risiko rendah.

  3. Menggunakan templat Markdown, isilah bagian Nama Playbook dan bidang di bawah Info Playbook.

  4. Lengkapi langkah-langkah pemecahan masalah. Sampaikan dengan sejelas mungkin tindakan-tindakan yang akan dilakukan atau area apa saja yang harus Anda selidiki.

  5. Berikan playbook tersebut kepada anggota tim dan minta mereka mempelajari dan memvalidasinya. Jika terdapat hal yang terlewatkan atau tidak jelas, lakukan pembaruan playbook.

  6. Terbitkan playbook di dalam repositori dokumen Anda dan informasikan kepada tim dan pemangku kepentingan.

  7. Pustaka playbook ini akan tumbuh seiring dengan semakin banyaknya playbook yang Anda tambahkan. Setelah Anda memiliki beberapa playbook, mulailah mengotomatiskannya menggunakan alat seperti AWS Systems Manager Automation untuk terus menyinkronkan otomatisasi dan playbook.

Tingkat upaya untuk rencana implementasi: Rendah. Playbook Anda harus berupa dokumen teks yang disimpan di sebuah lokasi terpusat. Organisasi yang lebih matang akan beralih ke playbook otomatis.

Sumber daya

Praktik-praktik terbaik terkait:

Dokumen terkait:

Video terkait:

Contoh terkait:

Layanan terkait: