Azure'da temel kurumsal tümleştirme

Microsoft Entra ID
Azure API Management
Azure DNS
Azure Logic Apps
Azure İzleyici

Bu başvuru mimarisi, kurumsal arka uç sistemlerine çağrıları düzenleme amacıyla Azure Integration Services kullanır. Arka uç sistemleri hizmet olarak yazılım (SaaS) sistemlerini, Azure hizmetlerini veya kuruluşunuzdaki mevcut web hizmetlerini içerebilir. Integration Services, Azure Logic Apps, Azure API Management, Azure Service Bus, Azure Event Grid, Azure Functions ve Azure Data Factory dahil olmak üzere çeşitli bileşenleri kapsar. Bu temel mimaride yalnızca Logic Apps ve API Management kullanılır.

Mimari

Basit bir kurumsal tümleştirmeyi gösteren mimari diyagramı.

Bu mimarinin Visio dosyasını karşıdan yükleyin.

Veri akışı

Aşağıdaki veri akışı önceki diyagrama karşılık gelir:

  1. Uygulama, Microsoft Entra ID ile kimlik doğrulamasından sonra API ağ geçidini çağıran bir istemcidir. Uygulama bir web uygulaması, mobil uygulama veya HTTP isteğinde bulunan başka bir istemci olabilir.

  2. Microsoft Entra ID istemci uygulamasının kimliğini doğrular. İstemci uygulaması Microsoft Entra ID'dan bir erişim belirteci alır ve api ağ geçidi isteğine ekler.

  3. API Management iki ilgili bileşenden oluşur:

    • API ağ geçidi istemci uygulamasından HTTP çağrılarını kabul eder, Microsoft Entra ID belirteci doğrular ve isteği arka uç hizmetine iletir. API ağ geçidi ayrıca istekleri ve yanıtları dönüştürebilir ve yanıtları önbelleğe alabilir.

    • Geliştiriciler, API'leri keşfetmek ve bunlarla etkileşime geçmek için geliştirici portalını kullanır. Geliştirici portalını kuruluşunuzun markasıyla eşleşecek şekilde özelleştirebilirsiniz.

  4. Mantıksal uygulamalar arka uç hizmetlerine yapılan çağrıları düzenler. Çeşitli olaylar mantıksal uygulamaları tetikleyebilir ve mantıksal uygulamalar çeşitli hizmetleri çağırabilir. Bu mimaride Logic Apps arka uç hizmetlerini çağırır ve bağlayıcılar aracılığıyla bağlantı sağlayarak özel kod ihtiyacını azaltır.

  5. Arka uç hizmetleri veritabanı, web hizmeti veya SaaS uygulaması gibi herhangi bir hizmet veya iş kolu (LOB) uygulaması olabilir. Azure veya yerel sunucular üzerinde barındırılabilir.

Bileşenler

  • Integration Services , uygulamaları, verileri ve işlemleri tümleştirmek için kullanabileceğiniz bir hizmet koleksiyonudur. Bu çözümde şu hizmetlerden ikisi kullanılır:

    • Logic Apps , uygulamaları, verileri ve hizmetleri tümleştiren kurumsal iş akışları oluşturmaya yönelik sunucusuz bir platformdur. Bu mimaride Logic Apps sistemler arasında ileti tabanlı tümleştirmeyi kolaylaştırır, arka uç hizmetlerine yönelik çağrıları düzenler ve bağlayıcılar aracılığıyla bağlantı sağlar. Bu yaklaşım özel kod gereksinimini azaltır.

    • 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. API Management ayrıca istemcilerin API'leri bulmasına ve api'lerle etkileşim kurmasına yönelik bir geliştirici portalı sağlar. Bu mimaride API Management, istemcilere tutarlı bir arabirim sağlayan arka uç hizmetleri için bir cephe sağlar. Ayrıca hız sınırlama, kimlik doğrulaması ve arka uç hizmetlerinde önbelleğe alma gibi özellikler de sağlar.

  • Azure DNS, Alan Adı Sistemi (DNS) alan adları için bir barındırma hizmetidir. Bu mimaride Azure DNS API Management hizmeti için genel DNS kayıtlarını barındırıyor. DNS barındırma ile istemciler, DNS adını API Management hizmetinin IP adresine çözümler.

  • 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. Bu mimaride Microsoft Entra ID, OAuth 2.0 kullanarak API Management hizmetinin ve Microsoft Entra External ID kullanarak geliştirici portalının güvenliğini sağlar.

  • Azure Key Vault gizli dizileri, şifreleme anahtarlarını ve sertifikaları güvenli bir şekilde depolamaya ve yönetmeye yönelik bir bulut hizmetidir. bu mimaride, Key Vault Logic Apps ve API Management için merkezi gizli depolama sağlar.

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 iş akışlarını ve API Management'ı düzenleyip API katalogları oluşturmak için Logic Apps kullanılır.

Bu mimaride mantıksal uygulamaları API olarak içeri aktararak bileşik API'ler oluşturursunuz. OpenAPI (Swagger) belirtimlerini içeri aktararak veya Web Hizmetleri Açıklama Dili (WSDL) belirtimlerinden SOAP API'lerini içeri aktararak da 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 uca ulaşmadan önce 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 çapraz kesme sorunlarını da ele alır.

Olası kullanım örnekleri

Bu mimari, arka uç hizmetlerine yapılan zaman uyumlu çağrıların iş akışını tetiklediği temel tümleştirme senaryoları için yeterlidir. Kuyrukları ve olayları kullanan daha gelişmiş bir mimari, bu temel mimariyi temel alır. Daha fazla güvenilirlik ve ölçeklenebilirlik için ileti kuyruklarını ve olaylarını kullanarak arka uç sistemlerini birbirinden ayırın.

Öneriler

Aşağıdaki önerileri çoğu senaryoya uygulayabilirsiniz. Bu önerileri geçersiz kılan belirli bir gereksiniminiz olmadığı sürece izlemeniz önerilir.

API Yönetimi

API Management'ın sekiz katmanı vardır. Bu katmanlar bir üretim hizmet düzeyi sözleşmesi (SLA) sağlar ve Azure bölgesinde ölçeği genişletmeyi destekler.

Bu çözüm için API Management Tüketim katmanını önermeyiz. Bu mimarinin gerektirdiği geliştirici portalını veya Microsoft Entra tümleştirmesini desteklemez.

Geliştirici katmanı özellikle üretim dışı ortamlara yöneliktir ve üretim iş yükleri için önerilmez.

API Management, aktarım hızı kapasitesini birimler halinde ölçer. Her fiyatlandırma katmanında maksimum ölçek genişletme vardır. Premium katmanı, birden çok Azure bölgesinde ölçeği genişletmeyi destekler. Özellik kümenize ve gerekli aktarım hızı düzeyine göre katmanınızı seçin. Daha fazla bilgi için aşağıdaki makalelere bakın:

Her bir API Management örneği, azure-api.net gibi bir alt etki alanı olan varsayılan bir etki alanı adına sahiptir. Kuruluşunuz için özel bir etki alanı yapılandırmayı göz önünde bulundurun.

Mantık Uygulamaları

Logic Apps, eşzamansız veya orta düzeyde çalışma sürelerine sahip API çağrıları gibi düşük gecikme süresi gerektirmeyen yanıt senaryolarında en iyi şekilde çalışır. Kullanıcı arabirimini engelleyen bir çağrıda olduğu gibi düşük gecikme süresi gerekiyorsa farklı bir teknoloji kullanın. Örneğin, Azure App Service için dağıtılan İşlevler'i veya bir web API'sini kullanın. API Management'ı kullanarak API'yi API tüketicilerinizin kullanımına sunun.

Bölge

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 veya arka uç hizmetlerinize en yakın bölgeyi seçin.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke kümesi olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Well-Architected Framework.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesine yardımcı olur. Daha fazla bilgi için bkz. Güvenilirlikiçin tasarım gözden geçirme denetim listesi .

Her hizmet için SLA'ları gözden geçirin.

API Management'ın Premium katmanını iki veya daha fazla bölgeye dağıtırsanız, API Management daha yüksek bir SLA için uygundur. Daha fazla bilgi için bkz . API Management fiyatlandırması.

Yedekler

API Management yapılandırmanızı düzenli olarak yedekleyin. Yerleşik yedekleme ve geri yükleme özelliği yalnızca klasik Geliştirici, Temel, Standart ve Premium katmanlarında kullanılabilir. Tüketim katmanı ve v2 katmanları bunu desteklemez. v2 dağıtımları için, kurtarılabilirliği sağlamak için kod olarak altyapı (IaC) yaklaşımını benimseyin. Yedekleme dosyalarınızı, hizmeti dağıttığınız bölgeden farklı bir konumda veya Azure bölgede depolayın. Kurtarma süresi hedefinize (RTO) bağlı olarak bir olağanüstü durum kurtarma (DR) stratejisi seçin:

  • BIR DR 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 o örneğe geri yüklemeler yapın ve bunu düzenli olarak tekrarlayın. Bir DR 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ızdan, bu yaklaşım ek maliyetler gerektirir ancak kurtarma süresini azaltır.

Logic Apps için, yedekleme ve geri yükleme için kod olarak yapılandırma (CAC) yaklaşımını öneririz. Mantıksal uygulamalar sunucusuz olduğundan, bunları IaC şablonlarından hızla yeniden oluşturabilirsiniz. Şablonları kaynak denetimine kaydedin ve şablonları sürekli tümleştirme ve sürekli dağıtım (CI/CD) işleminizle tümleştirin. BIR DR 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. 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ımına karşı güvence sağlar. Daha fazla bilgi için bkz. Güvenlik için Tasarım Gözden Geçirme Denetim Listesi.

Bu liste tüm en iyi güvenlik uygulamalarını kapsamaz. Bu mimari için aşağıdaki güvenlik konuları geçerlidir:

  • Logic Apps uç noktalarına erişimi yalnızca API Management'ın IP adresiyle kısıtlayın. Klasik (v2 olmayan) katmanlarda API Management'ın sabit bir genel IP adresi vardır. v2 katmanı kullanıyorsanız statik IP adresi sağlanmadı. Bu durumda, IP adresi tabanlı erişim kısıtlamaları için Azure DNS içeren özel bir etki alanı gibi alternatif yaklaşımları göz önünde bulundurun. 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 rol tabanlı erişim denetimi (Azure RBAC) Azure kullanın.

  • OAuth veya OpenID Connect (OIDC) 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ı ayarlayı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 API koruma.

  • karşılıklı sertifikalar kullanarak API Management'tan arka uç hizmetlerine bağlanın.

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

Gizli sırları 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.

Bir mantıksal uygulama hassas verilerle çalışıyorsa, Logic Apps'te iş akışları için güvenli erişim ve veri konusuna bakın.

API Management, adlandırılmış değerler veya özellikler olarak adlandırılan nesneleri kullanarak sırları 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. API Management ilkelerinde adlandırılmış değerleri kullanma.

Parolaları, API anahtarlarını, bağlantı dizelerini ve sertifikaları merkezi olarak depolamak ve yönetmek için Key Vault kullanın. Key Vault, ayrıntılı erişim denetimi ve denetim günlüğü ile güçlendirilmiş, şifrelenmiş gizli bilgiler deposu sağlar. Logic Apps, yönetilen kimlikleri veya yerleşik Key Vault bağlayıcısını kullanarak Key Vault gizli anahtarlarını alabilir ve API Management adlı değerler Key Vault gizli anahtarlarına doğrudan referansları destekler. Bu yaklaşım, hassas yapılandırmayı uygulama kodu ve dağıtım şablonlarının dışında tutar. Daha fazla bilgi için bkz. Uygulama sırlarını korumaya yönelik Well-Architected Framework kılavuzu.

Maliyet İyileştirme

Maliyet İyileştirme, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarına odaklanır. Daha fazla bilgi için bkz. Maliyet İyileştirmeiçin tasarım gözden geçirme denetim listesi.

Maliyetleri tahmin etmek için Azure fiyatlandırma hesaplayıcısı kullanın.

API Yönetimi

Azure, çalışmakta olan tüm API Management örnekleri için ücret alır. Ölçeği artırmanız ve bu performans düzeyine her zaman ihtiyacınız yoksa, manuel olarak ölçeği azaltın veya otomatik ölçeklendirmeyi etkinleştirin.

Mantık Uygulamaları

Logic Apps Tüketim planı, eylem ve bağlayıcı çalıştırmalarını temel alarak maliyeti hesaplamak için sunucusuz faturalama modeli kullanır. Logic Apps Standard (tek kiracılı) kullanıyorsanız maliyetleri barındırma planı belirler. Daha fazla bilgi için bkz. Logic Apps fiyatlandırması.

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 Operasyonel Mükemmellik için Tasarım Gözden Geçirme Denetim Listesi'ne bakın.

DevOps

Üretim ve geliştirme/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.

  • Access: Bir gruptaki kaynaklara erişim ilkeleri uygulamak için Azure RBAC kullanabilirsiniz.

  • Fatura: Kaynak grubunun toplama maliyetlerini görüntüleyebilirsiniz.

  • API Management için fiyatlandırma katmanı: Geliştirme/test ortamları için Geliştirici katmanını kullanın. Ön üretim sırasında maliyetleri en aza indirmek için üretim ortamınızın bir kopyasını dağıtın, testlerinizi yapın ve kopyayı kapatın.

Dağıtım

Azure kaynaklarını dağıtmak ve IaC işlemini izlemek için ARM şablonları kullanın. Şablonlar, Azure DevOps hizmetleri 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ın ve her aşamada doğrulamalar çalıştırın. Bu yaklaşımı kullanırsanız, güncelleştirmeleri üretim ortamlarınıza yüksek denetimli bir şekilde gönderebilirsiniz ve tahmin edilmeyen dağıtım sorunlarını en aza indirebilirsiniz. Canlı üretim ortamlarını güncelleştirmek için mavi-yeşil dağıtım veya kanarya sürümlerini kullanın. Bir dağıtımın başarısız olduğu zaman için iyi bir geri alma stratejisi düşünün. Ö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 komutundaki az deployment group create bayrağı parametresi, geçerli dağıtım başarısız olursa dağıtım geçmişinizden daha önceki başarılı bir dağıtımı otomatik olarak yeniden dağıtabilir.

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

API Management'ı ve tüm tek tek mantıksal uygulamaları kendi ayrı IaC şablonlarına yerleştirin. Ayrı şablonlarla 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 ARM şablonu aracılığıyla bir güncelleştirme dağıttığınızda, Azure bu sürümün ve çalıştırma geçmişi olan tüm sürümlerin bir kopyasını 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ümlerle, API tüketicileri v1, v2, önizleme veya üretim gibi ihtiyaçlarına göre bir API sürümü seçebilir.

  • Düzeltmelerle API yöneticileri API'de bölünemez değişiklikler yapabilir ve api tüketicilerini bilgilendirmek için bir değişiklik günlüğüyle birlikte bu değişiklikleri dağıtabilir.

Arm ş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ılar için kullanılabilir hale getirmeden önce API'yi test etmek için düzeltmeleri de kullanabilirsiniz. Yük testi veya tümleştirme testi için bu yöntemi önermiyoruz. Bunun yerine ayrı test veya üretim öncesi ortamları kullanın.

Tanılama ve izleme

API Management ve Logic Apps'teki işlemleri izlemek için Azure Monitor kullanın. Azure Monitor, her hizmet için ayarladığınız ölçümlere göre bilgi sağlar ve varsayılan olarak etkindir. Daha fazla bilgi için aşağıdaki makalelere bakın:

Her hizmet şu seçeneklere de sahiptir:

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

  • DevOps izleme için API Management için Azure Application Insights'ı ayarlayın.

  • API Management, özel API analitikleri 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 raporları iş kullanıcıları için kullanılabilir hale getirir.

Performans Verimliliği

Performans Verimliliği, iş yükünüzün kullanıcı taleplerini verimli bir şekilde karşılayacak şekilde ölçeklendirebilmesini ifade eder. Daha fazla bilgi için bkz. Performans Verimliliğiiçin Tasarım gözden geçirme denetim listesi.

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 sağlamak için Azure bir bölgedeki API Management Basic, Standard 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 sürebilir.

API Management hizmetini ölçeklendirmeye yönelik öneriler:

  • Ölçeklendirme yaparken trafik eğilimlerini göz önünde bulundurun. Daha değişken trafik desenlerine sahip müşterilerin daha fazla kapasiteye ihtiyacı vardır.

  • %66'dan büyük tutarlı kapasite, ölçeği artırma gereksinimini gösterebilir.

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

  • Üretimde yükü etkinleştirmeden önce, API Yönetim Hizmetinizi her zaman temsili bir yük ile yük testine tabi tutun.

Premium katmanıyla bir API Management örneğini birden çok Azure bölgede ölçeklendikleyebilirsiniz. Bu yapılandırma API Management'ı daha yüksek bir SLA için uygun hale getirir. Ayrıca, birden çok bölgede kullanıcılara yakın hizmetler de sağlayabilirsiniz.

Logic Apps sunucusuz modeli, yöneticilerin hizmet ölçeklenebilirliğini planlama gereksinimini ortadan kaldırır. Hizmet, talebi karşılamak için otomatik olarak ölçeklendirilir.

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Asıl yazar:

  • Karl Rissland | Çözüm Mühendisi, Azure Yapay Zeka ve Uygulamalar

Diğer katkıda bulunan:

Gizli LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar