AKIBAT SALAH “CODING”, LAYANAN CLOUD AWS PADAM LEBIH DARI EMPAT JAM
Siapa sangka, gangguan layanan cloud computing dari Amazon Web Services (AWS) yang melumpuhkan sejumlah situs dan aplikasi global seperti Quora, Slack, dan IFTTT pada hari Selasa (28/2) lalu ternyata disebabkan oleh kelalaian kecil: salah coding atau memasukkan kode pemrograman.
Hal itu terungkap dalam penjelasan resmi yang dirilis Amazon pada hari Kamis (2/3).
Amazon menjelaskan bahwa insiden itu bermula dari kesalahan seorang engineer dalam tim AWS yang sedang memperbaiki aplikasi sistem penagihan. Untuk itu, ia perlu menonaktifkan beberapa server di data center US-EAST-1 yang berlokasi di Virginia Utara, AS. Sayangnya, terdapat kekeliruan dalam salah satu perintah yang diketikkan. Akibatnya, perintah itu malah menonaktifkan server-server dalam jumlah besar.
Sungguh malang, server yang tidak sengaja nonaktif itu merupakan server yang mendukung dua buah subsistem utama pada layanan Amazon S3 (Simple Storage Service, layanan cloud storage dari AWS). Walhasil, kedua subsistem penting itu pun padam.
Salah satu subsistem itu bertugas mengelola metadata dan informasi lokasi penyimpanan objek-objek yang ditaruh di S3. Ketika subsistem itu padam, perintah-perintah standar seperti pengambilan data dan penyimpanan data pun tidak bisa dilakukan.
Selama layanan S3 padam, layanan-layanan AWS lainnya di data center US-EAST-1 yang bergantung pada S3 untuk penyimpanan data pun ikut terdampak. Pelanggan pun tidak bisa mengakses layanan Amazo Elastic Compute Cloud (EC2), Amazon Elastic Block Store (EBS), dan AWS Lambda.
Bahkan, AWS pun tidak dapat mengganti warna status pada health dashboard mereka yang berfungsi untuk menunjukkan status layanan normal (warna hijau) atau bermasalah (merah). Pasalnya, health dashboard itu juga mengandalkan Amazon S3 untuk menyimpan data.
Sebetulnya, AWS telah mengantisipasi insiden-insiden semacam itu dan siap menjalankan operasi secara normal meskipun subsistem-subsistem utama itu kehilangan dukungan server dalam jumlah besar. Untuk itu, mereka cukup me-restart subsistem yang padam dengan pasokan daya dari server lain.
“Kami membangun sistem dengan asumsi bahwa kegagalan bisa terjadi kapan saja dan kami memiliki kemampuan untuk mencopot dan mengganti kapasitas [server] sebagai salah satu proses operasional inti kami,” tulis AWS.
“Tetapi, S3 telah mengalami pertumbuhan luar biasa dalam beberapa tahun terakhir dan proses me-restart layanan-layanan itu dan pengecekan integritas metadata [ternyata] memerlukan waktu yang lebih lama daripada perkiraan,” sambungnya.
Total durasi yang dibutuhkan AWS mulai insiden salah coding terjadi, deteksi masalah, proses restart, sampai pemulihan rampung memakan waktu lebih dari empat jam.
“Kami ingin meminta maaf atas dampak kejadian ini kepada para pelanggan kami. Kami akan melakukan apa pun untuk belajar dari kejadian ini dan meningkatkan ketersediaan kami di masa depan,” pungkas AWS.
Perbaikan Kebijakan
Sebagai bagian dari pembelajaran dan upaya perbaikan, AWS pun mengubah beberapa kebijakan layanan.
Yang paling penting, Amazon akan meningkatkan kecepatan proses restart dan pemulihan sistem S3 jika ada masalah lagi. Di masa depan, engineer juga tidak akan bisa menonaktifkan server S3 dalam jumlah yang berisiko membahayakan dukungan pada subsistem.
Terakhir, Amazon akan memodifikasi konsol health dashboard AWS agar tetap bisa diperbarui sesegera mungkin walaupun terdapat masalah pada layanan cloud mereka.