Soğuk Başlangıç (Cold Start) Nedir?
İngilizce: Cold Start
Soğuk başlangıç, serverless veya ölçeklenen ortamlarda yeni çalışma biriminin ilk isteğe hazırlanırken ek gecikme üretmesidir.
Soğuk Başlangıç (Cold Start) Nedir?
Soğuk başlangıç, bir fonksiyonun, container’ın veya çalışma ortamının henüz hazır olmadığı anda gelen ilk isteğin başlatma maliyetidir. Kodun yüklenmesi, runtime’ın açılması, bağımlılıkların hazırlanması ve bazen veritabanı bağlantılarının kurulması bu gecikmeye eklenir.
Bu durum en çok serverless mimarilerde görülür. Bir Lambda fonksiyonu uzun süre çağrılmadığında platform çalışma birimini kapatabilir; yeni istek geldiğinde ortam yeniden oluşturulur. Benzer gecikme otomatik ölçeklenen container sistemlerinde yeni instance açılırken de yaşanabilir.
Nedenleri ve Azaltma Yolları
Soğuk başlangıcı artıran etkenler büyük paket boyutu, ağır framework yükleme süreci, gereksiz global başlatma kodu, yavaş ağ bağlantıları ve ilk istekte yapılan gizli bilgi veya konfigürasyon okumalarıdır. Node.js, Python, Java veya .NET gibi runtime’lar arasında başlangıç davranışı da farklıdır.
Azaltma için küçük bundle, tembel yükleme, bağlantı havuzunu kontrollü başlatma, kritik fonksiyonlarda provisioned concurrency, daha hafif runtime seçimi ve edge çalışma ortamları kullanılabilir. Her fonksiyonu sürekli sıcak tutmak maliyetli olabileceği için karar, gerçek trafik deseni ve kullanıcıya görünen gecikme üzerinden verilmelidir. Serverless function tasarımında p95/p99 gecikme metrikleri ortalamadan daha açıklayıcıdır.
İlgili Terimler
Lambda fonksiyon, sunucu yönetimi olmadan tetiklendiğinde çalışan; ölçeklendirme ve faturalandırmanın otomatik yapıldığı sunucusuz kod birimidir.
Serverless FonksiyonServerless fonksiyon, HTTP isteği, kuyruk, cron veya dosya yükleme gibi bir olay tetiklendiğinde kısa süreli çalışan bulut kodu birimidir.
ServerlessServerless, sunucu kurma ve kapasite planlama yükünü bulut sağlayıcıya devredip kodu olaylara göre çalıştıran bulut mimarisi modelidir.