Azure Functions Serisi #2 – Azure Functions Hosting Plan Türleri

Merhaba,

Bu içeriğimizde Azure Functions Yazı Serisinin ikinci konusu olan Azure Functions Hosting Plan Türleri üzerine konuşuyor olacağız.

Hosting Planı Nedir?

Azure’da bir Function oluşturulduğunda, bu function’ın nasıl ölçeklendirileceğini ve ne şekilde davranış sergileyeceğini belirleyebilmek için bir hosting planının seçilmesi gerekmektedir. Uygulama hosting planı, özel altyapılardan yararlanmanıza da olanak sağlayan ve her türlü function örneği için kullanılabilir kaynaklar sunan tasarımlardır.

Hosting planları;

  • Consumption plan
  • Premium plan
  • Dedicated (App Service) plan

olmak üzere üç adettirler.

Consumption plan

Function dediğimiz yapılar esasında bir koddur. Dolayısıyla bu kodun çalıştırılabilmesi için öncelikle bir Function Host’a ihtiyacımız vardır. Bizler her bir function host’a instance demekteyiz. Bir function tanımlandığında o function ile birlikte bir instance olup olmaması bizler açısından performans değerlendirmesinde önem arz etmektedir. Consumption plan’da bir tetikleme olmadığı yani function çalıştırılmadığı sürece ayakta olan/default bir instance bulunmamaktadır. Ne zaman bir tetikleme meydana gelir o zaman instance ayağa kaldırılacaktır. Bu durumda ilk istek açısından ekstra bir gecikme sağlayacaktır. Tabi ki de bu gecikme sonraki isteklerde ilk oluşturulan instance kullanılacağından dolayı bir daha olmayacaktır.

Consumption plan, otomatik olarak ölçeklendirilir ve sadece ilgili function tetiklenirken ücretlendirilir. Haliyle kullandıkça öde prensibine bağlıdır. Faturalandırma; istek sayısı, işlev süresi, kullanılan belleğin miktarı vs. gibi faktörleri temel alır.

Functionların çalıştırıldığı hostlara Function Host, her bir function host’a ise Instance denmektedir..

Consumption plan ile oluşturulan functionlar 10 dk’da işlevini bitirmesi öngörülen fonksiyonlardır. Eğer ki bir function 10 dk’dan fazla(ki 10’dk bile bir fonksiyonun çalışması için haddinden fazla bir süreyken) çalışacaksa eğer Premium plan tercih edilmelidir.

Azure Functions’da varsayılan(default) plan Consumption plan’dır.

Premium plan

Consumption plan’a nazaran mutlaka bir adet default instance her daim ayaktadır. Böylece gelen istek ister ilk ister n. olsun bir instance ayağa kaldırmak için ekstradan bir maliyet söz konusu olmayacaktır. Bu default instance sayısı istenildiği kadar çoğaltılabildiği gibi bir instance içerisinde çalışacak olan maximum function süreside manuel olarak belirlenebilmektedir.

Premium plan, bir function’a 60 dk’ya kadar garanti olacak şekilde sınırsız işlev süresi vermektedir. Çok işlevli ve ağır operasyonlar için daha uygundur. Yapılacak işlevin ağırlığına göre daha öngörülebilir bir fiyatlandırma yapmaktadır. Faturalandırma; işlev süresi, default instance adedi, kullanılan çekirdek sayısı ve kullanılan belleğin miktarı ile hesaplanır. Haliyle default instancelardan dolayı premium hesapta aylık minimum bir maliyetin olması kaçınılmazdır. Ekstradan ücrete tabii olduğu aşikardır. Kullandıkça öde prensibini benimsemiştir.

Premium plan, default instance sayesinde istek gelmeksizin function’ı sürekli aktif çalışır bir şekilde ayakta tutacaktır. Consumption plan’a nazaran daha fazla CPU ve bellek seçenekleri mevcuttur ve yine Consumption plan’a nazaran 10 dk’dan daha uzun operasyonel işlevler için tercih edilmelidir.

Bir Azure Storage’a birden fazla Azure Function tanımlayabilirsiniz. Birden fazla tanımlama Azure açısından herhangi bir olumsuz etki yaratmamakta ve hatta ölçeklenebilirliği ve güvenirliliği zerre kadar etkilememektedir.

Dedicated (App Service) plan

Azure’da alınan bir alandaki kaynakların tüketilmesinden dolayı ücretlendirme yapan plandır. Otomatik scale edilmemektedir.

İlgilenenlerin faylanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. 04 Ağustos 2020

    […] Azure Functions Serisi #2 – Azure Functions Hosting Plan Türleri […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*