Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tavsiye
Bu içerik, .NET Docs veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Azure için Bulut Yerel .NET Uygulamaları Tasarlama adlı e-Kitap'tan bir alıntıdır.
Azure eKitap kapak küçük resmi için Buluta Özel .NET uygulamaları.
Fiziksel makineleri yönetmekten bulut özelliklerinden yararlanmaya kadar her alanda sunucusuz yaşam, uçta yer alır. Tek sorumluluğunuz kodunuzdur ve yalnızca kodunuz çalıştırıldığında ödeme alırsınız. Azure İşlevleri, buluta özel uygulamalarınızda sunucusuz özellikler oluşturmanın bir yolunu sağlar.
Sunucusuz nedir?
Sunucusuz, bulut bilişimin nispeten yeni bir hizmet modelidir. Bu, sunucuların isteğe bağlı olduğu anlamına gelmez; kodunuz hala bir sunucuda çalışır. Ayrım, uygulama ekibinin artık sunucu altyapısını yönetmekle ilgilenmemesidir. Bunun yerine bu sorumluluk bulut satıcısına aittir. Geliştirme ekibi, müşterilere tesisat değil iş çözümleri sunarak üretkenliğini artırır.
Sunucusuz bilgi işlem, hizmetlerinizi barındırmak için olayla tetiklenen durum bilgisi olmayan kapsayıcılar kullanır. Gerektiğinde talebi karşılamak için ölçeği genişletebilir ve daraltabilir. Azure İşlevleri gibi sunucusuz platformlar kuyruklar, olaylar ve depolama gibi diğer Azure hizmetleriyle sıkı tümleştirmeye sahiptir.
Sunucusuz mimari ile hangi zorluklar çözülür?
Sunucusuz platformlar, çok fazla zaman alan ve pahalı endişeleri giderir:
- Makine ve yazılım lisansları satın alma
- Makineleri ve ağ, güç ve A/C gereksinimlerini muhafaza etme, güvenli hale getirme, yapılandırma ve bakımını sağlama
- İşletim sistemleri ve yazılımlara güncelleme ve yükseltme yapmak
- Web sunucularını veya makine hizmetlerini uygulama yazılımını barındıracak şekilde yapılandırma
- Uygulama yazılımını kendi platformu içinde yapılandırma
Birçok şirket donanım altyapısı sorunlarını desteklemek için büyük bütçeler ayırıyor. Buluta geçmek bu maliyetleri azaltmaya yardımcı olabilir; uygulamaları sunucusuz olarak değiştirmek, bunların ortadan kaldırılmasına yardımcı olabilir.
Mikro hizmet ile sunucusuz işlev arasındaki fark nedir?
Genellikle mikro hizmet, çevrimiçi bir e-Ticaret sitesi için alışveriş sepeti gibi bir iş özelliğini kapsüller. Kullanıcının alışveriş deneyimini yönetmesini sağlayan birden çok işlemi kullanıma sunar. Ancak işlev, bir olaya yanıt olarak tek amaçlı bir işlem yürüten küçük, basit bir kod bloğudur. Mikro hizmetler genellikle genellikle bir arabirimden gelen isteklere yanıt vermek için oluşturulur. İstekler HTTP Rest veya gRPC tabanlı olabilir. Sunucusuz hizmetler olaylara yanıt verir. Olay odaklı mimarisi, kısa süre çalışan arka plan görevlerini işlemek için idealdir.
Sunucusuz için hangi senaryolar uygundur?
Sunucusuz mimari, bir tetikleyiciye yanıt olarak çağrılan kısa süreli çalışan tekil işlevleri açığa çıkarır. Bu, arka plan görevlerini işlemek için ideal olmalarını sağlar.
Bir uygulamanın iş akışında bir adım olarak e-posta göndermesi gerekebilir. Bildirimi bir mikro hizmet isteğinin parçası olarak göndermek yerine ileti ayrıntılarını kuyruğa yerleştirin. Bir Azure İşlevi, iletiyi kuyruktan çıkarabilir ve e-postayı zaman uyumsuz olarak gönderebilir. Bunun yapılması mikro hizmetin performansını ve ölçeklenebilirliğini artırabilir. E-posta göndermeyle ilgili performans sorunlarını önlemek için kuyruk tabanlı yük dengeleme uygulanabilir. Ayrıca, bu tek başına hizmet birçok farklı uygulamada yardımcı program olarak yeniden kullanılabilir.
Kuyruklardan ve konu başlıklarından zaman uyumsuz mesajlaşma, sunucusuz işlevleri tetikleyen yaygın bir desendir. Ancak Azure İşlevleri, Azure Blob Depolama'da yapılan değişiklikler gibi diğer olaylar tarafından tetiklenebilir. Görüntü yüklemelerini destekleyen bir hizmet, görüntü boyutunu iyileştirmekle sorumlu bir Azure İşlevi'ne sahip olabilir. İşlev doğrudan Azure Blob Depolama'ya eklemeler yoluyla tetiklenebilir ve karmaşıklık mikro hizmet işlemlerinin dışında tutulabilir.
Birçok hizmet, iş akışlarının bir parçası olarak uzun süre çalışan süreçlere sahiptir. Bu görevler genellikle kullanıcının uygulamayla etkileşiminin bir parçası olarak gerçekleştirilir. Bu görevler kullanıcıyı beklemeye zorlayarak deneyimini olumsuz etkileyebilir. Sunucusuz bilgi işlem, yavaş görevleri kullanıcı etkileşim döngüsünün dışına taşımak için harika bir yol sağlar. Bu görevler, uygulamanın tamamının ölçeklendirilmesine gerek kalmadan talebe göre ölçeklendirilebilir.
Sunucusuz kullanmaktan ne zaman kaçınmalısınız?
Sunucusuz çözümler isteğe bağlı olarak sağlanır ve ölçeklendirilir. Yeni bir örnek çağrıldığında, soğuk başlangıçlar sık karşılaşılan bir sorundur. Soğuk başlangıç, bu örneği hazırlamak için gereken süredir. Normalde, bu gecikme birkaç saniye olabilir, ancak çeşitli faktörlere bağlı olarak daha uzun olabilir. Sağlandıktan sonra, tek bir örnek düzenli istekler aldığı sürece canlı tutulur. Ancak bir hizmet daha az sıklıkta çağrılırsa Azure hizmeti bellekten kaldırabilir ve yeniden çağrıldığında soğuk bir başlangıç yapılmasını gerektirebilir. Bir işlev yeni bir örneğe ölçeklendirildiğinde de soğuk başlangıçlar yapılması gerekir.
Şekil 3-9'da soğuk başlangıç deseni gösterilmektedir. Uygulama soğuk olduğunda gereken ek adımları not edin.
Şekil 3-9. Soğuk başlangıç ve sıcak başlangıç.
Soğukların tamamen başlamasını önlemek için tüketim planından ayrılmış bir plana geçebilirsiniz. Premium plan yükseltmesiyle önceden hazırlanmış bir veya birden fazla örneği de yapılandırabilirsiniz. Bu durumlarda, başka bir örnek eklemeniz gerektiğinde, zaten çalışır durumdadır ve kullanıma hazırdır. Bu seçenekler sunucusuz bilgi işlemle ilişkili soğuk başlangıç sorununu azaltmaya yardımcı olabilir.
Bulut sağlayıcıları, işlem yürütme süresi ve tüketilen belleğe göre sunucusuz hizmetler için faturalandırma yapar. Uzun süre çalışan işlemler veya yüksek bellek tüketimi iş yükleri her zaman sunucusuz için en iyi adaylar değildir. Sunucusuz işlevler, hızlı bir şekilde tamamlayabilen küçük iş öbeklerini destekler. Sunucusuz platformların çoğu, tek tek işlevlerin birkaç dakika içinde tamamlanmasını gerektirir. Azure İşlevleri varsayılan olarak 5 dakikalık bir zaman aşımı süresine sahiptir ve bu süre 10 dakikaya kadar yapılandırılabilir. Azure İşlevleri premium planı bu sorunu da hafifletebilir ve zaman aşımlarını yapılandırılabilen sınırsız daha yüksek bir sınırla 30 dakika olarak varsayılan olarak ayarlayabilir. İşlem süresi takvim zamanı değildir. Azure Dayanıklı İşlevler çerçevesini kullanan daha gelişmiş işlevler yürütmeyi birkaç gün içinde duraklatabilir. Faturalama, işlev uyandığında ve işlemeye devam ettiğinde gerçek yürütme süresini temel alır.
Son olarak, uygulama görevleri için Azure İşlevleri'nin uygulanması karmaşıklığı artırır. İlk olarak uygulamanızı modüler, gevşek bir şekilde bağlanmış bir tasarımla tasarlamanız akıllıca olacaktır. Ardından sunucusuzların ek karmaşıklığı haklı çıkarabilecek avantajları olup olmadığını belirleyin.