- Produk Google digunakan oleh miliaran orang di seluruh dunia, sehingga penting agar produk-produk tersebut berjalan dengan andal. Tim SRE Google telah mengembangkan berbagai metode untuk meningkatkan keandalan layanan.
- Teknik SRE yang telah ada (error budget, postmortem, dan sebagainya) telah berkontribusi besar pada perluasan skala layanan web Google.
- Baru-baru ini, kompleksitas sistem meningkat tajam karena AI/ML, sehingga diperlukan pendekatan baru.
- Teori sistem dan teori kontrol sangat berguna untuk memahami interaksi kompleks secara sistematis.
- Diperlukan pendekatan yang menjamin keamanan dari desain tingkat sistem secara fundamental, bukan sekadar menyelesaikan masalah setelah terjadi.
Gambaran Umum STAMP
- STAMP (System-Theoretic Accident Model and Processes), yang diusulkan oleh Professor Nancy Leveson dari MIT, menganalisis kecelakaan/insiden dari sudut pandang interaksi sistem yang kompleks, bukan dari kegagalan komponen tunggal.
- Alih-alih hubungan kausal klasik ("karena ada bug, sistem rusak"), STAMP menekankan "bagaimana keseluruhan sistem terjebak dalam alur kontrol yang salah."
- Dengan Causal Analysis based on Systems Theory (CAST), insiden direkonstruksi kembali, dan dengan System-Theoretic Process Analysis (STPA), faktor risiko diidentifikasi lebih awal.
Dasar Teori Kontrol – Empat Kondisi
- Dalam teori kontrol, ada 4 kondisi yang diperlukan agar kontrol efektif.
- Kondisi Tujuan: Harus ada target (misalnya menjaga suatu metrik tertentu tetap stabil).
- Kondisi Aksi: Harus dapat memengaruhi kondisi sistem untuk mencapai target.
- Kondisi Model: Diperlukan model sistem (internal dan eksternal) untuk memahaminya.
- Kondisi Observabilitas: Diperlukan mekanisme observasi seperti sensor untuk mengetahui keadaan sistem saat ini.
Menangani Outage sebagai Masalah Kontrol
- Sebelumnya, kecenderungan kuatnya adalah menjelaskan insiden sebagai "kegagalan berantai".
- STAMP menafsirkan ini sebagai masalah "pengendalian dan interaksi yang tidak tepat", sehingga keselamatan dijamin pada tingkat sistem.
- Daripada hanya mencari "dari mana kegagalan pertama bermula", STAMP memeriksa secara menyeluruh "alur kontrol/umpan balik seperti apa yang menyimpang".
Menyediakan Waktu dari Kondisi Hazard
- Model kausal tradisional berpindah langsung dari kondisi normal ke kondisi insiden, sehingga waktu tanggap sangat singkat.
- Dalam STAMP ada konsep "kondisi hazard" untuk menemukan titik masuk ke kondisi berisiko sebelum menjadi insiden penuh.
- Setelah kondisi hazard terdeteksi, intervensi aktif dapat dilakukan, sehingga ada peluang untuk mencegahnya sebelum menjadi insiden nyata.
Melihat dari Kasus Nyata
- "Quota Rightsizer" milik Google secara internal mengalokasikan ulang sumber daya berdasarkan penggunaan layanan.
- Dari sudut pandang STPA, situasi yang menerima data penggunaan yang salah dan kemudian mengurangi sumber daya lebih sedikit dari kebutuhan aktual dapat diidentifikasi lebih awal.
- Pada tahap desain, biasanya hanya fokus pada "logika kontrol yang akurat"; ketika STPA diterapkan, ditemukan masalah pada jalur umpan balik (seperti proses penghitungan penggunaan sumber daya).
- Pada tahun 2021, umpan balik yang salah memang menumpuk dan berujung pada masalah besar, dalam satu kasus sistem berada dalam kondisi hazard selama beberapa minggu tanpa diketahui.
Arah ke Depan
- SRE Google mengejar tingkat keamanan dan pengelolaan kompleksitas yang lebih tinggi melalui pendekatan berbasis teori sistem seperti STAMP, STPA, dan CAST.
- Dengan investasi rekayasa yang relatif kecil (beberapa minggu), banyak skenario risiko potensial dapat ditemukan pada sistem berskala besar.
- Jika analisis berbasis teori kontrol ditambahkan ke budaya keandalan yang sudah ada, kemungkinan penyediaan layanan yang stabil di era AI/ML akan meningkat.
1 komentar
Komentar Hacker News
Pendekatan rekayasa Google bisa merugikan startup. SRE cenderung mengalami sindrom “hero” dan mencoba menyusun ulang desain teknis tim lain.
Ada kemiripan dengan buku Sidney Dekker.
Pendekatan CAST terlihat menarik.
Ada kemiripan menarik antara CAST dan kerja analisis mekanis.
Penasaran apakah ada kasus penerapan kerangka rekayasa keselamatan formal pada analisis jaringan saraf.
Contoh "rightsizer" mungkin juga menghasilkan hasil yang sama jika dianalisis dengan pendekatan tradisional.
Alasan mengapa pengujian perangkat lunak tidak disukai adalah karena cacat yang disebabkan faktor eksternal.
CAST mirip dengan analisis akar penyebab multikarat (multi-cause).
Pertanyaan apakah SRE/DevOps menjadi bagian dari peran harian.
Ciri paling menonjol Google SRE adalah perlunya bantuan SRE saat meluncurkan produk baru.
Artikel ini terlalu panjang dan sulit menangkap poin utamanya.
Penasaran apakah pendekatan ini punya nilai juga di skala di luar FAANG.
Seperti DevOps, cakupan SRE sedang meluas.