OpenAI baru-baru ini merilis laporan terperinci tentang penghentian layanan ChatGPT dan Sora selama 4 jam 10 menit pada 11 Desember. Kejadian ini mempengaruhi banyak pengguna dan menarik perhatian luas. Laporan tersebut menjelaskan secara rinci penyebab kegagalan, kesulitan yang dihadapi para insinyur, dan proses akhir pemulihan layanan, memberikan pelajaran berharga bagi tim teknis lainnya. Laporan tersebut dengan jelas menjelaskan akar penyebab kegagalan tersebut, serta serangkaian tindakan darurat yang diambil oleh para insinyur ketika menghadapi kecelakaan pesawat kendali, yang mencerminkan kemampuan OpenAI dalam merespons keadaan darurat.
Minggu lalu (11 Desember), layanan ChatGPT dan Sora OpenAI tidak aktif selama 4 jam 10 menit, sehingga berdampak pada banyak pengguna. Kini, OpenAI secara resmi merilis laporan mendetail tentang penghentian ChatGPT.
Sederhananya, akar penyebab kegagalan ini adalah perubahan kecil, namun menimbulkan konsekuensi serius. Para insinyur terkunci di luar kendali pada saat kritis dan tidak mampu menangani masalah tepat waktu. Mengenai kegagalan ini, para insinyur OpenAI dengan cepat meluncurkan sejumlah perbaikan setelah menemukan masalah tersebut, termasuk mengurangi ukuran cluster, memblokir akses jaringan ke API manajemen Kubernetes, dan meningkatkan sumber daya server API Kubernetes. Setelah beberapa putaran upaya, para insinyur akhirnya memulihkan akses ke bagian dari bidang kendali Kubernetes dan mengambil langkah-langkah untuk mengalihkan lalu lintas ke cluster yang sehat, yang pada akhirnya mencapai pemulihan sistem secara penuh.
Insiden tersebut terjadi pada pukul 15.12 PST saat para insinyur menerapkan layanan telemetri baru untuk mengumpulkan metrik bidang kendali Kubernetes (K8S). Namun, layanan ini secara tidak sengaja dikonfigurasikan terlalu luas, menyebabkan setiap node di setiap cluster secara bersamaan melakukan operasi API K8S yang intensif sumber daya. Situasi ini dengan cepat menyebabkan server API mogok, menyebabkan bidang data K8S di sebagian besar klaster kehilangan kemampuan layanan.
Perlu dicatat bahwa meskipun bidang data K8S secara teoritis dapat berjalan secara independen dari bidang kontrol, fungsi DNS bergantung pada bidang kontrol, sehingga layanan tidak dapat berkomunikasi satu sama lain. Ketika operasi API kelebihan beban, mekanisme penemuan layanan rusak, yang menyebabkan kelumpuhan seluruh layanan. Meskipun masalahnya ditemukan dalam waktu 3 menit, teknisi tidak dapat mengakses bidang kendali untuk mengembalikan layanan, sehingga mengakibatkan situasi "lingkaran tak terbatas". Kecelakaan pesawat kendali mencegah mereka menghapus layanan yang bermasalah sehingga membuat pemulihan menjadi tidak mungkin.
Insinyur OpenAI segera mulai mencari berbagai cara untuk memulihkan cluster. Mereka berupaya mengurangi ukuran cluster untuk mengurangi beban API di K8S dan memblokir akses ke API manajemen K8S sehingga server dapat melanjutkan operasi normal. Selain itu, mereka juga memperluas konfigurasi sumber daya server API K8S untuk menangani permintaan dengan lebih baik. Setelah serangkaian upaya, para insinyur akhirnya mendapatkan kembali kendali atas bidang kendali K8S, dapat menghapus layanan yang salah dan memulihkan cluster secara bertahap.
Selama periode ini, para insinyur juga memindahkan lalu lintas ke klaster sehat yang dipulihkan atau yang baru ditambahkan untuk mengurangi beban pada klaster lain. Namun, karena banyak layanan yang berupaya melakukan pemulihan pada saat yang sama, sehingga menyebabkan kejenuhan sumber daya, proses pemulihan memerlukan intervensi manual tambahan, dan pemulihan beberapa klaster memerlukan waktu yang lama. Melalui kejadian ini, OpenAI diharapkan dapat belajar dari pengalamannya dan menghindari “locked out” lagi ketika menghadapi situasi serupa di masa depan.
Detail laporan: https://status.openai.com/incidents/ctrsv3lwd797
Menyorot:
Penyebab kegagalan: Perubahan layanan telemetri kecil menyebabkan operasi API K8S kelebihan beban, sehingga mengakibatkan kelumpuhan layanan.
Dilema Insinyur: Kecelakaan pada bidang kendali membuat para insinyur tidak dapat dihubungi, sehingga tidak mungkin untuk menangani masalah tersebut.
⏳ Proses pemulihan: Dengan mengurangi ukuran cluster dan meningkatkan sumber daya, layanan akhirnya dipulihkan.
Meskipun insiden ini menyebabkan gangguan layanan, kejadian ini juga memberi OpenAI pengalaman berharga, mendorong mereka untuk meningkatkan arsitektur sistem dan rencana darurat, lebih meningkatkan stabilitas layanan, dan memberikan jaminan layanan yang lebih andal kepada pengguna. Saya yakin OpenAI akan belajar dari kejadian ini, terus meningkatkan teknologinya, dan menghadirkan pengalaman yang lebih baik bagi pengguna.