Auto-scaling nedir? Cloud’da kurulum için net adımlar
Auto-scaling (otomatik ölçekleme) nedir, nerede işe yarar? Cloud’da kural seti, metrikler, örnek kurulum ve test adımları.
Auto-scaling, trafiğe göre sunucu kapasitesini otomatik artırıp azaltan mekanizmadır. Doğru kurulduğunda, ani yük artışlarında isteğiniz karşılanır; ani düşüşlerde ise gereksiz maliyet azaltılır. Bu rehberde auto-scaling mantığını net tanımlayacak, hangi metriklerin seçileceğini açıklayacak ve Cloud ortamında adım adım kurulum planı çıkaracağız. Son bölümde de kurulumun “gerçekten çalıştığını” doğrulamak için test senaryolarını vereceğim.
Auto-scaling nedir, neyi otomatikleştirir?
Auto-scaling (otomatik ölçekleme) kural tabanlı olarak hesaplama kaynaklarını (ör. VM sayısı ya da container replikası) dinamik şekilde yönetir.
Manuel ölçekleme ile fark
- Manuel ölçekleme: Trafik artınca insan ek kapasite ekler. Gecikme olur.
- Auto-scaling: Trafik ve performans metriklerine göre “ölçekleme kararı” otomatik verilir.
Tipik ölçekleme hedefleri
Auto-scaling kararları genellikle şu mantıkla alınır: - Yük artıyor -> yeni instanceler ekle - Yük düşüyor -> instanceleri azalt
Ama kritik nokta şu: Ölçekleme yalnızca “CPU kullanımı yüksek” gibi tek bir sinyale bağlanmamalıdır. En sağlıklı kurulum, uygulamanın davranışına uygun bir metrik seçer.
Hangi metriklerle ölçekleme yapılmalı? (Net seçim rehberi)
Cloud sağlayıcıların çoğu ölçekleme için benzer seçenekler sunar: CPU, bellek, istek sayısı, yanıt süresi, kuyruk (queue) uzunluğu, hata oranı gibi.
Web uygulamaları için önerilen metrik kombinasyonları
Aşağıdaki tablo, uygulama türüne göre pratik seçim önerisidir.
| Uygulama tipi | Öncelikli metrik | İkincil metrik | Neden |
|---|---|---|---|
| HTTP API / web | Request rate (istek/saniye) veya hedef throughput | 5xx hata oranı veya ortalama yanıt süresi | İstek yoğunluğunu doğrudan yansıtır, hata/latency ile doğrular |
| Stateful olmayan servis (stateless) | CPU veya memory (tek başına değil) | Ortalama yanıt süresi | CPU tek başına bazen yanıltır; yavaşlama başka sebepten olabilir |
| Kuyruk tabanlı işleyen sistem (worker) | Queue length (kuyruk uzunluğu) | Worker job latency | Kuyruk artışı doğrudan “iş birikmesi” sinyalidir |
| Cache bağımlı sistemler | Origin hit oranı / cache miss | Yanıt süresi | Cache kaçırınca origin yüklenir; miss oranı erken sinyaldir |
Zaman penceresi (cooldown) neden önemli?
Auto-scaling ayarlarında genelde şu parametreler olur: - Evaluation period / period: Metriğin kaç saniye boyunca hedefi aştığını doğrular - Cooldown: Ölçek kararından sonra bir süre daha artırma/azaltmayı kısıtlar
Net hedef: “Hızlı karar + doğru geri tepkime” dengesini kurmak.
Cloud’da auto-scaling kurulum mimarisi (hangi parçalar gerekir?)
Auto-scaling kurulumunun başarısı; ölçeklenen birimin stateless olması, trafiğin doğru şekilde dağıtılması ve sağlık kontrollerinin (health check) doğru tanımlanmasına bağlıdır.
1) Trafik yönlendirme katmanı (Load balancer)
Auto-scaling etkin olsun diye isteklerin ölçeklenen instancelere dağıtılması gerekir. - Kullanım: Load balancer -> hedef gruplar -> dinamik instancelar - Sağlık: Health check başarısızsa instance devre dışı alınır
2) Ölçeklenen birim (VM / container)
- VM tabanlı: ör. “instance group” Mantığı
- Container tabanlı: ör. “replica” mantığı
3) Paylaşılan durum (stateless tasarım)
Ölçek artınca yeni instanceler geldiği için uygulamanın oturum/state yönetimi planlı olmalı: - Oturum bilgisini instancelar üzerinde tutmak yerine dışarı taşı (ör. session store) - Dosya yüklemeleri gibi veriler için ortak depolama (object storage) kullan
4) Ölçekleme politikaları (scaling policy)
- Scale-out: hedef üstünde kaldıkça ekleme
- Scale-in: hedef altına düşünce azaltma
- Min/Max sınırları: maliyeti kontrol eder
Örnek kurulum planı: Ölç, tanımla, test et
Aşağıdaki akış, çoğu Cloud ortamında uygulanabilen net bir “kurulum checklist”idir. Sağlayıcı ismini değiştirmeden de mantık aynı kalır.
Adım 1: Ölçüm altyapısını netleştir
Önce şu soruların cevabını topla: - Hangi metrik “gerçek kullanıcı yükünü” temsil ediyor? - Uygulama yavaşlayınca hangi metrik önce değişiyor? - Ölçekleme yapılmazken yanıt süresi ve hata oranı nasıl gidiyor?
Önerilen yaklaşım: - Ölçümü aç - 24-48 saat baz değer topla - Pik ve dip senaryolarını etiketle
Adım 2: Min/Max kapasiteyi sayısal belirle
Auto-scaling rastgele çalışmamalı. - Min instance: Sürekli hazır kapasite (ör. 2) - Max instance: En kötü senaryoda maliyet tavanı (ör. 20)
Net kural: - Max’i belirlerken sadece compute maliyetini değil, load balancer ve ek veri trafiğini de dikkate al.
Adım 3: Scale-out koşulunu yaz
Örnek (web uygulaması): - Hedef: Ortalama yanıt süresi 200 ms’nin üstüne çıkınca ya da istek/saniye belirli eşiği aştığında ölçekle - Değerlendirme penceresi: ör. 2-5 dakika boyunca hedef aşılsın - Cooldown: ölçekleme sonrası 1-3 dakika bekle (değer uygulama hızına göre)
Adım 4: Scale-in koşulunu yaz
Örnek: - Hedef metrik hedefin altına 5-10 dakika düşerse azalt - Cooldown daha uzun tut -> “takıl-kalkıl” ölçeklenme (thrashing) azalır
Adım 5: Health check ve termination davranışını ayarla
Yeni instance hazır olana kadar trafik almamalı.
- Health check endpoint’i net olsun (ör. /healthz)
- Yanıt süresi eşiği belirle
- Drenaj (draining): instance kapatılırken mevcut isteklerin tamamlanmasına izin ver
Adım 6: Uygulama tarafında kapasiteye hazırlık yap
Auto-scaling açıldıktan sonra uygulama şu hataları üretmemeli: - Pool boyutu (DB bağlantı havuzu) instancelar artınca fırlıyor - Rate limit çarpan etkisiyle bazı müşterilerde 429 fırtınası oluşturuyor
Net çözüm: - DB bağlantı sayısını instance sayısına göre limitli tut - Cache TTL ve warming stratejisini düşün
Kurulumda en sık yapılan 7 hata (ve net düzeltmeleri)
1) Tek metrikle ölçeklemek: CPU yükselmemişken latency artabilir. - Düzeltme: Yanıt süresi veya istek/kuşak metrikleri ekle.
2) Cooldown yok ya da çok kısa: Instancelar sürekli artıp azalır. - Düzeltme: Thrashing’i önlemek için değerlendirme penceresi ve cooldown ekle.
3) Min kapasite 0 yapmak: Düşük trafik anında “ilk açılış gecikmesi” (cold start) yaşanır. - Düzeltme: Min’i 1-2 tut.
4) Stateful veriyi instancelar üzerinde tutmak: Ölçeklemede veri kaybı/oturum sorunu. - Düzeltme: Oturum ve dosya yönetimini dış katmanlara taşı.
5) Health check yanlış endpoint: İstekler instance hazır olmadan gelir. - Düzeltme: Uygulama ayağa kalktıktan sonra doğru sinyali veren endpoint kullan.
6) Max instance tavanı maliyeti kontrol etmiyor: - Düzeltme: Max’i bütçeye göre belirle, gerekirse kademeli politikalar yap.
7) Ölçekleme sonrası DB kapasitesi uyumsuz: - Düzeltme: DB bağlantı havuzu, index ve sorgu performansını gözden geçir.
Auto-scaling’in doğru çalıştığını nasıl test edersin?
Kurulumdan sonra “ölçekleme tetikleniyor mu?” sorusunu ölçmeden bırakma.
Test senaryosu 1: Trafik ramp-up (kademeli artış)
- 0’dan başlayıp 5-10 dakikada yükü kademeli artır
- Beklenen: Yanıt süresi hedefin dışına çıkınca instancelar artmalı
- Kontrol: Hata oranı (5xx) yükseliyor mu?
Test senaryosu 2: Ani spike (sert pik)
- 1-2 dakika yüksek RPS üret
- Beklenen: Scale-out tetiklenir ve kapasite yetişir
- Kontrol: Load balancer queue / latency artışı
Test senaryosu 3: Ramp-down (kademeli düşüş)
- Trafik düşerken instancelar yavaş yavaş azalmalı
- Kontrol: Thrashing var mı? (Aynı dakikalarda artıp azalma)
Test senaryosu 4: Instance termination testi
- Bir instance’ı “drain/terminate” simüle et
- Beklenen: Sağlık düşüşüyle trafik başka instancelara yönlenir
Sonuç: Bugün uygulanabilir aksiyon planı
Auto-scaling’i doğru kurmanın yolu; metrik seçimini uygulama davranışına bağlamak, min/max ve cooldown değerlerini sayısal belirlemek ve health check/drain süreçlerini netleştirmektir. İlk kurulum için şu aksiyonları sırayla yap: (1) 24-48 saat metrik baz değeri topla, (2) ölçekleme kararını latency veya request/queue ile kur, (3) min/max ve cooldown’u bütçeye göre sabitle, (4) /healthz benzeri doğru health endpoint ile trafiği güvenli yönlendir, (5) ramp-up ve termination testleriyle çalıştığını doğrula. Bu adımları tamamladığında otomatik ölçekleme “gerçek yükte” anlam kazanır.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
VDS/VPS Performans Düşüşünde Net Sorun Giderme Rehberi
VDS/VPS performansı düştüğünde adım adım tanılama ve çözüm: CPU/RAM disk, ağ, kernel, loglar ve ölçümle kalıcı iyileştirme.
SSH key ile şifre girişini devre dışı bırakma rehberi
SSH key tabanlı giriş kurup parola (password) doğrulamayı kapatın. Güvenli yapılandırma, hatasız test adımları ve geri dönüş planı.
Hreflang Tag’leri Çoklu Lokasyon Hosting’de Nasıl Kurulur?
Çoklu lokasyon hosting kullanan sitelerde hreflang etiketleri nasıl doğru yönetilir? CDN, önbellek ve yönlendirme kurallarıyla hatasız kurulum adımları.
Bot Trading için VDS’de düşük gecikme nasıl sağlanır?
Bot trading’de düşük gecikme için VDS konum, ağ, kernel, zaman senkronu, DNS, bağlantı ayarları ve ölçüm adımlarını net biçimde görün.
