İçeriğe geç
parazade

Otomatik Ölçeklendirme Nedir?

İngilizce: Auto Scaling

Yayın: · Son güncelleme:

Otomatik Ölçeklendirme Nedir? Kısaca

Otomatik ölçeklendirme (auto scaling), bir uygulamanın kullandığı sunucu, konteyner ya da işlem kapasitesinin anlık talebe göre önceden tanımlı kurallarla kendiliğinden artırılması ve azaltılmasıdır.

Otomatik Ölçeklendirme nedir?
İçindekiler
  1. Otomatik ölçeklendirme nedir?
  2. Nasıl çalışır?
  3. Zamanlanmış ölçeklendirme
  4. Nelere dikkat etmeli?

Otomatik ölçeklendirme nedir?

Otomatik ölçeklendirme, kapasiteyi insan müdahalesi olmadan trafiğe uydurmaktır. Yük arttığında yeni sunucu ya da konteyner eklenir, yük azaldığında fazlası kapatılır. Böylece hem yoğun saatlerde site çökmez hem de sakin saatlerde boşta duran kaynağa para ödenmez.

AWS Auto Scaling, Azure Virtual Machine Scale Sets, Google Cloud'daki yönetilen örnek grupları ve Kubernetes'in Horizontal Pod Autoscaler özelliği bu işi yapan yaygın araçlardır.

Nasıl çalışır?

Sistem belirli ölçümleri sürekli izler: işlemci kullanımı, bellek, istek sayısı ya da kuyruktaki iş adedi gibi. Bu ölçümler için eşikler ve sınırlar tanımlanır. Eşik aşıldığında yeni kopyalar açılır, belirli bir süre düşük kalırsa kapatılır.

Varsayımsal bir kural şöyle olabilir: "Ortalama işlemci kullanımı 5 dakika boyunca yüzde 70'i geçerse bir sunucu ekle. Yüzde 30'un altına inerse bir sunucu kaldır. En az 2, en fazla 10 sunucu çalışsın." Bir e-ticaret sitesi bu kuralla gece 2 sunucuyla çalışırken kampanya saatinde 10 sunucuya çıkabilir.

Zamanlanmış ölçeklendirme

Trafiğin ne zaman artacağı biliniyorsa kapasite önceden artırılabilir. Her hafta pazartesi saat 09.00'da yoğunlaşan bir bordro uygulaması, yük gelmeden önce sunucu sayısını artırarak ilk dakikalardaki gecikmeyi önler.

Nelere dikkat etmeli?

Yeni bir sunucunun açılıp hizmete girmesi birkaç dakika sürebilir. Çok ani trafik artışlarında bu gecikme kullanıcıya yansıyabileceği için minimum kapasiteyi çok düşük tutmamak gerekir.

Uygulamanın yatay ölçekleme için uygun olması da şarttır. Oturum bilgisini sunucunun belleğinde tutan bir uygulamada, yeni açılan sunucu kullanıcıyı tanımaz. En fazla kopya sınırını mutlaka belirleyin; hatalı bir kural ya da kötü niyetli trafik, sınırsız ölçeklenen bir sistemde faturayı hızla büyütebilir.

Sıkça Sorulan Sorular

Otomatik ölçeklendirme ne demek, her uygulamada kullanılabilir mi?

Kapasitenin talebe göre kendiliğinden ayarlanması demektir. Uygulamanın birden fazla kopya hâlinde sorunsuz çalışabilecek şekilde tasarlanmış olması gerekir; aksi hâlde yeni kopyalar beklenen faydayı sağlamaz.

Otomatik ölçeklendirme maliyeti düşürür mü?

Trafiği gün içinde dalgalanan uygulamalarda genellikle düşürür, çünkü sakin saatlerde gereksiz kaynak kapatılır. Ancak üst sınır belirlenmezse beklenmedik yükte maliyet artabilir.

İlgili terimler

Yatay Ölçekleme(Horizontal Scaling)Yatay ölçekleme (horizontal scaling, scale out), bir sistemin kapasitesini mevcut sunucuyu güçlendirmek yerine aynı işi yapan yeni sunucular ya da kopyalar ekleyerek artırma yöntemidir.Dikey Ölçekleme(Vertical Scaling)Dikey ölçekleme (scale up), artan yükü karşılamak için mevcut sunucuya daha fazla işlemci, bellek ya da disk eklemektir. Makine sayısı değişmez, var olan makine güçlendirilir.KubernetesKubernetes (kısaca K8s), çok sayıda konteynerin sunucular üzerinde dağıtılmasını, ölçeklendirilmesini, güncellenmesini ve arıza durumunda yeniden başlatılmasını otomatik olarak yöneten açık kaynak orkestrasyon platformudur.Yük Dengeleme(Load Balancing)Yük dengeleme (load balancing), gelen trafiği birden fazla sunucu arasında dağıtarak hiçbir sunucunun aşırı yüklenmemesini ve hizmetin kesintisiz sürmesini sağlayan yöntemdir.Sunucu(Server)Sunucu (server), ağ üzerinden başka bilgisayarlara ve cihazlara veri, dosya, web sayfası ya da uygulama hizmeti sağlayan bilgisayar veya yazılımdır. İstek gönderen tarafa istemci denir.Google Cloud(Google Cloud Platform)Google Cloud (Google Cloud Platform, GCP), Google'ın sanal sunucu, depolama, veri analizi, yapay zekâ ve konteyner hizmetlerini internet üzerinden kullanım bazlı ücretle sunduğu bulut bilişim platformudur.İşlemci(CPU)İşlemci (CPU, merkezi işlem birimi), bilgisayarda programların komutlarını çalıştıran, hesaplama ve mantık işlemlerini yapan ana bileşendir. Performansı çekirdek sayısı, saat hızı ve mimarisiyle belirlenir.