Azure İşlevleri nedir?
- 3 dakika
Azure İşlevleri, Azure için olay odaklı ve ölçeklenebilir sunucusuz işlem sağlayan bulut tabanlı bir işlem hizmetidir. Bazı durumlarda yalnızca işlev kodunuzun çalıştığı süre için faturalandırılırsınız.
Azure İşlevleri kullanarak kodunuzu çalıştırmanız gerektiğinde çalıştırabilirsiniz. Örneğin, kodunuz bir olayın veya değişikliğin sonucu olarak çalıştırılabilir; örneğin, bir ileti kuyruğa ulaştığında veya depolanan bir nesne güncelleştirildiğinde. Ayrıca kuralları kullanarak cron kodunuzun çalışması için zamanlanmış bir aralık tanımlayabilirsiniz.
Kodun ne zaman çalıştırılacaklarına karar vermek için tetikleyicileri kullanma
Azure İşlevleri, kodunuzun yürütülmesini başlatan tetikleyicileri tanımlamanıza olanak tanır. Tetikleyiciler, işlevlerinize veri geçirmek için girişleri de işleyebilir. Her işlevin yalnızca bir tetikleyicisi olabilir. Azure işlevleri tarafından desteklenen tetikleyici türlerinden bazıları şunlardır:
- Depolama: Azure Cosmos DB gibi veritabanlarından olayları dinleyebilirsiniz. Örneğin, yeni bir satır eklendiğinde.
- Olaylar: Event Grid ve Event Hubs, kodunuzu tetikleyebilecek olaylar oluşturur.
- HTTP kodu: Web istekleri ve web kancaları HTTP kodunu tetikleyebilir.
- Kuyruklar: Kuyruk iletileri de işlenebilir.
- Süreölçer: Belirtilen zaman aralığına göre kodu çağır.
Veri kaynaklarına bağlanmak için bağlamaları kullanma
Bağlamalar, giriş ve çıkış verileri için kodlamayı basitleştirmenin yollarıdır. İşlev kodunuzdan hizmetlere bağlanmak için bir istemci SDK'sı kullanabilirsiniz ancak Azure İşlevleri bu bağlantıları basitleştirmek için bağlamalar sağlar. Temel olarak bağlamalar, yazmanız gerekmeyen bağlantı kodlarıdır. Azure'daki birçok hizmetle tümleştirebilir, tümleştirme sorunlarını çözebilir ve iş süreçlerini otomatikleştirebilirsiniz.
Bağlamalar, giriş ve çıkış olarak iki şekilde gelir. Çıkış bağlaması, veri hedefine veri yazmanın bir yolunu sağlar; örneğin, bir kuyruğa veya veritabanında yeni bir satıra ileti yerleştirme. Giriş bağlaması, işlevi tetikleyenden farklı bir veri kaynağından işlevinize veri geçirmek için kullanılabilir.
Özellikler
Azure İşlevleri cazip bir seçim yapan bazı özellikler vardır:
Esnek barındırma planları. İş gereksinimlerinize uygun üç farklı barındırma planı vardır.
- Tüketim planı. İşlevler için tam sunucusuz barındırma seçeneği. İşlevler otomatik olarak ölçeklendirilir ve işlem kaynakları için yalnızca işlevleriniz çalışırken ödeme alırsınız. Bu plan, daha az tahmin edilebilir yüklerle daha aralıklı olma eğiliminde olan kısa süreç iş yükleri için uygun maliyetli işlem sağlar.
- Premium plan. Bu planda, işlevleriniz başlatılır, yani boşta kaldıktan sonra gecikme olmaz. Premium plan, işlev uygulamanızın daha uzun süreler boyunca ne zaman çalıştırılması gerektiğini seçmek için iyi bir plandır, ancak yine de dinamik ölçeklendirmeye ihtiyacınız vardır. Bu plan, Tüketim planına kıyasla daha fazla kaynakla ölçeklendirmeye başlamanızı da sağlar. Tüketim planında yürütme süresiyle ilgili sınırlar da vardır ve bu plan bu planın yerini alabilir. Dinamik ölçeğin maliyet avantajlarından yararlanmaya devam ederken daha fazla ödeme yapabilirsiniz.
- Özel plan. İşlevlerinizi normal bir App Service planıyla çalıştırırsınız. İşlevlerinizin sürekli çalışması gereken senaryolar için en iyisidir. Bir diğer avantajı da uygulamanın ölçeklendirilmesini tamamen denetlemeniz ve maliyetleri daha kolay tahmin etmenizdir. Ayrılmış plan, mevcut ancak az kullanılan bir App Service planınız olduğunda da iyi bir seçimdir.
Dinamik ölçeklendirme. Çoğu planda işlevler yüke göre dinamik olarak ölçeklendirilir. Yürütme talebi arttığında hizmete otomatik olarak daha fazla kaynak ayrılır ve istekler düştüğünde kaynaklar ve uygulama örnekleri otomatik olarak açılır. Tüketim planında boştaki işlevler için hiç ödeme yapamazsınız.
Olay tabanlı mimari. İşlevler küçük ve odaklanmış olmalıdır. Gelen verileri işler ve sırayla yapılır veya yeni bir olay oluşturur. Azure işlevlerinin bazı yaygın kullanım alanları e-posta göndermek, yedekleme başlatmak, sipariş işleme, veritabanı temizleme, bildirimler, iletiler ve IoT veri işleme gibi görev zamanlamalarıdır.