Spot Instance Black Friday Felaketi
“Spot instance'lar %90'a kadar tasarruf sağlar!” — bu pazarlama tavanı; bizim gerçekten gördüğümüz %60–70. Yine de ciddi para. Ta ki 50'si birden bir trafik zirvesinde geri alınana kadar.
Black Friday zaman çizelgesi:
- 06:00 - Trafik tırmanmaya başlıyor
- 08:00 - Autoscaling spot instance'lar ekliyor
- 10:00 - Tüm sistemler normal
- 11:30 - AWS 50 spot instance'ı aynı anda geri alıyor
- 11:31 - Autoscaling on-demand açmaya çalışıyor (spot fiyatımızın yaklaşık 3 katına)
- 11:32 - AZ'mizde yetersiz kapasite
- 11:33 - 15 dakikalık kısmi kesinti
Sorun:
Maliyet tasarrufu için %100 spot'taydık. On-demand instance'lardan oluşan bir taban yok, tek bir AZ'de tek bir instance tipi ve kesinti uyarılarını dinleyen hiçbir şey yok. AWS kapasiteyi geri istediğinde elimizde fallback yoktu.
Düzelttiklerimiz:
- Taban: garantili kapasite için %30 on-demand
- Instance tipleri ve AZ'ler arasında çeşitlendirilmiş Spot Fleet; filonun en derin kapasite havuzlarından çekmesi için price-capacity-optimized tahsis stratejisi
- 2 dakikalık kesinti bildirimini ve EC2 rebalance önerilerini işlemek: bağlantıları drain etmek, load balancer'dan kaydı silmek ve yedekleri proaktif olarak başlatmak
- Kapasite kısıtlıyken kontrollü bozulma (graceful degradation)
Belirli bir iş yükü profili için on-demand/spot/Savings Plans karışımını doğru kurmak, bulut maliyet optimizasyonu çalışmalarının gündelik işidir — indirim ancak kesintileri atlatabiliyorsanız gerçektir.
Ders: Batch işler için spot? Mükemmel. Fallback olmadan üretim trafiğini spot'tan servis etmek? Kumar oynuyorsunuz.
Bu tür olaylar önlenebilir. AWS Yönetilen Hizmetler ekibimiz müşteri ortamlarını yapay zekâ destekli izleme ve nöbetteki kıdemli mühendislerle 7/24 gözetir — böylece bu tür hikâyeler arşivde kalır.