Azure’da temel kurumsal tümleştirme

Microsoft Entra ID
Azure API Management
Azure DNS
Azure Logic Apps
Azure Monitor

Bu başvuru mimarisi, kurumsal arka uç sistemlerine çağrıları düzenleme amacıyla Azure Integration Services'i kullanır. Arka uç sistemleri hizmet olarak yazılım (SaaS) sistemlerini, Azure hizmetlerini ve kuruluşunuzdaki mevcut web hizmetlerini içerebilir.

Mimari

Architecture diagram showing simple enterprise integration

Bu mimarinin bir Visio dosyasını indirin.

Workflow

  • Arka uç sistemleri. Diyagramın sağ tarafında, kuruluşun dağıtmış olduğu veya güvendiği çeşitli arka uç sistemleri gösterilmektedir. Bu sistemler SaaS sistemlerini, diğer Azure hizmetlerini veya REST veya SOAP uç noktalarını kullanıma sunan web hizmetlerini içerebilir.

  • Azure Logic Apps. Bu mimaride mantıksal uygulamalar HTTP istekleri tarafından tetiklenir. Daha karmaşık düzenleme için iş akışlarını da iç içe yerleştirebilirsiniz. Logic Apps, yaygın olarak kullanılan hizmetlerle tümleştirmek için 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 iki ilgili bileşenden oluşur:

    • API ağ geçidi. API ağ geçidi HTTP çağrılarını kabul eder ve bunları arka uçtan yönlendirir.

    • Geliştirici portalı. Azure API Management'ın her örneği bir geliştirici portalına erişim sağlar. Bu portal, geliştiricilerinize API'leri çağırmak için belgelere ve kod örneklerine erişim sağlar. Api'leri geliştirici portalında da test edebilirsiniz.

  • Azure DNS. Azure DNS, 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 hizmetleriniz için kullandığınız kimlik bilgilerini, API'leri, araçları ve faturalamayı 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'ta özel etki alanı adı yapılandırma.

  • Microsoft Entra Id. API ağ geçidini çağıran istemcilerin kimliğini doğrulamak için Microsoft Entra Id kullanın. Microsoft Entra ID, OpenID Bağlan (OIDC) protokollerini destekler. İstemciler Microsoft Entra Kimliği'nden bir erişim belirteci alır ve API Gateway isteği yetkilendirmek için belirteci doğrular. API Management'ın Standart veya Premium katmanını kullanıyorsanız, Microsoft Entra Id geliştirici portalına erişimin güvenliğini sağlamaya da yardımcı olabilir.

Components

  • Integration Services , uygulamaları, verileri ve işlemleri tümleştirmek için kullanabileceğiniz bir hizmet koleksiyonudur.
  • Logic Apps , uygulamaları, verileri ve hizmetleri tümleştiren kurumsal iş akışları oluşturmaya yönelik sunucusuz bir platformdur.
  • API Management , HTTP API'lerinin kataloglarını yayımlamaya yönelik yönetilen bir hizmettir. API'lerinizin yeniden kullanılmasını ve bulunabilirliğini artırmak ve ara sunucu API isteklerine bir API ağ geçidi dağıtmak için bunu kullanabilirsiniz.
  • Azure DNS, DNS etki alanları için bir barındırma hizmetidir.
  • Microsoft Entra Id , bulut tabanlı bir kimlik ve erişim yönetimi hizmetidir. Kurumsal çalışanlar dış ve iç kaynaklara erişmek için Microsoft Entra Id kullanabilir.

Senaryo ayrıntıları

Integration Services, kuruluşunuz için uygulamaları, verileri ve işlemleri tümleştirmek için kullanabileceğiniz bir hizmet koleksiyonudur. Bu mimaride bu hizmetlerden ikisi kullanılır: iş akışlarını düzenlemeye yönelik Logic Apps ve API Kataloğu oluşturmak için API Management .

Bu mimaride bileşik API'ler mantıksal uygulamalar API olarak içeri aktarılarak oluşturulur. Ayrıca OpenAPI (Swagger) belirtimlerini veya WSDL belirtimlerinden SOAP API'lerini içeri aktararak mevcut web hizmetlerini içeri aktarabilirsiniz.

API ağ geçidi, ön uç istemcilerini arka uçtan ayırmaya yardımcı olur. Örneğin, URL'leri yeniden yazabilir veya istekleri arka uçtan ulaşmadan dönüştürebilir. Ayrıca kimlik doğrulaması, çıkış noktaları arası kaynak paylaşımı (CORS) desteği ve yanıt önbelleğe alma gibi birçok çapraz kesme endişesini de ele alır.

Olası kullanım örnekleri

Bu mimari, iş akışının arka uç hizmetlerine zaman uyumlu çağrılar tarafından tetiklendiği temel tümleştirme senaryoları için yeterlidir. Kuyrukları ve olayları kullanan daha gelişmiş bir mimari, bu temel mimariyi temel alır.

Öneriler

Özel gereksinimleriniz burada gösterilen genel mimariden farklı olabilir. Bu bölümdeki önerileri bir başlangıç noktası olarak kullanın.

API Management

API Management Basic, Standard 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 genişletmeyi destekler. API Management için aktarım hızı kapasitesi birimler halinde ölçülür. Her fiyatlandırma katmanında maksimum ölçek genişletme vardır. Premium katmanı, birden çok Azure bölgesinde ölçeği genişletmeyi de destekler. Özellik kümenize ve gerekli aktarım hızı düzeyine göre katmanınızı seçin. Daha fazla bilgi için bkz . API Management fiyatlandırması ve Azure API Management örneğinin kapasitesi.

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

Logic Apps

Logic Apps, zaman uyumsuz veya yarı uzun süre çalışan API çağrıları gibi yanıt için düşük gecikme süresi gerektirmeyen senaryolarda en iyi şekilde çalışır. Düşük gecikme süresi gerekiyorsa, örneğin kullanıcı arabirimini engelleyen bir çağrıda farklı bir teknoloji kullanın. Örneğin, Azure Uygulaması Hizmetine dağıtılan Azure İşlevleri veya web API'sini kullanın. API Management'ı kullanarak API'yi API tüketicilerinizin kullanımına sunun.

Region

Ağ gecikme süresini en aza indirmek için API Management ve Logic Apps'i aynı bölgeye yerleştirin. Genel olarak, kullanıcılarınıza en yakın bölgeyi (veya arka uç hizmetlerinize en yakın) seçin.

Dikkat edilmesi gerekenler

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.

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

Api Management'ı Premium katmanıyla iki veya daha fazla bölgeye dağıtırsanız daha yüksek bir SLA için uygundur. Bkz. API Management fiyatlandırması.

Yedekler

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

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

  • API Management hizmetinin pasif bir örneğini başka bir Azure bölgesinde tutun. Yedeklemeleri etkin hizmetle eşitlenmiş durumda tutmak için bu örneğe düzenli olarak geri yükleyin. Olağanüstü durum kurtarma olayı sırasında hizmeti geri yüklemek için yalnızca DNS kayıtlarını yeniden noktalamalısınız. Pasif örnek için ödeme yaptığınız ancak kurtarma süresini azalttığı için bu yaklaşım ek maliyetler doğurabilir.

Mantıksal uygulamalar 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ızla yeniden oluşturabilirsiniz. Şablonları kaynak denetimine kaydedin, şablonları sürekli tümleştirme/sürekli dağıtım (CI/CD) işleminizle tümleştirin. Olağanüstü durum kurtarma olayında şablonu yeni bir bölgeye dağıtın.

Mantıksal uygulamayı farklı bir bölgeye dağıtırsanız API Management'ta yapılandırmayı güncelleştirin. Temel bir PowerShell betiği kullanarak API'nin Backend özelliğini güncelleştirebilirsiniz.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Bu liste tüm en iyi güvenlik uygulamalarını tam olarak açıklamasa da, özellikle bu mimari için geçerli olan bazı güvenlik konuları şunlardır:

  • Azure API Management hizmetinin sabit bir genel IP adresi vardır. Logic Apps uç noktalarını çağırma erişimini yalnızca API Management'ın IP adresiyle 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 denetimini (Azure RBAC) kullanın.

  • OAuth veya OpenID Bağlan kullanarak API Management'ta genel API uç noktalarının güvenliğini sağlayın. Genel API uç noktalarının güvenliğini sağlamak için bir kimlik sağlayıcısı yapılandırın ve bir JSON Web Belirteci (JWT) doğrulama ilkesi ekleyin. Daha fazla bilgi için bkz . Microsoft Entra Id ve API Management ile OAuth 2.0 kullanarak BIR API'yi koruma.

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

  • API Management API'lerinde HTTPS'yi zorunlu kılma.

Gizli dizileri depolama

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

Mantıksal uygulama, bağlayıcı içinde oluşturamadığınız hassas değerler gerektiriyorsa, bu değerleri Azure Key Vault'ta depolayın ve bir Resource Manager ş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 . İş akışındaki parametreleri ve girişleri güvenli hale alma.

API Management, adlandırılmış değerler veya özellikler olarak adlandırılan 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.

Operasyonel mükemmellik

Operasyonel mükemmellik, bir uygulamayı dağıtan ve üretimde çalışır durumda tutan operasyon süreçlerini kapsar. Daha fazla bilgi için bkz . Operasyonel mükemmellik sütununa genel bakış.

DevOps

Ü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 atarken ş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'i seçin. Bir gruptaki kaynaklara erişim ilkeleri uygulamak için Azure rol tabanlı erişim denetimini (Azure RBAC) kullanabilirsiniz.

  • Fatura. Kaynak grubunun toplama maliyetlerini 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ını kullanın, Kod Olarak Altyapı (IaC) İşlemi'ni izleyin. Şablonlar, Azure DevOps Services veya diğer CI/CD çözümlerini kullanarak dağıtımları otomatikleştirmeyi kolaylaştırır.

Hazırlama

İş yüklerinizi hazırlamayı göz önünde bulundurun; başka bir deyişle bir sonraki aşamaya geçmeden önce çeşitli aşamalara dağıtım ve her aşamada doğrulama çalıştırma. Bu yaklaşımı kullanırsanız, güncelleştirmeleri yüksek denetimli bir şekilde üretim ortamlarınıza gönderebilirsiniz ve tahmin edilmeyen dağıtım sorunlarını en aza indirebilirsiniz. Mavi-yeşil dağıtım ve Kanarya sürümleri , canlı üretim ortamlarını güncelleştirmek için önerilen dağıtım stratejileridir. Ayrıca, bir dağıtımın başarısız olması için iyi bir geri alma stratejisine sahip olmayı göz önünde bulundurun. Örneğin, dağıtım geçmişinizden daha önceki ve başarılı bir dağıtımı otomatik olarak yeniden dağıtabilirsiniz. --rollback-on-error Azure CLI'daki bayrak parametresi iyi bir örnektir.

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

API Management'ı ve tek tek tüm mantıksal uygulamaları kendi ayrı Resource Manager şablonlarına yerleştirin. Ayrı şablonlar kullanarak kaynakları kaynak denetim sistemlerinde depolayabilirsiniz. Şablonları bir CI/CD işleminin parçası olarak birlikte veya tek tek dağıtabilirsiniz.

Sürümler

Bir mantıksal uygulamanın yapılandırmasını her değiştirdiğinizde veya Resource Manager ş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 tutar. Geçmiş değişiklikleri izlemek veya mantıksal uygulamanın geçerli yapılandırması olarak bir sürümü yükseltmek için bu sürümleri kullanabilirsiniz. Örneğin, mantıksal uygulamayı önceki bir sürüme geri alabilirsiniz.

API Management iki ayrı ama tamamlayıcı sürüm oluşturma kavramını destekler:

  • Sürümler , API tüketicilerinin gereksinimlerine göre (v1, v2, beta veya üretim gibi) bir API sürümü seçmesine olanak sağlar.

  • Düzeltmeler , API yöneticilerinin BIR API'de bölünemez değişiklikler yapmasına ve bu değişiklikleri dağıtmasına olanak sağlar ve değişiklikleri API tüketicilerine bildirmek için bir değişiklik günlüğü ile birlikte dağıtabilir.

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

Değişiklikleri geçerli ve kullanıcılara erişilebilir hale getirmeden önce API'yi test etmek için 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

Hem API Management hem de Logic Apps'te operasyonel izleme için Azure İzleyici'yi kullanın. Azure İzleyici, her hizmet için yapılandırılan ölçümlere göre bilgi sağlar ve varsayılan olarak etkindir. Daha fazla bilgi için bkz.

Her hizmet şu seçeneklere de sahiptir:

  • Daha ayrıntılı analiz ve pano oluşturma için Logic Apps günlüklerini Azure Log Analytics'e gönderin.

  • DevOps izleme için API Management için Azure Uygulaması Analizler yapılandırın.

  • API Management, özel API analizi için Power BI çözüm şablonunu destekler. Kendi analiz çözümünüzü oluşturmak için bu çözüm şablonunu kullanabilirsiniz. Power BI, iş kullanıcıları için raporları kullanıma hazır hale getirir.

Performans verimliliği

Performans verimliliği, kullanıcılar tarafından anlamlı bir şekilde yerleştirilen talepleri karşılamak amacıyla iş yükünüzü ölçeklendirme becerisidir. Daha fazla bilgi için bkz . Performans verimliliği sütununa genel bakış.

API Management'ın ölçeklenebilirliğini artırmak için uygun yerlerde önbelleğe alma ilkeleri ekleyin. Önbelleğe Alma arka uç hizmetlerindeki yükü azaltmaya da yardımcı olur.

Daha fazla kapasite sunmak için azure bölgesinde Azure API Management Temel, Standart ve Premium katmanlarının ölçeğini genişletebilirsiniz. Hizmetinizin kullanımını analiz etmek için Ölçümler menüsünde Kapasite Ölçümü'ne tıklayın ve ardından ölçeği uygun şekilde artırın veya küçültün. Yükseltme veya ölçeklendirme işleminin uygulanması 15 - 45 dakika kadar sürebilir.

API Management hizmetini ölçeklendirmek için Öneriler:

  • Ölçeklendirme sırasında trafik desenlerini göz önünde bulundurun. Daha fazla geçici trafik deseni olan müşterilerin daha fazla kapasiteye ihtiyacı vardır.

  • %66'dan büyük tutarlı kapasite, ölçeği artırma 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 hizmetinizi her zaman temsili bir yükle yük test edin.

Premium katmanıyla bir API Management örneğini birden çok Azure bölgesinde ölçeklendikleyebilirsiniz. Bu, API Management'ı daha yüksek bir SLA için uygun hale getirir ve birden çok bölgede kullanıcılara yakın hizmetler sağlamanızı sağlar.

Logic Apps sunucusuz modeli, yöneticilerin hizmet ölçeklenebilirliğini planlamak zorunda olmadığı anlamına gelir. Hizmet talebi karşılayacak şekilde otomatik olarak ölçeklendirilir.

Maliyet iyileştirme

Genel olarak, maliyetleri tahmin etmek için Azure fiyatlandırma hesaplayıcısını kullanın. Burada dikkat edilmesi gereken diğer bazı noktalar bulunmaktadır.

API Management

Çalışırken tüm API Management örnekleri için ücretlendirilirsiniz. Ölçeği artırdıysanız ve her zaman bu performans düzeyine ihtiyacınız yoksa otomatik ölçeklendirmeyi el ile azaltın veya yapılandırın.

Logic Apps

Logic Apps sunucusuz bir model kullanır. Faturalama, eylem ve bağlayıcı yürütme temelinde 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 ileti kuyruklarını ve olaylarını kullanarak arka uç sistemlerini birbirinden ayırın. Bu mimari, bu serinin sonraki makalesinde gösterilmiştir:

Azure Mimari Merkezi'ndeki şu makaleler de ilginizi çekebilir: