Bu makalede, Azure Batch kullanarak Azure'da Finansal Hizmet Sektörü (FSI) iş yüklerini çalıştırmaya yönelik temel mimari açıklanmaktadır.
Mimari
Bu mimari diyagramı içeren Visio dosyasını indirin.
İş Akışı
Bu örnek senaryoda Azure Batch kullanarak Azure'da FSI iş yüklerinin nasıl çalıştırılacakları gösterilmektedir. Aşağıda izleyebileceğiniz tipik bir iş akışı verilmiştir:
- VPN Gateway kullanarak özel ağa bağlanın. Alternatif olarak, Azure Bastion'ı kullanarak sıçrama kutusu VM'lerine RDP veya SSH. Her iki yaklaşım da özel ağa bağlanmak için kullanılabilir.
- Azure CLI, Azure Depolama Gezgini veya
azcopy
kullanarak işlenmek üzere veri kümelerini depolama hesabına yükleyin. - Azure CLI, Batch Explorer veya diğer araçları kullanarak verileri Batch hizmetine işlemek için işleri gönderin. Bu örnek dağıtım için, işleri göndermek için de kullanabileceğiniz özel bir komut satırı aracı geliştirdik.
- Havuza işlem düğümleri eklemek için havuzu yeniden boyutlandırın. Varsayılan olarak, dağıtım işlem düğümü olmayan bir havuz oluşturur.
- Sonuçları depolama hesabından indirin. İş tamamlandıktan sonra sonuçlar depolama hesabında depolanır. Bu sonuçlar daha sonra Azure CLI, Azure Depolama Gezgini veya
azcopy
kullanılarak indirilebilir.
Bileşenler
Bu mimari çeşitli Azure hizmetlerinden oluşur ve iki kaynak kategorisine ayrılmıştır: merkez kaynakları ve uç kaynakları. Merkez-uç ağ topolojisi hakkında daha fazla ayrıntı bu makalenin devamında sağlanmıştır. Her birinin ve rollerinin hizmetleri aşağıdaki bölümlerde açıklanmıştır.
Hub kaynakları
Merkez ağında dağıtılan kaynaklara bakarak başlayalım. Bu paylaşılan kaynaklar uç ağı ile dış dünya arasındaki iletişimi etkinleştirir, filtreler ve izler.
Aşağıdaki kaynaklar hub ağına dağıtılır:
Azure Güvenlik Duvarı, ağ için ağ düzeyinde koruma sağlar. Güvenlik duvarı, ağ içinde ve dışında yalnızca belirli trafiğe izin verecek şekilde yapılandırılır. Bu yapılandırma ağın kötü amaçlı saldırılardan korunmasına ve ağdan gelen ve giden trafiğin izlenmesine yardımcı olur. Kurallar, işletmenize özgü kurallar ve düzenlemelere göre güncelleştirilmelidir.
Azure VPN Gateway , genel İnternet'ten merkez ağına bağlanmanın iki yolu vardır. Diğer yol, Azure Bastion hizmetini kullanmaktır. VPN ağ geçidine, VPN istemcilerinin genel İnternet'ten bağlanabilmesi için bir genel IP adresi atanır.
Azure Bastion , genel İnternet'ten sıçrama kutularına bağlanmanın iki yolu vardır. Diğer yol ISE VPN Gateway kullanmaktır. Azure Bastion, merkez ağına dağıtılır ve kullanıcıların genel İnternet'ten bağlanabilmesi için bir genel IP adresi atanır.
Linux Jumpbox , dağıtılan kaynaklara erişmek, işleri göndermek ve ilerleme durumlarını izlemek için önceden yüklenmiş araçlara sahip bir Linux VM'dir. Sıçrama kutusu hub ağına dağıtılır ve VPN ağ geçidi veya Azure Bastion kullanılarak şirket içi ağdan erişilebilir.
Windows Jumpbox , dağıtılan kaynaklara erişmek, işleri göndermek ve ilerleme durumlarını izlemek için önceden yüklenmiş araçlara sahip bir Windows VM'dir. Sıçrama kutusu hub ağına dağıtılır ve VPN ağ geçidi veya Azure Bastion kullanılarak şirket içi ağdan erişilebilir.
Log Analytics Çalışma Alanı günlüklerin toplanmasını sağlar. Mümkün olduğunda, dağıtılan kaynaklar günlükleri çalışma alanına kaydedecek şekilde yapılandırılır. Günlükler, kaynakları izlemek ve sorunları gidermek için kullanılır. Azure Uygulaması lication Insights ile birleştirildiğinde, dağıtılan kaynaklar için performans izleme ve sorun giderme özellikleri sağlar.
Azure DNS Özel Çözümleyicisi , sağlanan sanal ağın dışında( örneğin şirket içi kaynaklardan) sorgulanırsa özel uç noktaların IP'lerini çözümlemek için bir gelen uç nokta sağlar. Azure VPN ağ geçidi dağıtıldığında DNS Özel Çözümleyicisi dağıtılır.
Uç kaynakları
Şimdi uç ağında dağıtılan kaynaklara bakalım. Bu kaynaklar, hesaplama iş yüklerini ve tüm destekleyici kaynakları çalıştırmaya yardımcı olur.
Uç ağında dağıtılan kaynaklar aşağıdaki gibidir:
Azure Batch , mimarimizin bulutta yerel iş zamanlama ve yürütme için temel hizmettir. Azure Batch gerekli işlem kaynaklarını yönetir, işlem kaynaklarındaki görevleri zamanlar ve tamamlanmak üzere görevleri izler. Batch hizmeti iki havuzla dağıtılır: Linux işlem düğümleri ile adlı
linux
bir havuz ve Windows işlem düğümleriyle adlıwindows
bir havuz. Havuzlar aşağıdakileri yapacak şekilde yapılandırılır:- Kullanıcı abonelik havuzu ayırma modunu kullanır. Batch hizmeti tarafından dahili olarak kullanılan tüm kaynaklar Batch hesabıyla aynı abonelik altında ayrılır ve aboneliğe özgü kotaları ve ilkeleri kullanır.
- Uç ağında karşılık gelen alt ağları kullanırlar, böylece alt ağın adres aralığından adres alanı atanır. Ayrıca, bu alt ağlarda ayarlanan tüm ağ güvenlik grubu (NSG) kurallarının ve trafik iletme kurallarının işlem düğümlerine de uygulandığı anlamına gelir.
- İşlem düğümlerinin genel İnternet'ten doğrudan erişilebilir olmadığından emin olmak için işlem düğümlerine genel IP adresleri atamaz.
- Başlatma sırasında desteklenen depolama kaynaklarını işlem düğümlerine takarak işlem notlarında yürütülen iş yüklerinin paylaşılan depolama kaynaklarına erişmesini kolaylaştırır.
- İşlem düğümlerinin kimliğini depolama hesabı, Container Registry ve toplu iş havuzuna katıldığında diğer tüm kaynaklarla doğrulamak için kullanıcı tarafından atanan yönetilen kimlik kullanırlar. Bunun yapılması, işlem düğümlerinin kimlik doğrulamasının parolalar veya anahtarlar yerine sertifikalar kullanılarak yapıldığından emin olur.
Azure Key Vault , Batch hesabı sertifikaları gibi dağıtım gizli dizilerini depolar. Bu sertifikalar, toplu iş havuzuna katılırken işlem düğümü kaynaklarının kimliğini doğrulamak için kullanılır. Anahtar kasası uç ağına dağıtılır ve yalnızca Batch hizmetinden erişime izin verecek şekilde yapılandırılır. Bu yapılandırma, sertifikaların genel İnternet'ten erişilebilir olmamasını sağlar.
Azure Depolama giriş ve çıkış verilerini depolar. Dağıtım iki depolama hesabı oluşturur: biri blob depolama, biri de dosya depolaması için. Blob depolama hesabı, NFS kullanılarak Linux havuzuna bağlanır. Dosya depolama hesabı, SMB kullanılarak hem Linux hem de Windows havuzuna bağlanır.
Azure Container Registry , toplu işlem düğümleri tarafından kullanılan kapsayıcı görüntülerini depolar. Kapsayıcı kayıt defterinin özel dağıtımının kullanılması, kapsayıcı görüntülerine erişimi denetlemeye yardımcı olur ve ayrıca kapsayıcı görüntülerini depolamak için daha güvenli bir yol sağlar. Kapsayıcı kayıt defteri uç ağına dağıtılır ve yalnızca Batch hizmetinden erişime izin verecek şekilde yapılandırılır. Bu yapılandırma, kapsayıcı görüntülerinin genel İnternet'ten erişilebilir olmamasını sağlar.
Azure Yönetilen Kimlik , Container Registry, depolama hesapları ve diğer kaynaklarla havuzlara otomatik olarak eklenen işlem düğümlerinin kimliğini doğrulamak için kullanılır.
Alternatifler
Kapsayıcılı uygulamalar için benzer bir yapılandırma için Azure Batch hizmeti yerine Azure Kubernetes Service (AKS) kullanılabilir.
Azure CycleCloud , Azure'da yüksek performanslı bilgi işlem (HPC) kümelerini yönetmek için kullanılabilir. Bu tür HPC kümeleri, bu makalede hedeflenenlere benzer iş yüklerini çalıştıracak şekilde ayarlanabilir.
Senaryo ayrıntıları
FSI'daki yaygın bilgi işlem desenlerinden biri, bir finansal aracı veya finansal araç portföyünü niteleyen bir giriş veri kümesinde çok sayıda işlem yoğunluklu simülasyon çalıştırmaktır. Simülasyonlar genellikle paralel olarak çalıştırılır ve sonuçlar, portföyün risk profilinin özetini oluşturmak için toplanır.
Bu mimari belirli bir iş yüküne odaklanmıyor, yoğun işlem yoğunluklu simülasyonlar çalıştırmak için Azure Batch kullanmak isteyen uygulamalara odaklanıyor. Tüm üretim dağıtım mimarileri, iş yükünün ve iş ortamının belirli gereksinimlerini karşılayacak şekilde özelleştirilmelidir. Bu mimarinin, üretim öncesi ve üretim dağıtımları için bu tür özelleştirmeler için bir başlangıç noktası olarak kullanılması amaçlanmıştır.
Olası kullanım örnekleri
Bu mimari, çok çeşitli FSI iş yüklerini çalıştırmak için kullanılabilir. Bazı Örnekler:
- Finansal araçlar portföyünün risk analizi
- Monte Carlo, finansal bir enstrümanın değerini tahmin etmek için simülasyonlar
- Ticaret stratejilerinin geri testi
- Finansal araçlar portföyünün stres testi
Ağ topolojisi
Bu mimaride merkez-uç ağ topolojisi kullanılır. Merkez ve uç kaynakları, sanal ağ eşlemesi aracılığıyla bağlanan ayrı sanal ağlara dağıtılır. Merkez ağı güvenlik duvarları, VPN ağ geçitleri ve atlama kutuları gibi paylaşılan kaynakları içerir. Uç ağı Batch hizmetini ve Batch işlem düğümlerini içerir. Ayrıca depolama hesapları, Container Registry gibi iş yükü tarafından gereken diğer hizmet uç noktalarını da içerir. Uç ağı genel İnternet'ten yalıtılır ve yalnızca merkez ağından erişilebilir.
Ağ topolojisinin bazı önemli noktaları şunlardır:
- Uç üzerindeki kaynaklar genel İnternet'ten yalıtılır ve yalnızca merkez ağından erişilebilir, bu da kaynakların genel İnternet'e doğrudan maruz kalmasını en aza indirir.
- Havuz işlem düğümlerinden gelen trafik de dahil olmak üzere tüm giden trafik, tüm giden trafiğin filtrelendiğinden, günlüğe kaydedildiğinden ve izlendiğinden emin olan bir güvenlik duvarı üzerinden yönlendirilir.
- Güvenlik duvarı yalnızca izin verilenler listesine alınan trafiğe izin verecek şekilde yapılandırılır ve bu da sanal ağdan yalnızca izin verilenler listesine alınan trafiğin dışarı çıkabilmesini sağlar.
- Uç ağındaki kaynaklara erişim isteğe bağlı olarak dağıtılan VPN Gateway veya Azure Bastion aracılığıyla etkinleştirilir. Her ikisi de genel İnternet'ten hub ağına bağlanmak için güvenli yollar sağlar.
- Windows ve Linux sıçrama kutuları dağıtılan kaynaklara erişmek, işleri göndermek ve ilerleme durumunu izlemek için önceden yüklenmiş araçlarla sağlanır. Bu sıçrama kutuları hub ağına dağıtılır ve VPN ağ geçidi veya Azure Bastion kullanılarak şirket içi ağdan erişilebilir.
- Tüm Azure hizmetleri, bunlara genel uç noktalar üzerinden erişmek yerine özel ağ üzerinden erişildiğinden emin olmak için özel uç noktaları kullanır. Bu yapılandırma, hizmetlerin genel İnternet'ten erişilebilir olmamasını sağlamaya da yardımcı olur.
- NSG kuralları yalnızca sanal ağ içinde ve dışında gerekli trafiğe izin verecek şekilde ayarlanır. Bu yapılandırma ağın kötü amaçlı saldırılardan korunmasına ve ağdan gelen ve giden trafiğin izlenmesine yardımcı olur. Bu kurallar, sanal ağdaki kaynaklar arasındaki trafiği bile kısıtlar.
Merkez sanal ağı
Merkez sanal ağı, uç ağına gelen ve giden trafiğe izin veren veya trafiği izleyen kaynaklar içerir. Sanal ağ, dağıtım şablonunda aşağıdaki alt ağları tanımlar:
GatewaySubnet
: Dağıtıldıysa VPN ağ geçidi alt ağıAzureBastionSubnet
: Dağıtıldıysa Azure Bastion hizmetinin alt ağıAzureFirewallSubnet
: Azure Güvenlik Duvarı hizmetinin alt ağısn-jumpbox
: Sıçrama kutuları için alt ağsn-dnspr
: Azure DNS çözümleyicisine devredilen alt ağ
Uç sanal ağı
Uç sanal ağı Batch hizmetini, Batch işlem düğümlerini ve iş yükünün ihtiyaç duyduğu diğer hizmet uç noktalarını içerir. Sanal ağ, dağıtım şablonunda aşağıdaki alt ağları tanımlar:
pool-linux
: Linux havuzu için alt ağpool-windows
: Windows havuzu için alt ağprivate-endpoints
: Uç ağında dağıtılan Azure hizmetleri için özel uç noktalar için kullanılan alt ağ
Uç ağı, uç ağındaki kaynakların merkez ağındaki kaynaklara erişmesini sağlayan merkez ağıyla eşlenmiştir. Rota tabloları, uç arasındaki trafiğin güvenlik duvarı üzerinden yönlendirildiğinden emin olmak için ayarlanır.
Kaynaklara erişme
Batch hizmetine işlem işleri göndermek için Batch hizmet uç noktasına bağlanarak işleri gönderin ve ilerleme durumunu izleyin. Batch hizmeti özel uç noktaları kullanacak şekilde ayarlandığından, yalnızca ağ içinden erişilebilir.
Mimari, Batch hizmetine iş gönderebilmeniz için ağa bağlanmak için iki seçenek sağlar:
VPN Gateway'i kullanın. VPN ağ geçidi kullanarak merkez ağına bağlanın. VPN'ye bağlandıktan sonra, yerel makineden batch hizmetine doğrudan iş gönderebilirsiniz ve bu da yerel makinede yüklü Batch Gezgini'ni kullanarak işleri izlemeyi kolaylaştırır. Bu yapılandırma için Azure CLI, Batch Explorer ve diğer araçların yerel makineye yüklenmesi gerekir. Alternatif olarak, VPN'ye bağlandıktan sonra, Batch hizmetine iş göndermek için Linux veya Windows Sıçrama Kutuları'nı kullanabilirsiniz. Bunu yapmak için yerel makinede yüklü bir SSH istemciniz veya RDP istemciniz olması gerekir.
Azure Bastion'ın kullanımı. VPN kullanmak yerine Azure Bastion'ı kullanarak Linux veya Windows Jumpbox'larda oturum açabilirsiniz. Azure portalında oturum açın ve ardından doğrudan web tarayıcısından sıçrama kutusu VM'sinde oturum açmak için Azure Bastion'ı kullanın. Sıçrama kutusunda oturum açtıktan sonra, Azure CLI, Batch Gezgini ve sıçrama kutusuna yüklenen diğer araçları kullanarak Batch hizmetine iş gönderebilirsiniz.
Dikkat edilmesi gereken noktalar
Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek 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.
Bu örnek iş akışında, otomatikleştirme için henüz hazır olmayan iş yükleri için iyi bir başlangıç noktası olarak el ile veri aktarımını ve işlerin gönderilmesini kullanırız. Ancak üretim iş yükleri için, Azure Data Factory veya diğer iş akışı düzenleme araçları kullanılarak yapılabilecek veri aktarımını ve iş gönderimini otomatikleştirmenizi öneririz.
Toplu iş havuzları, havuza gönderilen iş sayısına göre ölçeği otomatik olarak artırıp azaltacak şekilde ayarlanabilir. Bu yapılandırma, çalıştırılacak iş olmadığında havuzu çalıştırma maliyetini azaltmaya yardımcı olur. Daha fazla bilgi için bkz . Azure Batch havuzunda işlem düğümlerini otomatik olarak ölçeklendirme.
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ış.
Parolalar ve anahtarlar gibi gizli dizilerin paylaşımını en aza indirmek için mimari, işlem düğümlerinin kimliğini depolama hesabı, Container Registry ve toplu iş havuzuna katılan diğer kaynaklarla doğrulamak için yönetilen kimlikleri kullanır. Bu kimlik doğrulaması, yönetilen kimlikleri toplu iş havuzlarına atayarak ve ardından yönetilen kimliklere kaynaklara erişim vererek yapılır. Yönetilen kimliklere, rol tabanlı erişim denetimi kullanılarak kaynaklara erişmek için gereken en düşük ayrıcalık verilebilir.
Mimari ayrıca hizmetlere genel İnternet'ten erişilebildiğinden emin olmak için özel uç noktaları kullanır. Bu yapılandırma, saldırı yüzeyini en aza indirmeye yardımcı olur ve ayrıca hizmetlere genel uç noktalar üzerinden erişmek yerine özel ağ üzerinden erişilmesini sağlamaya yardımcı olur.
Mimari ayrıca ağ içindeki ve giden trafiği filtrelemek ve izlemek için Azure Güvenlik Duvarı kullanır. Güvenlik duvarı yalnızca izin verilenler listesine alınan trafiğe izin verecek şekilde yapılandırılır ve bu da sanal ağdan yalnızca izin verilenler listesine alınan trafiğin dışarı çıkabilmesini sağlar. Bu yapılandırma ağı kötü amaçlı saldırılardan korumaya yardımcı olur ve ağ içindeki ve giden trafiği izler.
İşlem düğümlerine genel IP adresleri atanmadığından işlem düğümlerine genel İnternet'ten erişilemez.
Maliyet iyileştirme
Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.
Azure Batch'in kendisi ücretsiz bir hizmettir ve müşteriler yalnızca temel alınan sanal makine, depolama ve ağ maliyetleri için ödeme alır. Bu iş yükünde işlem düğümlerinin yanı sıra depolama hesabı, sıçrama kutuları, VPN Gateway ve Azure Bastion da maliyete neden olan diğer kaynaklardır. İş yükü kaynaklara erişim için alternatifleri destekleyecek şekilde tasarlandığından, bu yollardan biri seçilerek çalıştırma maliyeti iyileştirilebilir. Örneğin kaynaklara erişmek için VPN Gateway tercih edilirse Azure Bastion ve sıçrama kutusu VM'leri dağıtım sırasında devre dışı bırakılarak maliyeti düşürebilir.
İşlem kaynaklarıyla ilişkili maliyetleri azaltmaya yardımcı olmak için, iş yükü için daha uygun maliyetli VM SKU'larını kullanın. Ayrıca spot örnekleri veya havuz otomatik ölçeklendirmesi kullanmak, işlem düğümleriyle ilişkili maliyetleri azaltmaya yardımcı olabilir.
Bu iş yükünü çalıştırmanın maliyetini belirlemek için bkz . Azure fiyatlandırma hesaplayıcısı.
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ış.
Batch ile performans verimliliği, iş yükü için doğru VM SKU'ları kullanılarak elde edilir. İş yükü için doğru VM SKU'larını seçme hakkında ayrıntılı bilgi için Azure işlem birimine bakın. İşlem düğümleri için VM boyutunun seçilmesi, dağıtım bölgesine göre doğru VM SKU'larını seçme konusunda daha fazla rehberlik sağlar.
Bu senaryoyu dağıtın
Bu başvuru mimarisi için kod olarak altyapı (IaC) kaynak kodu Azure Batch hızlandırıcısı deposunda kullanılabilir. Dahil edilen öğreticilerde bu başvuru mimarisinin nasıl dağıtılacağı ve adlı azfinsim
örnek bir FSI iş yükünü çalıştırmak için nasıl kullanılacağı gösterilmektedir. Azure portalını kullanarak aboneliğinizin altındaki kaynakları dağıtmak için aşağıdaki düğmeyi de kullanabilirsiniz:
Katkıda Bulunanlar
Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Asıl yazarlar:
- Utkarsh Ayachit | Asıl Program Yöneticisi
- Darko Mocelj | EMEA HPC & AI Sr. Teknoloji Uzmanı
Sonraki adımlar
- Azure Batch nedir?
- Azure Sanal Ağ nedir?
- Azure Depolama hesapları
- Batch ve Data Factory kullanarak veri işleme
Learn modülleri