Post by Can Deger

Principal Security Advisor | Cyber - Cloud - AI Security Architect | Keynote Speaker

O meşhur 14 saatlik AWS kesintisinin raporu nihayet çıktı. Tam bir "dağıtık sistemlerde nasıl patlanır" dersi olmuş. [ https://lnkd.in/djzZyUA5 ] Olayın fitili meğer DynamoDB'deki küçücük bir DNS senkronizasyon gecikmesiymiş. Hiç bilmeyenler için basitçe anlatayım: İki kişinin aynı anda bir GPS adresini güncellemeye çalıştığını düşünün. Biri "yeni konum A" diyor, diğeri (biraz yavaş kaldığı için) "yeni konum B" diyor. Sistem "Ne oluyor yahu?" deyip adresi komple siliyor. İşte AWS'te olan da tam bu. İki sistem "race condition"a girmiş ve koskoca DNS kaydının IP adresini sıfırlamışlar. E, IP olmayınca kimse DynamoDB'ye gidemiyor. Tabii bela burada durmuyor. Domino taşları devrilmeye başlıyor: Önce bu DNS hatası EC2'yi kilitliyor. AWS ekibi koşturup ana DNS sorununu çözüyor, tam "oh be" derken... ..."İyileşme Fırtınası" (Thundering Herd) patlıyor. O ana kadar bekleyen binlerce istek, kapılar açılınca aynı anda "BENİ İŞLE!" diye saldırıyor. Bu ani yük EC2'nin network'ünü boğuyor. Sonra da NLB'ler (Load Balancer) çıldırıyor, "instance sağlam / yok değil" diye flip-flop yapıp sistemi iyice yoruyor. Rapor yayınlanır yayınlanmaz "Ah bizim ürünümüz olsaydı bunu anında görürdünüz" veya "İşte hep dedik multi-cloud yapın diye" diyenler de hemen damladı. Sanki bu seviyede temel bir "race condition"ı ve ardından gelen devasa "thundering herd" etkisini sihirli bir dashboard veya ikinci bir cloud provider çözecekmiş gibi. Olayın karmaşıklığını anlamadan ürün satmaya çalışmak da ayrı bir yetenek tabii. Neyse, demem o ki; dağıtık sistemlerde kelebek etkisi diye bir şey var ve bu da çok can yakan bir örnek olmuş. #AWS #Outage #Cloud

Post content