Geçenlerde yine AWS’nin bulut hizmetlerinde ciddi bir kesinti yaşandı. Tabi, bu tarz olaylar internet dünyasında sıkça karşılaşılan şeyler haline geldi. Bir nevi, teknoloji sektörünün doğal akışı gibi. Ama işin içine girdiğinizde, özellikle de benim gibi kod yazan biriyseniz, bu tarz olaylar sizi farklı bir noktaya götürüyor. Bir gece, çalıştığım projede yine AWS’nin servisleri kapandı. Elimde pek bir şey yoktu, ne yapabilirim diye düşündüm. Sonra aklıma gelen ilk şey, yedek planlar ve alternatif çözümler oldu 🙂
Gerçi, bu tarz olaylar hep olur mu? Sanırım, bulut hizmetleri ne kadar sağlam olursa olsun, her zaman %100 garantili değil. Bir nevi, internet altyapısında olduğu gibi, bazen kablolar kopar, bazen trafikte sıkışıklık olur. Neyse efendim, bu olaylar bana yine gösterdi ki, hazır olmak ve alternatifleri bilmek lazım. Mesela, kendi küçük server’larımı ve yedek çözümlerimi hep hazır tutarım. Bu tarz kesintilerde, ilk aklıma gelen şey, hemen farklı bir DNS veya başka bir servise yönlendirme oluyor. Ayrıca, servisleri otomatik yeniden başlatma ve kurtarma scriptleri geliştirmeye çalışıyorum. İşte böyle, çünkü neticede, bu olaylar bizi daha dayanıklı hale getiriyor 🙂
Bilmiyorum ama bana öyle geldi, kodlama sırasında da benzer şeyler oluyor. Bir keresinde, API çağrısı yaparken hatalar alıyordum, çünkü AWS’deki API limitleri aşılmıştı. Kendi hatam 🙂 Ama önemli olan, o hatanın kaynağını bulup, çözüme ulaşmak. Bu yüzden, bu tarz olaylarda, logları ve API durumlarını yakından takip etmek lazım. Aynen, bu gibi durumlarda, AWS CloudWatch gibi araçlar hayat kurtarır. Sanırım, bu olaylar bana yine şunu gösterdi; her zaman, her durumda hazırlıklı olmak lazım. Gerçi, bu tip kesintilerin önüne geçmek için, ekstra katmanlar ve cache çözümleri ekliyorum. Tabi, bu biraz maliyetli oluyor ama, neticede, işleri düzgün yürütmek önemli 🙂
Şimdi, bu olaydan sonra birkaç pratik ipucu vermek gerekirse; ilk olarak, yedek DNS ve alternatif IP’ler tut. İkinci olarak, otomatik kurtarma ve restart scriptleri yaz. Üçüncü olarak, servislerin loglarını ve API limitlerini yakından takip et. Bunlar, benim deneyimlerim ve bana göre en faydalı yöntemler. Ama sonuçta, bu tarz olaylar olursa, yapacak bir şey yok, önemli olan, duruma hızlı adapte olmak ve alternatif çözümler üretmek. Yoksa, bazen hiçbir şey işe yaramıyor 🙂
İşte böyle, özellikle bu tarz büyük bulut kesintilerinde, hazırlıklı olmak ve hızlı hareket etmek hayat kurtarır. Bana göre, bu olaylar bize, teknolojinin kırılgan yanlarını da gösteriyor. Sonuç olarak, bizler de, sürekli yeni çözümler ve stratejiler geliştirmeliyiz. Neyse efendim, yine uzun oldu, bu tarz teknik olaylar böyle geçiyor 🙂