Azure’da temel kurumsal tümleştirme

Azure Active Directory
API Management
DNS
Logic Apps
İzleyici

Bu başvuru mimarisi, kurumsal arka uç sistemlerine yönelik çağrıları düzenlemek için Azure Tümleştirme Hizmetleri 'ni kullanır. Arka uç sistemleri, kuruluşunuzda hizmet olarak yazılım (SaaS) sistemleri, Azure hizmetleri ve mevcut Web Hizmetleri içerebilir.

Azure Tümleştirme Hizmetleri, uygulama ve veri tümleştirme hizmetleri koleksiyonudur. Bu mimari bu hizmetlerden ikisini kullanır: iş akışlarını düzenlemek için Logic Apps ve API katalogları oluşturmak için API Management . Bu mimari, iş akışının arka uç hizmetlerine yönelik zaman uyumlu çağrılar tarafından tetiklenen temel tümleştirme senaryoları için yeterlidir. Kuyrukları ve olayları kullanan daha karmaşık bir mimari, bu temel mimaride oluşturulur.

Mimari diyagramı-basit kurumsal tümleştirme

Mimari

Mimari aşağıdaki bileşenlere sahiptir:

  • Arka uç sistemleri. Diyagramın sağ tarafında, kuruluşun dağıtıldığı veya dayandığı çeşitli arka uç sistemleri gösterilmektedir. Bunlar SaaS sistemleri, diğer Azure hizmetleri veya REST veya SOAP uç noktalarını açığa çıkaran Web Hizmetleri içerebilir.

  • Azure Logic Apps. Logic Apps , uygulamaları, verileri ve Hizmetleri tümleştiren kurumsal iş akışları oluşturmak için sunucusuz bir platformdur. Bu mimaride, mantıksal uygulamalar HTTP istekleri tarafından tetiklenir. Ayrıca daha karmaşık düzenleme için iş akışlarını iç içe geçirebilirsiniz. Logic Apps, yaygın olarak kullanılan hizmetlerle tümleştirilecek bağlayıcıları kullanır. Logic Apps yüzlerce bağlayıcı sunar ve özel bağlayıcılar oluşturabilirsiniz.

  • Azure API Management. API Management , yeniden kullanımı ve bulunabilirliği yükseltmek Için HTTP API 'lerinin kataloglarının yayımlanması için yönetilen bir hizmettir. API Management iki ilişkili bileşenden oluşur:

    • API ağ geçidi. API Gateway, HTTP çağrılarını kabul eder ve arka uca yönlendirir.

    • Geliştirici Portalı. Her Azure API Management örneği bir Geliştirici portalınaerişim sağlar. Bu portal, geliştiricilerin, API 'Leri çağırmaya yönelik belgelere ve kod örneklerine erişmesini sağlar. API 'Leri Geliştirici Portalında da test edebilirsiniz.

    Bu mimaride, karma API 'Ler mantıksal uygulamaları API olarak içeri aktarılarak oluşturulur. Ayrıca, Openapı (Swagger) belirtimlerini içeri aktararak veya WSDL BELIRTIMLERINDEN SOAP API 'lerini içeri aktararak mevcut Web hizmetlerini içeri aktarabilirsiniz.

    API ağ geçidi, ön uç istemcilerinin arka uca ayrılmasıyla yardımcı olur. Örneğin, arka uca ulaşmadan önce URL 'Leri yeniden yazabilir veya istekleri dönüştürebilirsiniz. Ayrıca kimlik doğrulama, çıkış noktaları arası kaynak paylaşımı (CORS) desteği ve yanıt önbelleği gibi çok sayıda çapraz kesme ile ilgili birçok sorun da ele alır.

  • Azure DNS. Azure DNS, DNS etki alanları için bir barındırma hizmetidir. Azure DNS, Microsoft Azure altyapısını kullanarak ad çözümlemesi sağlar. Etki alanlarınızı Azure 'da barındırarak DNS kayıtlarınızı, diğer Azure hizmetleri için kullandığınız kimlik bilgilerini, API 'Leri, araçları ve faturalandırmayı kullanarak yönetebilirsiniz. Contoso.com gibi özel bir etki alanı adı kullanmak için, özel etki alanı adını IP adresine eşleyen DNS kayıtları oluşturun. Daha fazla bilgi için bkz. API Management bir özel etki alanı adı yapılandırma.

  • Azure Active Directory (Azure AD). API ağ geçidini çağıran istemcilerin kimliğini doğrulamak için Azure AD 'yi kullanın. Azure AD, openıd Bağlan (oıdc) protokolünü destekler. İstemciler Azure AD 'den bir erişim belirteci edinirken API Gateway, isteği yetkilendirmek için belirteci doğrular . API Management standart veya Premium katmanını kullanırken, Azure AD geliştirici portalına erişimi de güvenli hale verebilir.

Öneriler

Belirli gereksinimleriniz burada gösterilen genel mimariye göre farklılık gösterebilir. Bu bölümdeki önerileri bir başlangıç noktası olarak kullanın.

API Management

API Management temel, standart veya Premium katmanlarını kullanın. Bu katmanlar bir üretim hizmet düzeyi sözleşmesi (SLA) sunar ve Azure bölgesinde ölçeği destekler. API Management için üretilen iş kapasitesi birimlercinsinden ölçülür. Her fiyatlandırma katmanının en fazla ölçeği vardır. Premium katmanı, birden fazla Azure bölgesinde ölçeği de destekler. Özellik kümesine ve gerekli aktarım hızı düzeyine göre katmanınızı seçin. Daha fazla bilgi için bkz. Azure API Management örneğininfiyatlandırma ve kapasitesini API Management .

Her Azure API Management örneğinin varsayılan bir etki alanı adı vardır, azure-api.net Örneğin, contoso.azure-api.net . Kuruluşunuz için özel bir etki alanı yapılandırmayı düşünün.

Logic Apps

Logic Apps, zaman uyumsuz veya yarı uzun süre çalışan API çağrıları gibi bir yanıt için düşük gecikme süresine gerek olmayan senaryolarda en iyi şekilde çalışır. Düşük gecikme süresi gerekliyse, örneğin, bir kullanıcı arabirimini engelleyen bir çağrıda, farklı bir teknoloji kullanın. Örneğin, Azure Işlevleri 'ni veya Azure App Service için dağıtılan bir Web API 'sini kullanın. API tüketicilerinize API 'yi ön eklemek için API Management kullanın.

Region

Ağ gecikmesini en aza indirmek için API Management ve Logic Apps aynı bölgeye koyun. Genel olarak, kullanıcılarınıza en yakın bölgeyi (veya arka uç hizmetlerinizi en yakın olanını) seçin.

Kaynak grubunun bir bölgesi de vardır. Bu bölge, dağıtım meta verilerinin depolanacağı yeri ve dağıtım şablonunun nerede yürütüleceğini belirtir. Dağıtım sırasında kullanılabilirliği artırmak için, kaynak grubunu ve kaynakları aynı bölgeye koyun.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenler

API Management ölçeklenebilirliğini artırmak için, uygun yerlerde önbelleğe alma ilkeleri ekleyin. ayrıca Önbelleğe Alma, arka uç hizmetlerindeki yükün azaltılmasına de yardımcı olur.

daha fazla kapasite sunmak için azure API Management temel, standart ve Premium katmanlarını bir azure bölgesinde ölçeklendirebilirsiniz. Hizmetinizin kullanımını çözümlemek için, ölçümler menüsünde kapasite ölçümü seçeneğini belirleyin ve ardından uygun şekilde ölçeği büyütme veya küçültme. Yükseltme veya ölçeklendirme işleminin uygulanması 15 ila 45 dakika sürebilir.

API Management hizmeti ölçeklendirmeye Öneriler:

  • Ölçeklendirilirken trafik desenlerini göz önünde bulundurun. Daha geçici trafik desenlerine sahip müşterilerin daha fazla kapasiteye ihtiyacı vardır.

  • %66 ' den büyük olan tutarlı kapasite ölçeği büyütme gereksinimini gösterebilir.

  • %20 ' nin altındaki tutarlı kapasite, ölçeği azaltma fırsatına işaret edebilir.

  • Üretimde yükü etkinleştirmeden önce, API Management hizmetinize her zaman bir temsili yüküne yük testi yapın.

Premium katmanı ile, birden fazla Azure bölgesinde bir API Management örneğini ölçeklendirebilirsiniz. Bu, API Management daha yüksek bir SLA için uygun hale getirir ve birden çok bölgedeki kullanıcılara yakın hizmetler sağlamanıza olanak tanır.

Logic Apps sunucusuz model, yöneticilerin hizmet ölçeklenebilirliği planlamak zorunda olmadığı anlamına gelir. Hizmet, talebi karşılamak için otomatik olarak ölçeklendirilir.

Kullanılabilirlik konusunda dikkat edilmesi gerekenler

Her hizmet için SLA 'yı gözden geçirin:

Premium katmanı ile iki veya daha fazla bölgede API Management dağıtırsanız, daha yüksek bir SLA için uygun hale gelir. API Management fiyatlandırmasınabakın.

Yedeklemeler

API Management yapılandırmanızı düzenli olarak yedekleyin . Yedekleme dosyalarınızı Hizmetin dağıtıldığı bölgeden farklı bir konuma veya Azure bölgesine depolayın. RTO 'ya bağlı olarak bir olağanüstü durum kurtarma stratejisi seçin:

  • Bir olağanüstü durum kurtarma olayında yeni bir API Management örneği sağlayın, yeni örneğe yedeklemeyi geri yükleyin ve DNS kayıtlarını yeniden işaretleyin.

  • API Management hizmetinin pasif bir örneğini başka bir Azure bölgesinde saklayın. Etkin hizmet ile eşitlenmiş halde tutmak için, yedekleri bu örneğe düzenli olarak geri yükleyin. Olağanüstü durum kurtarma olayı sırasında hizmeti geri yüklemek için, DNS kayıtlarını yalnızca yeniden işaret etmeniz gerekir. Bu yaklaşım, pasif örnek için ödeme yaptığınız, ancak kurtarma süresini azalttığı için ek maliyet doğurur.

Logic Apps için, yedekleme ve geri yükleme için kod olarak yapılandırma yaklaşımını öneririz. Mantıksal uygulamalar sunucusuz olduğundan, bunları Azure Resource Manager şablonlarından hızlıca yeniden oluşturabilirsiniz. Şablonları kaynak denetimine kaydedin, şablonları sürekli tümleştirme/sürekli dağıtım (CI/CD) süreciyle tümleştirin. Bir olağanüstü durum kurtarma olayında, şablonu yeni bir bölgeye dağıtın.

Farklı bir bölgeye mantıksal uygulama dağıtırsanız, API Management yapılandırmayı güncelleştirin. Temel bir PowerShell betiği kullanarak API 'nin arka uç özelliğini güncelleştirebilirsiniz.

DevOps için dikkat edilmesi gerekenler

Üretim, geliştirme ve test ortamları için ayrı kaynak grupları oluşturun. Ayrı kaynak grupları dağıtımları yönetmeyi, test dağıtımlarını silmeyi ve erişim haklarını atamayı kolaylaştırır.

Kaynakları kaynak gruplarına atadığınızda, şu faktörleri göz önünde bulundurun:

  • Yaşam döngüsü. Genel olarak, aynı yaşam döngüsüne sahip kaynakları aynı kaynak grubuna yerleştirin.

  • Erişim. Erişim ilkelerini bir gruptaki kaynaklara uygulamak için Azure rol tabanlı erişim denetimi (Azure RBAC)kullanabilirsiniz.

  • Faturalandırma. Kaynak grubu için toplu maliyetleri görüntüleyebilirsiniz.

  • API Management Için fiyatlandırma katmanı. Geliştirme ve test ortamları için Geliştirici katmanını kullanın. Ön üretim sırasında maliyetleri en aza indirmek için üretim ortamınıza bir çoğaltmayı dağıtın, testlerinizi çalıştırın ve ardından kapatın.

Dağıtım

Azure kaynaklarını dağıtmak için Azure Resource Manager şablonları kullanın, altyapı kodu (IAC) işlemini izleyin. şablonlar, Azure DevOps Servicesveya diğer cı/CD çözümlerini kullanarak dağıtımları otomatik hale getirmeyi kolaylaştırır.

Hazırlama

İş yüklerinizi hazırlamayı düşünün; bu, çeşitli aşamalara dağıtım ve bir sonrakine geçmeden önce her aşamada doğrulamaları çalıştırma anlamına gelir; Bu şekilde, güncelleştirmeleri üretim ortamlarınıza yüksek düzeyde denetlenen bir şekilde gönderebilir ve beklenmeyen dağıtım sorunlarını en aza indirmenize olanak sağlar. Mavi-yeşil dağıtım ve Canary sürümleri , canlı üretim ortamlarını güncelleştirmek için önerilen dağıtım stratejilerine sahiptir. Ayrıca, bir dağıtım başarısız olduğunda iyi bir geri alma stratejisi de düşünün; Örneğin, dağıtım geçmişinizden daha önceki, başarılı bir dağıtımı otomatik olarak yeniden dağıtırsınız, Azure CLı 'de--Rollback-on hata bayrağı parametresi iyi bir örnektir.

İş yükü yalıtımı

API Management ve bağımsız mantıksal uygulamaları kendi ayrı Kaynak Yöneticisi şablonlarına koyun. Ayrı şablonlar kullanarak kaynakları kaynak denetim sistemlerinde saklayabilirsiniz. Şablonları bir CI/CD işleminin parçası olarak bir araya veya tek tek dağıtabilirsiniz.

Sürümler

Bir mantıksal uygulamanın yapılandırmasını her değiştirdiğinizde veya bir Kaynak Yöneticisi şablonu aracılığıyla bir güncelleştirme dağıttığınızda, Azure bu sürümün bir kopyasını tutar ve çalıştırma geçmişi olan tüm sürümleri korur. Bu sürümleri, geçmiş değişiklikleri izlemek veya bir sürümü mantıksal uygulamanın geçerli yapılandırması olarak yükseltmek için kullanabilirsiniz. Örneğin, bir mantıksal uygulamayı önceki bir sürüme geri alabilirsiniz.

API Management, iki ayrı ancak tamamlayıcı sürüm kavramlarını destekler:

  • Sürümler , API tüketicilerinin gereksinimlerine göre bir API sürümü seçmesini sağlar, örneğin v1, v2, beta veya üretim.

  • Düzeltmeler , API yöneticilerinin DEĞIŞIKLIKLER hakkında API tüketicilerini bilgilendirmek IÇIN bir API 'de önemli olmayan değişiklikler yapmasına ve bu değişiklikleri dağıtmasına imkan tanır.

Geliştirme ortamında bir düzeltme yapabilir ve bu değişikliği diğer ortamlarda Kaynak Yöneticisi şablonları kullanarak dağıtabilirsiniz. Daha fazla bilgi için bkz. API 'nizin birden fazla sürümünü yayımlama

Değişiklikleri geçerli yapmadan ve kullanıcılar tarafından erişilebilmesi için bir API 'YI test etmek üzere düzeltmeleri de kullanabilirsiniz. Ancak, bu yöntem yük testi veya tümleştirme testi için önerilmez. Bunun yerine ayrı test veya üretim öncesi ortamlar kullanın.

Tanılama ve izleme

API Management ve Logic Apps birlikte işlemsel izleme için Azure izleyicisini kullanın. Azure Izleyici, her hizmet için yapılandırılan ölçümlere dayalı bilgiler sağlar ve varsayılan olarak etkindir. Daha fazla bilgi için bkz.

Her hizmette de bu seçenekler vardır:

  • Daha derin analiz ve sıra oluşturma için Logic Apps günlükleri Azure Log Analytics'a gönderin.

  • DevOps izleme için Azure Application Insights API Management yapılandırın.

  • API Management, özel apı analizi için Power BI çözüm şablonunudestekler. Bu çözüm şablonunu, kendi analiz çözümünüzü oluşturmak için kullanabilirsiniz. iş kullanıcıları için Power BI raporları kullanılabilir hale getirir.

Güvenlik konuları

Bu liste tüm güvenlik en iyi uygulamalarını tamamen tanımlamaz, ancak özellikle bu mimariye uygulanan bazı güvenlik konuları aşağıda verilmiştir:

  • Azure API Management hizmetinin sabit bir genel IP adresi vardır. Logic Apps uç noktalarını yalnızca API Management IP adresine çağırma erişimini kısıtlayın. Daha fazla bilgi için bkz. gelen IP adreslerini kısıtlama.

  • Kullanıcıların uygun erişim düzeylerine sahip olduğundan emin olmak için Azure rol tabanlı erişim denetimi (Azure RBAC) kullanın.

  • OAuth veya openıd Bağlan kullanarak API Management içindeki genel apı uç noktaları güvenli hale getirin. Ortak API uç noktalarına güvenli hale getirmek için, bir kimlik sağlayıcısı yapılandırın ve bir JSON Web Token (JWT) doğrulama ilkesi ekleyin. daha fazla bilgi için bkz. Azure Active Directory ve API Management ile OAuth 2,0 kullanarak apı 'yi koruma.

  • karşılıklı sertifikaları kullanarak API Management arka uç hizmetlerine Bağlan.

  • API Management API 'Lerinde HTTPS 'yi zorunlu tutun.

Gizli dizileri depolama

Hiçbir zaman parolaları, erişim anahtarlarını veya bağlantı dizelerini kaynak denetimine dahil etmeyin. Bu değerler gerekliyse, güvenli hale getirin ve bu değerleri uygun teknikleri kullanarak dağıtın.

Bir mantıksal uygulama bir bağlayıcı içinde oluşturamıyoruz gizli değerler gerektiriyorsa, bu değerleri Azure Key Vault depolayın ve Kaynak Yöneticisi şablonundan bunlara başvurun. Her ortam için dağıtım şablonu parametrelerini ve parametre dosyalarını kullanın. Daha fazla bilgi için bkz. bir iş akışı Içindeki güvenli parametreler ve girdiler.

API Management, adlandırılmış değerler veya Özellikleradlı nesneleri kullanarak gizli dizileri yönetir. Bu nesneler, API Management ilkeleri aracılığıyla erişebileceğiniz değerleri güvenli bir şekilde depolar. Daha fazla bilgi için bkz. Azure API Management Ilkelerinde adlandırılmış değerleri kullanma.

Maliyetle ilgili konular

Genel olarak, maliyetleri tahmin etmek için Azure Fiyatlandırma hesaplayıcısı ' nı kullanın. Diğer bazı konular aşağıda verilmiştir.

API Management

Çalışan tüm API Management örnekleri için ücretlendirilirsiniz. Ölçeği artırdıysanız ve her zaman bu performans düzeyine ihtiyaç duymuyorsanız, Otomatik ölçeklendirmeyiel ile ölçeklendirin ve yapılandırın.

Logic Apps

Logic Apps sunucusuz bir model kullanır. Faturalandırma, eylem ve bağlayıcı yürütmesi temel alınarak hesaplanır. Daha fazla bilgi için bkz. Logic Apps fiyatlandırması.

Daha fazla bilgi için Microsoft Azure İyi Oluşturulmuş Mimari Çerçevesi makalesindeki maliyet bölümüne bakın.

Sonraki adımlar

Daha fazla güvenilirlik ve ölçeklenebilirlik için, arka uç sistemlerini ayırmak üzere ileti kuyruklarını ve olayları kullanın. bu model, bu serideki bir sonraki başvuru mimarisinde gösterilmiştir: ileti kuyruklarını ve olayları kullanarak Enterprise tümleştirme.