Azure Fonksiyonlarını Serverless Event-güdümlü Mimariler için Kullanın

Giriş: The Serverless Shift

Modern bulut uygulamaları çevikliği, ölçeklenebilirliği ve maliyet verimliliği talep eder - geleneksel, her zaman sunucu mimarisinin genellikle buluşmak için mücadele ettiğini varsayar. Serverless Computing, Azure işlevlerine odaklanmak için geliştiricilerin yalnızca işletme mantığına odaklanmasına izin verir. Azure işlevlerine odaklanabilmeniz için bu hizmeti sağlam bir şekilde kullanabilirsiniz.

Azure Fonksiyonlar Nedir?

Azure Fonksiyonlları, küçük kod parçalarını uygulamanızı sağlayan sunucusuz bir işlem servisidir - işlevleri - gelen tetikleyicilere ve ölçeklere yanıt vermek için otomatik olarak platformdaki spam veya altyapı hizmetinize (PaaS) veya altyapıya hizmet (IaaS) modelleri, sunucusuz hesaplamalar için ihtiyacınızı ortadan kaldırır. Azure Functions otomatik olarak gelen tetikleyicilere ve ölçeklere dayanarak otomatik olarak sıfıra doğrulanır.

Her işlev tasarım tarafından devletsizdir, ancak dış depolama veya veritabanı kullanarak devam edebilirsiniz. runtime C#, JavaScript, Python, Java, PowerShell ve TypeScript. Functions, gruplama ve ilgili işlevleri yönetmek için bir konteyner olarak barındırmaktadır, konfigürasyon ve bir birim olarak ölçeklendirmeyi destekler.

Tefsirler, Bindingler ve Runtime

Azure Fonksiyonlarının arkasındaki temel konsept tetiktir - Blob Storage'da oluşturulan veya güncellenme olayı, Azure işlevleri, giriş ve çıkış bağlayıcılarını destekler, bu da Azure Queue Storage veya Service Bus'tan gelen mesajlar, diskobs'tan otomatik olarak verileri okuyabilirsiniz ve Event Grid'den gelen olaylar.In addition to triggers, bu tür bir yaklaşıma ve çıktıya bağlı olarak, bu tür bir yaklaşıma ve geliştirmeleri sağlar.For example, a function trigger by an request can automatically read data from Cosmos (input) and events.

Derinlikte Anahtar Özellikler

Temellerin ötesinde, Azure Fonksiyonlları, etkinlik odaklı mimariler için güçlü bir seçim yapar:

Geleneksel Mimarilerle Karşılaştırma

Geleneksel bir monolithic veya N-tier mimarisinde, sunucular sürekli olarak tükeniyor, boş zamanlayıcı modeli aynı zamanda soğuk başlangıçlar (bir işlevin boş zaman sınırlarına vardığı zaman gecikme limitleri var.Bu, daha düşük operasyonel maliyetlere yol açıyor, ölçeklendirmede karmaşıklaşıyor, ve daha hızlı zaman-pazarlama sırasında geliştiriciler de garanti altına alıyor.

Azure işlevleri için Pratik Kullanım Vakaları

Azure Fonksiyonlları geniş bir dizi senaryo için iyi bir şekilde dekore edilir. Aşağıda, onların yanlışlığını gösteren ayrıntılı örnekler vardır:

Event-Driven Mimarlıklarını Uygulamayın

Bir etkinlik odaklı mimari (EDA) tüketicilerden gelen olayların üreticileri, esnekliği ve dayanıklılığı artırmak. Azure işlevleri olayların doğal tüketicilerdir ve Microsoft Azure, etkinlik kaynakları ve mesaj brokerlerinin zengin bir ekosistemini sunar.

Desen: Fan-out / Fan-in

Ortak bir model, Event Grid'i birden fazla Azure işlevlerine hayran olmak için kullanmak, her biri farklı bir görev gerçekleştirir (örneğin, bir işlev, bir başka erişilebilirliği, üçüncü mağazaları doğrulamaktadır). Tersine, bir fan-in modeli, birden fazla olay kaynağı, bir araya gelen tek bir işlevi tetikleyebilir. Örneğin, yeni bir kullanıcı işaretleri ortaya koyarken, bir etkinlik bir e-posta gönderir, başka bir güncelleme CRM ve bir üçüncü girişleri analiz eder - tüm paralel olarak.

Örnek: Gerçek Zamanlı Inventory Update

Satın alma olaylarının anında güncel envanteri güncellemesi gereken bir e-ticaret platformu düşünün: a e-ticaret platformu.The flow:

  1. Bir sipariş yerleştirilir, bu bir Azure Queue Storage kuyruğuna bir mesaj yazar (profeksiyon kaynağı).
  2. Bir kuyruktan alıntılanan Azure fonksiyonu mesajı alır, veritabanı sorgulayın ( girişi bağlayıcısı ile) mevcut stok seviyelerini elde etmek ve sipariş edilen miktarı ortadan kaldırmak için.
  3. İşlev veritabanını güncelliyor (projeksiyon bağlayıcısı) ve opsiyonel olarak, depo sistemini veya bir kalibrasyon katmanını bildirmek için bir olay yayınlar.
  4. Güncelleme başarısız olursa, işlev otomatik olarak yeniden yapılır ve işlemsiz mesajlar manuel müdahale için bir zehir kuyruğuna gider.

Bu mimari elastiktir: saniyede yüzlerce sipariş üreten bir flaş satışı, Azure Fonksiyonllarının anında ölçeklendirmelerine neden olacaktır, önceden belirlenmiş kapasite olmadan her siparişi işlemesine neden olacaktır.

Azure Functions ile başlayın

Kendi etkinlik odaklı fonksiyonlarınızı inşa etmeye başlamak için, bu adımları takip edin:

  1. [FONT:0] Azure hesabı ve bir kaynak grubu oluşturun: Azure aboneliğiniz yoksa, ilk 30 gün boyunca kredi içeren ücretsiz bir deneme için kaydolun.Kaynak grubu içinde organize kaynaklar organize edin.
  2. [FONT:0] Bir Fonksiyonlar Uygulamasını Tahmin edin:[Dönetici: 0,0) veya altyapı kodlu şablonlar (ARM, Terraform) Bir runtime yığını seçin (örneğin, .NET, Node.js, Python) ve bir barındırma planı.In most event-driven workloads, the Beauty Plan is ideal.
  3. [FONT:0]Bir uyarıyı ele alalım:[Dönetici App'inizde depolama hesabı gibi hizmetlere bağlanmak için gerekli olan bağlantı noktaları oluşturmak ve . Örneğin, bir webhook için "HTTP tetikleyicisi" seçin veya "Azure Queue Storage tetikleyicisi" mesaj işleme için.You'll need to configure strings to services like Storage account underFLT:2App Settings.
  4. [[Dönetici:0)Yaz ve test kodu:[Dönetici:0)[Döneticileri kullanarak portalın online kod editörü veya daha iyi kullanın, yerel olarak Azure Storage için kullanılmaktadır.[Döneticileri için ØT:2).
  5. [FONT:0)İşletme:[Dönetici: [Dönetici:0)İşçi Kodunuz Görsel Stüdyo Kod, Jenkins, GitHub Actions veya Azure Borus. Sürekli bir Git havuzundan dağıtım basittir.
  6. [FONT=0)Monitor ve log:[Dönetici:[Dönetici:0) Giriş ve giriş:[Dönetici:0) Giriş:[Dönetici:)) Giriş Yapılabilir Uygulama İçgünüz için Kullanılabilir Uygulama İçgünüz için Gerçek zamanlı telemetri, istek oranları, başarısızlık sayar ve canlı yayın logları kullanın.

Üretim için en iyi uygulamalar

Güvenilirlik, performans ve kullanılabilirlik sağlamak için, bu yönergelere uymak:

Maliyet Yönetimi ve Optimizasyon

Azure Fonksiyonlar maliyetle etkisiz olsa da, beklenmedik kullanım faturaları şişirebilir. Maliyetleri düşük tutmak için bu uygulamaları takip edin:

İzleme, Debugging ve Logging

Bir sunucuya bağlanmak için, geleneksel debugging yöntemleri uygulanmaz. Azure Functions birkaç araç sağlar:

Güvenlik Önergeleri

Serverless güvenlik ücretsiz anlamına gelmez. işlevlerinizi ve verilerini koruyun:

İntegraler ve Ekosistem

Azure Fonksiyonlları daha geniş Azure ekosistemi ve üçüncü taraf hizmetleri ile derinden entegre eder:

Mevcut bağlayıcılar ve uzantıların kapsamlı bir listesi için, [[Dönetici Azure Fonksiyonları tetikler ve bağlayıcılar Belgeleri).

Azure Fonksiyonlarını Diğer Serverless Platformlara kıyasla

Geliştiriciler genellikle birden fazla bulut sağlayıcıyı değerlendirir. Azure Fonksiyonlları, AWS Lambda ve Google Cloud Functions ile benzerlikleri paylaşırlar, ancak önemli farklılıklar vardır:

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Azure Fonksiyonlar, IoT verilerini işlemeniz, sunucusuz API oluşturmak için sağlam, ölçeklenebilir ve maliyet verimli bir platform sağlar. Müşterilerden gelen olay üreticileri, otomatik olarak ölçeklendirmek ve operasyonel yükleri kullanarak karmaşık hale getirmek için gerekli olan esnekliği ve entegrasyonları sunar.