İş sürekliliği ve olağanüstü durum kurtarma için yük devretme
Çalışma sürenizi en üst düzeye çıkarmak için iş sürekliliğini korumak ve Azure Machine Learning ile olağanüstü durum kurtarma için hazırlanmak için önceden plan yapın.
Microsoft, Azure hizmetlerinin her zaman kullanılabilir olmasını sağlamaya çalışır. Ancak planlanmamış hizmet kesintileri oluşabilir. Bölgesel hizmet kesintilerini işlemek için bir olağanüstü durum kurtarma planı oluşturmanızı öneririz. Bu makalede şunları öğreneceksiniz:
- Azure Machine Learning'in ve ilişkili kaynakların çok bölgeli dağıtımını planlayın.
- Günlükleri, not defterlerini, docker görüntülerini ve diğer meta verileri kurtarma olasılığını en üst düzeye çıkarın.
- Çözümünüzün yüksek kullanılabilirliği için tasarım.
- Başka bir bölgeye yük devretme başlatın.
Önemli
Azure Machine Learning'in kendisi otomatik yük devretme veya olağanüstü durum kurtarma seçeneği sağlamaz. Çalışma geçmişi gibi çalışma alanı meta verilerini yedekleme ve geri yükleme kullanılamaz.
Çalışma alanınızı veya ilgili bileşenleri yanlışlıkla sildiyseniz, bu makalede şu anda desteklenen kurtarma seçenekleri de sağlanır.
Azure Machine Learning için Azure hizmetlerini anlama
Azure Machine Learning, birden çok Azure hizmetini temel alır. Bu hizmetlerden bazıları aboneliğinizde sağlanır. Bu hizmetlerin yüksek kullanılabilirlik yapılandırmasından siz sorumlusunuz. Diğer hizmetler bir Microsoft aboneliğinde oluşturulur ve Microsoft tarafından yönetilir.
Azure hizmetleri şunları içerir:
Azure Machine Learning altyapısı: Azure Machine Learning çalışma alanı için Microsoft tarafından yönetilen bir ortam.
İlişkili kaynaklar: Azure Machine Learning çalışma alanı oluşturma sırasında aboneliğinizde sağlanan kaynaklar. Bu kaynaklar Azure Depolama, Azure Key Vault, Azure Container Registry ve Application Insights'tır.
- Varsayılan depolamada model, eğitim günlüğü verileri ve veri varlıklarına başvurular gibi veriler bulunur.
- Key Vault'ta Azure Depolama, Container Registry ve veri depoları için kimlik bilgileri bulunur.
- Container Registry'de eğitim ve çıkarım ortamları için bir Docker görüntüsü vardır.
- Application Insights, Azure Machine Learning'i izlemeye yöneliktir.
İşlem kaynakları: Çalışma alanı dağıtımı sonrasında oluşturduğunuz kaynaklar. Örneğin, Machine Learning modelini eğitmek için bir işlem örneği veya işlem kümesi oluşturabilirsiniz.
- İşlem örneği ve işlem kümesi: Microsoft tarafından yönetilen model geliştirme ortamları.
- Diğer kaynaklar: Azure Kubernetes Service (AKS), Azure Databricks, Azure Container Instances ve Azure HDInsight gibi Azure Machine Learning'e ekleyebileceğiniz Microsoft bilgi işlem kaynakları. Bu kaynaklar için yüksek kullanılabilirlik ayarlarını yapılandırmak sizin sorumluluğundadır.
Diğer veri depoları: Azure Machine Learning, eğitim verileri için Azure Depolama ve Azure Data Lake Storage gibi diğer veri depolarını bağlayabilir. Bu veri depoları aboneliğiniz içinde sağlanır. Yüksek kullanılabilirlik ayarlarını yapılandırmak sizin sorumluluğundadır. Diğer veri deposu seçeneklerini görmek için bkz . Veri depoları oluşturma.
Aşağıdaki tabloda Azure hizmetlerinin Microsoft tarafından yönetildiği ve sizin tarafınızdan yönetildiği gösterilmektedir. Ayrıca, varsayılan olarak yüksek oranda kullanılabilir olan hizmetleri de gösterir.
Hizmet | Tarafından yönetilir | Varsayılan olarak yüksek kullanılabilirlik |
---|---|---|
Azure Machine Learning altyapısı | Microsoft | |
İlişkili kaynaklar | ||
Azure Depolama | Siz | |
Key Vault | Siz | ✓ |
Container Registry | Siz | |
Application Insights | Siz | NA |
İşlem kaynakları | ||
İşlem örneği | Microsoft | |
İşlem kümesi | Microsoft | |
AKS gibi diğer işlem kaynakları, Azure Databricks, Kapsayıcı Örnekleri, HDInsight |
Siz | |
Azure Depolama, SQL Veritabanı gibi diğer veri depoları PostgreSQL için Azure Veritabanı, MySQL için Azure Veritabanı, Azure Databricks Dosya Sistemi |
Siz |
Bu makalenin geri kalanında, bu hizmetlerin her birini yüksek oranda kullanılabilir hale getirmek için gerçekleştirmeniz gereken eylemler açıklanmaktadır.
Çok bölgeli dağıtımı planlama
Çok bölgeli dağıtım, iki Azure bölgesinde Azure Machine Learning ve diğer kaynakların (altyapı) oluşturulmasına dayanır. Bölgesel bir kesinti oluşursa diğer bölgeye geçebilirsiniz. Kaynaklarınızı nereye dağıtabileceğinizi planlarken şunları göz önünde bulundurun:
Bölgesel kullanılabilirlik: Mümkünse, aynı coğrafi bölgede bir bölge kullanın; en yakın bölge olması gerekmez. Azure Machine Learning'in bölgesel kullanılabilirliğini denetlemek için bkz . Bölgeye göre Azure ürünleri.
Azure eşleştirilmiş bölgeleri: Eşleştirilmiş bölgeler platform güncelleştirmelerini koordine eder ve gerektiğinde kurtarma çalışmalarını önceliklendirir. Ancak, tüm bölgeler eşleştirilmiş bölgeleri desteklemez. Daha fazla bilgi için bkz . Azure eşleştirilmiş bölgeleri.
Hizmet kullanılabilirliği: Çözümünüz tarafından kullanılan kaynakların sıcak/sıcak, sıcak/sıcak veya sıcak/soğuk olmasına karar verin.
- Sık erişimli/sık erişimli: Her iki bölge de aynı anda etkindir ve bir bölge hemen kullanılmaya hazırdır.
- Sık erişimli/sıcak: Birincil bölge etkin, ikincil bölgede başlamaya hazır kritik kaynaklar (örneğin, dağıtılan modeller) vardır. Kritik olmayan kaynakların ikincil bölgeye el ile dağıtılması gerekir.
- Sık erişimli/soğuk: Birincil bölge etkin, ikincil bölgede Azure Machine Learning ve diğer kaynakların yanı sıra gerekli veriler dağıtılır. Modeller, model dağıtımları veya işlem hatları gibi kaynakların el ile dağıtılması gerekir.
İpucu
İş gereksinimlerinize bağlı olarak, farklı Azure Machine Learning kaynaklarını farklı şekilde ele almak isteyebilirsiniz. Örneğin, dağıtılan modeller için sık/sık erişimli (çıkarım) ve denemeler için sık/soğuk (eğitim) kullanmak isteyebilirsiniz.
Azure Machine Learning, diğer hizmetlerin üzerine inşa eder. Bazı hizmetler diğer bölgelere çoğaltılacak şekilde yapılandırılabilir. Diğerlerini birden çok bölgede el ile oluşturmanız gerekir. Aşağıdaki tabloda, çoğaltmadan sorumlu hizmetlerin listesi ve yapılandırmaya genel bir bakış sağlanır:
Azure hizmeti | Coğrafi çoğaltma ölçütü | Yapılandırma |
---|---|---|
Machine Learning çalışma alanı | Siz | Seçili bölgelerde bir çalışma alanı oluşturun. |
Machine Learning işlem | Siz | Seçili bölgelerde işlem kaynaklarını oluşturun. Dinamik olarak ölçeklenebilen işlem kaynakları için her iki bölgenin de gereksinimleriniz için yeterli işlem kotası sağladığınızdan emin olun. |
Machine Learning kayıt defteri | Siz | Kayıt defterini birden çok bölgede oluşturun. |
Key Vault | Microsoft | Azure Machine Learning çalışma alanı ve her iki bölgede bulunan kaynaklar ile aynı Key Vault örneğini kullanın. Key Vault otomatik olarak ikincil bölgeye yük devreder. Daha fazla bilgi için bkz . Azure Key Vault kullanılabilirliği ve yedekliliği. |
Container Registry | Microsoft | Azure Machine Learning için kayıt defterlerini eşleştirilmiş bölgeye coğrafi olarak çoğaltmak için Container Registry örneğini yapılandırın. Her iki çalışma alanı örneği için de aynı örneği kullanın. Daha fazla bilgi için bkz . Azure Container Registry'de coğrafi çoğaltma. |
Depolama Hesabı | Siz | Azure Machine Learning coğrafi olarak yedekli depolama (GRS), coğrafi alanlar arası yedekli depolama (GZRS), okuma erişimli coğrafi olarak yedekli depolama (RA-GRS) veya okuma erişimli coğrafi alanlar arası yedekli depolama (RA-GZRS) kullanarak varsayılan depolama hesabı yük devretmesini desteklemez. Her çalışma alanının varsayılan depolama alanı için ayrı bir depolama hesabı oluşturun. Diğer veri depolama için ayrı depolama hesapları veya hizmetleri oluşturun. Daha fazla bilgi için bkz. Azure Depolama yedekliliği. |
Application Insights | Siz | Her iki bölgede de çalışma alanı için Application Insights oluşturun. Veri saklama süresini ve ayrıntılarını ayarlamak için bkz . Application Insights'ta veri toplama, saklama ve depolama. |
İkincil bölgede hızlı kurtarmayı ve yeniden başlatmayı etkinleştirmek için aşağıdaki geliştirme uygulamalarını öneririz:
- Azure Resource Manager şablonlarını kullanın. Şablonlar 'kod olarak altyapı'dır ve her iki bölgede de hizmetleri hızla dağıtmanıza olanak sağlar.
- İki bölge arasında kaymayı önlemek için sürekli tümleştirme ve dağıtım işlem hatlarınızı her iki bölgeye de dağıtacak şekilde güncelleştirin.
- Dağıtımları otomatikleştirdiğinizde, Azure Kubernetes Service gibi çalışma alanına ekli işlem kaynaklarının yapılandırmasını ekleyin.
- Her iki bölgede de kullanıcılar için rol atamaları oluşturun.
- Her iki bölge için de Azure Sanal Ağ ve özel uç noktalar gibi ağ kaynakları oluşturun. Kullanıcıların her iki ağ ortamına da erişebildiğinden emin olun. Örneğin, her iki sanal ağ için VPN ve DNS yapılandırmaları.
İşlem ve veri hizmetleri
Gereksinimlerinize bağlı olarak, Azure Machine Learning tarafından kullanılan daha fazla işlem veya veri hizmetiniz olabilir. Örneğin, Azure Kubernetes Services veya Azure SQL Veritabanı kullanabilirsiniz. Bu hizmetleri yüksek kullanılabilirlik için yapılandırmayı öğrenmek için aşağıdaki bilgileri kullanın.
İşlem kaynakları
- Azure Kubernetes Service: Bkz . Azure Kubernetes Service'te (AKS) iş sürekliliği ve olağanüstü durum kurtarma için en iyi yöntemler ve kullanılabilirlik alanlarını kullanan bir Azure Kubernetes Service (AKS) kümesi oluşturma. AKS kümesi Azure Machine Learning stüdyosu, SDK veya CLI kullanılarak oluşturulduysa bölgeler arası yüksek kullanılabilirlik desteklenmez.
- Azure Databricks: Bkz. Azure Databricks kümeleri için bölgesel olağanüstü durum kurtarma.
- Kapsayıcı Örnekleri: Bir düzenleyici yük devretmeden sorumludur. Bkz. Azure Container Instances ve kapsayıcı düzenleyicileri.
- HDInsight: Bkz. Azure HDInsight tarafından desteklenen yüksek kullanılabilirlik hizmetleri.
Veri hizmetleri
- Azure Blob kapsayıcısı / Azure Dosyalar / Data Lake Storage 2. Nesil: Bkz. Azure Depolama yedekliliği.
- Data Lake Storage 1. Nesil: Data Lake Storage 1. Nesil için bkz. Yüksek kullanılabilirlik ve olağanüstü durum kurtarma kılavuzu.
İpucu
Azure Machine Learning çalışma alanını dağıtmak için müşteri tarafından yönetilen kendi anahtarınızı sağlarsanız, Azure Cosmos DB aboneliğiniz içinde de sağlanır. Bu durumda, yüksek kullanılabilirlik ayarlarını yapılandırmak sizin sorumluluğundadır. Bkz. Azure Cosmos DB ile yüksek kullanılabilirlik.
Yüksek kullanılabilirliğe yönelik tasarım
Kullanılabilirlik alanları
Bazı Azure hizmetleri kullanılabilirlik alanlarını destekler. Kullanılabilirlik alanlarını destekleyen bölgelerde, bir bölge kapanırsa herhangi bir iş yükü duraklatılır ve verilerin kaydedilmesi gerekir. Ancak, bölge yeniden çevrimiçi olana kadar veriler yenilenemez.
Daha fazla bilgi için bkz. Kullanılabilirlik alanı hizmeti ve bölgesel destek.
Kritik bileşenleri birden çok bölgeye dağıtma
Hedeflediğiniz iş sürekliliği düzeyini belirleyin. Düzey, çözümünüzün bileşenleri arasında farklılık gösterebilir. Örneğin, üretim işlem hatları veya model dağıtımları için sık/sık erişimli bir yapılandırmaya ve denemeler için sık/seyrek erişimli yapılandırmaya sahip olmak isteyebilirsiniz.
Yalıtılmış depolamada eğitim verilerini yönetme
Veri depolama alanınızı çalışma alanının günlükler için kullandığı varsayılan depolama alanından yalıtarak şunları yapabilirsiniz:
- Birincil ve ikincil çalışma alanlarına veri depolarıyla aynı depolama örneklerini ekleyin.
- Veri depolama hesapları için coğrafi çoğaltmayı kullanın ve çalışma sürenizi en üst düzeye çıkarın.
Makine öğrenmesi varlıklarını kod olarak yönetme
Not
Çalışma geçmişi, modeller ve ortamlar gibi çalışma alanı meta verilerini yedekleme ve geri yükleme kullanılamaz. YAML belirtimlerini kullanarak varlıkları ve yapılandırmaları kod olarak belirtmek, olağanüstü durum durumunda çalışma alanlarında varlıkları yeniden oluşturmanıza yardımcı olur.
Azure Machine Learning'deki işler bir iş belirtiminde tanımlanır. Bu belirtim, ortamlar ve işlem de dahil olmak üzere çalışma alanı örneği düzeyinde yönetilen giriş yapıtlarına yönelik bağımlılıkları içerir. Çok bölgeli iş gönderimi ve dağıtımları için aşağıdaki uygulamaları öneririz:
Git deposu tarafından yedeklenen kod tabanınızı yerel olarak yönetin.
- Önemli not defterlerini Azure Machine Learning stüdyosu dışarı aktarın.
- Studio'da kod olarak yazılan işlem hatlarını dışarı aktarın.
Yapılandırmaları kod olarak yönetin.
- Çalışma alanına sabit kodlanmış başvurulardan kaçının. Bunun yerine, bir yapılandırma dosyası kullanarak çalışma alanı örneğine bir başvuru yapılandırın ve çalışma alanını başlatmak için MLClient.from_config() kullanın.
- Özel Docker görüntüleri kullanıyorsanız Dockerfile kullanın.
Yük devretme başlatma
Yük devretme çalışma alanında çalışmaya devam edin
Birincil çalışma alanınız kullanılamaz duruma geldiğinde, deneme ve geliştirmeye devam etmek için ikincil çalışma alanı üzerinden geçiş yapabilirsiniz. Kesinti olduğunda Azure Machine Learning işleri otomatik olarak ikincil çalışma alanına göndermez. Kod yapılandırmanızı yeni çalışma alanı kaynağına işaret eden şekilde güncelleştirin. Sabit kodlama çalışma alanı başvurularından kaçınmanızı öneririz. Bunun yerine, çalışma alanlarını değiştirirken el ile gerçekleştirilen kullanıcı adımlarını en aza indirmek için bir çalışma alanı yapılandırma dosyası kullanın. Sürekli tümleştirme ve dağıtım işlem hatları gibi tüm otomasyonları da yeni çalışma alanına güncelleştirdiğinden emin olun.
Azure Machine Learning çalışma alanı örnekleri arasında yapıtları veya meta verileri eşitleyemez veya kurtaramaz. Uygulama dağıtım stratejinize bağlı olarak, iş göndermeye devam etmek için yük devretme çalışma alanında yapıtları taşımanız veya veri varlıkları gibi deneme girişlerini yeniden oluşturmanız gerekebilir. Birincil çalışma alanınızı ve ikincil çalışma alanı kaynaklarınızı coğrafi çoğaltma etkin olan ilişkili kaynakları paylaşacak şekilde yapılandırmış olmanız durumunda, bazı nesneler doğrudan yük devretme çalışma alanında kullanılabilir olabilir. Örneğin, her iki çalışma alanı da aynı docker görüntülerini, yapılandırılmış veri depolarını ve Azure Key Vault kaynaklarını paylaşıyorsa. Aşağıdaki diyagramda iki çalışma alanının aynı görüntüleri (1), veri depolarını (2) ve Key Vault'un (3) paylaştığı bir yapılandırma gösterilmektedir.
Not
Hizmet kesintisi oluştuğunda çalışan işler otomatik olarak ikincil çalışma alanına geçiş yapılmaz. Ayrıca kesinti giderildikten sonra işlerin birincil çalışma alanında başarıyla sürdürülip biteceği de olası değildir. Bunun yerine, bu işler ikincil çalışma alanında veya birincil çalışma alanında (kesinti çözüldükten sonra) yeniden iletilmelidir.
Yapıtları çalışma alanları arasında taşıma
Kurtarma yaklaşımınıza bağlı olarak, çalışmanıza devam etmek için çalışma alanları arasında yapıtları kopyalamanız gerekebilir. Şu anda çalışma alanları arasında yapıtların taşınabilirliği sınırlıdır. Yapıtların mümkün olduğunca kod olarak yönetilmesini, böylece yük devretme örneğinde yeniden oluşturulmasını öneririz.
Aşağıdaki yapıtlar, makine öğrenmesi için Azure CLI uzantısı kullanılarak çalışma alanları arasında dışarı ve içeri aktarılabilir:
İpucu
- İş çıkışları bir çalışma alanıyla ilişkili varsayılan depolama hesabında depolanır. Hizmet kesintisi durumunda iş çıktılarına stüdyo kullanıcı arabiriminden erişilemez hale gelebilir ancak verilere depolama hesabı üzerinden doğrudan erişebilirsiniz. Bloblarda depolanan verilerle çalışma hakkında daha fazla bilgi için bkz . Azure CLI ile blob oluşturma, indirme ve listeleme.
Kurtarma seçenekleri
Çalışma alanını silme
Çalışma alanınızı yanlışlıkla sildiyseniz bile çalışma alanını kurtarabilirsiniz. Kurtarma adımları için bkz. Geçici silme ile yanlışlıkla silme işleminden sonra çalışma alanı verilerini kurtarma.
Çalışma alanınız kurtarılamıyor olsa bile, aşağıdaki adımları izleyerek çalışma alanıyla ilişkili Azure depolama kaynağından not defterlerinizi alabilirsiniz:
- Azure portalında, silinen Azure Machine Learning çalışma alanına bağlı depolama hesabına gidin.
- Soldaki Veri depolama bölümünde Dosya paylaşımları seçeneğini seçin.
- Not defterleriniz, çalışma alanı kimliğinizi içeren adla dosya paylaşımında bulunur.
Sonraki adımlar
Azure Machine Learning ile tekrarlanabilir altyapı dağıtımları hakkında bilgi edinmek için bicep şablonu veya Terraform şablonu kullanın.