Spot sanal makinelerde iş yükleri oluşturma

Azure Virtual Machines

Bu makalede, Azure spot sanal makinelerinde (VM) oluşturmaya yönelik en iyi yöntemleri özetleyeceğiz ve dağıtılabilir bir örnek senaryo ekleyeceğiz. Spot VM'ler, normal VM'lere yönelik önemli indirimlerle işlem kapasitesine erişim sağlar. Bu indirim, maliyetleri iyileştirmek isteyen kuruluşlar için cazip bir çözüm olmasını sağlar, ancak tasarruf bir koşulla birlikte gelir. Spot VM'ler herhangi bir zamanda işlem erişimini kaybedebilir. Bu işleme çıkarma diyoruz. Spot VM'lerde çalışan iş yüklerinin işlemdeki bu kesintileri işleyebilmesi gerekir. Doğru iş yükü ve esnek düzenleme mekanizması başarının anahtarlarıdır. Spot VM'leri oluşturmaya yönelik önerilerimiz aşağıdadır.

Spot sanal makinelerini anlama

Teknik düzeyde spot VM'ler normal VM'lerle aynıdır. Aynı performansa çevrilen görüntüleri, donanımları ve diskleri kullanırlar. Spot ve normal VM'ler arasındaki fark, öncelik ve kullanılabilirliğe bağlıdır. Spot VM'lerin işlem kapasitesine erişme önceliği yoktur ve bu işlem kapasitesine erişildikten sonra kullanılabilirlik garantileri yoktur. Öncelik ve kullanılabilirlik konularını daha ayrıntılı olarak ele alalım.

Öncelik erişimi yok. Normal VM'lerin işlem kapasitesine öncelikli erişimi vardır. İşlem kapasitesine her istekte bulunduklarında erişiyorlar. Öte yandan spot VM'ler yalnızca yedek işlem kapasitesi olduğunda dağıtılır ve yalnızca normal bir VM'nin temel donanıma ihtiyacı olmadığında çalışır durumda kalır.

Kullanılabilirlik garantisi yok. Spot VM'lerin kullanılabilirlik garantisi yoktur. Hizmet düzeyi sözleşmeleri (SLA) yoktur. Spot VM'ler dağıtımdan hemen sonra veya herhangi bir zamanda işlem kapasitesine erişimi kaybedebilir (çıkarma). Çıkarma olasılığı nedeniyle spot VM'ler daha ucuzdur. Azure'ın işlem kapasitesini geri alması gerektiğinde, bir çıkarma bildirimi gönderilir ve spot VM'yi çıkartır. Azure, gerçek çıkarma gerçekleşmeden önce en az 30 saniye önceden bildirim sağlar. Daha fazla bilgi için bu makaledeki çıkarma için sürekli izleme bölümüne bakın.

Spot sanal makine fiyatlandırmayı anlama

Spot VM'ler normal (kullandıkça öde) VM'lerden yüzde 90 daha ucuz olabilir. İndirim isteğe, VM boyutuna, dağıtım bölgesine ve işletim sistemine göre değişir. Maliyet tasarrufu tahmini almak için Azure Spot VM fiyatlandırma aracını kullanmanızı öneririz. Daha fazla bilgi için bkz.

Ayrıca, ilgilendiğiniz herhangi bir SKU'nun spot fiyatlandırmasını program aracılığıyla almak için Azure perakende fiyatları API'sini sorgulayabilirsiniz.

Kesilebilir iş yüklerini anlama

Kesintiye uğrayılabilen iş yükleri spot VM'ler için en iyi kullanım örneğidir. Kesilebilir iş yüklerinin birkaç ortak özelliği vardır. Minimum ve hiç zaman kısıtlaması, düşük kurumsal öncelik ve kısa işleme süreleri vardır. Bunlar, temel kuruluş süreçlerine zarar vermeden aniden durabilen ve daha sonra devam eden işlemler çalıştırır. Kesintiye uğrayan iş yüklerine örnek olarak üretim dışı bir ortam için sürekli tümleştirme-sürekli dağıtım aracısı oluşturan toplu işleme uygulamaları, veri analizi ve iş yükleri verilebilir. Bu özellikler, hizmet düzeyi sözleşmeleri (SLA'lar), yapışkan oturumlar ve durum bilgisi olan veriler içeren normal veya görev açısından kritik iş yükleriyle karşıttır. Tabloda her iki iş yükü türü için de örnekler sağlanır.

Kesilebilir iş yükü özellikleri Normal iş yükü özellikleri
Özellikler En az ve hiç zaman kısıtlaması
Düşük kuruluş önceliği
Kısa işlem süreleri
Hizmet düzeyi sözleşmeleri (SLA'lar)
Yapışkan oturum gereksinimleri
Durum bilgisi olan iş yükleri

Spot VM'yi kesintisiz iş yüklerinde kullanabilirsiniz, ancak bunlar tek işlem kapasitesi kaynağı olmamalıdır. Çalışma süresi gereksinimlerinizi karşılamak için gerektiği kadar normal VM kullanın.

Çıkarmayı anlama

Spot VM'lerin oluşturulduktan sonra hizmet düzeyi sözleşmesi (SLA) yoktur ve herhangi bir zamanda işlem erişimini kaybedebilir. Bu işlem kaybına çıkarma diyoruz. İşlem arz ve talebi çıkarmayı destekler. Belirli bir VM boyutuna yönelik talep belirli bir düzeyi aştığında Azure, işlemleri normal VM'ler için kullanılabilir hale getirmek için spot VM'leri çıkartır. Talep konuma özgüdür. A bölgesindeki talep artışı B bölgesindeki spot VM'leri etkilemez.

Spot VM'lerde çıkarmayı etkileyen iki yapılandırma seçeneği vardır. Bu yapılandırmalar spot VM'nin "çıkarma türü" ve "çıkarma ilkesi"dir. Spot VM'yi oluştururken bu yapılandırmaları ayarlarsınız. "Çıkarma türü", çıkarmanın koşullarını tanımlar. "Çıkarma ilkesi", çıkarmanın spot VM'nize ne yaptığını belirler. Her iki yapılandırma seçeneğini de ele alalım.

Çıkarma türü

Çıkarma, kapasite değişiklikleri veya fiyat değişikliklerinden kaynaklanır. Bunların spot VM'leri etkileme şekli, VM oluşturulurken seçilen çıkarma türüne bağlıdır. Çıkarma türü, çıkarmanın koşullarını tanımlar. Çıkarma türleri "yalnızca kapasite çıkarma" ve "fiyat veya kapasite çıkarma" şeklindedir.

Yalnızca kapasite çıkarma: Bu çıkarma türü, fazla işlem kapasitesi kaybolduğunda bir çıkarma tetikler. Varsayılan olarak, fiyat kullandıkça öde fiyatına göre eşlenir. Kullandıkça öde VM fiyatına kadar ödeme yapmak istediğinizde bu çıkarma türünü kullanın.

Fiyat veya kapasite çıkarma: Bu çıkarma türünün iki tetikleyicisi vardır. Azure, fazla işlem kapasitesi kaybolduğunda veya VM'nin maliyeti belirlediğiniz maksimum fiyatı aştığında spot VM'yi çıkartır. Bu çıkarma türü, kullandıkça öde fiyatının altında bir maksimum fiyat ayarlamanıza olanak tanır. Kendi fiyat üst sınırınızı ayarlamak için bu çıkarma türünü kullanın.

Çıkarma ilkesi

Spot VM için seçilen çıkarma ilkesi düzenlemesini etkiler. Düzenlemeyle, çıkarma işleminin işlenmesini ifade ederiz. Düzenlemeyi daha sonra ayrıntılı olarak ele alacağız. Çıkarma ilkeleri "Durdurma/Serbest Bırakma ilkesi" ve "İlkeyi sil" ilkeleridir.

Durdurma/Serbest Bırakma ilkesi: İş yükünün aynı konum ve VM türü içinde yayın kapasitesini bekleyebileceği durumlarda En iyi yöntem Stop/Deallocate çıkarma ilkesidir. Durdur/Serbest Bırak ilkesi VM'yi durdurur ve temel alınan donanımla kirasını sonlandırır. Spot VM'yi durdurma ve serbest bırakma, normal bir VM'yi durdurma ve serbest bırakma ile aynıdır. VM, Azure'da erişilebilir durumda kalır ve aynı VM'yi daha sonra yeniden başlatabilirsiniz. Durdur/Serbest Bırak ilkesiyle, VM işlem kapasitesini ve statik olmayan IP adreslerini kaybeder. Ancak VM veri diskleri kalır ve yine de ücretlendirilir. VM ayrıca abonelikteki çekirdekleri de kaplar. VM'ler durdurulduğunda/serbest bırakıldığında bile kendi bölgesinden veya bölgesinden taşınamaz. Daha fazla bilgi için bkz . VM güç durumları ve faturalama.

İlkeyi sil: İş yükü konumu veya VM boyutunu değiştirebiliyorsa "İlkeyi sil" seçeneğini kullanın. Konumu ve/veya VM boyutunu değiştirmek, VM'nin daha hızlı yeniden dağıtılmasını sağlar. Sil ilkesi VM'yi ve tüm veri disklerini siler. VM, aboneliklerde çekirdekleri kaplamaz. Çıkarma ilkeleri hakkında daha fazla bilgi için bkz . çıkarma ilkesi.

Esnek düzenleme için tasarım

Düzenleme, çıkarma işleminden sonra spot VM'yi değiştirme işlemidir. Güvenilir bir kesintiye uğrayılabilir iş yükü oluşturmanın temelidir. İyi bir düzenleme sistemi yerleşik esnekliğe sahiptir. Esneklik açısından düzenlemenizi seçeneklere sahip olacak şekilde tasarlama, birden çok VM boyutu kullanma, farklı bölgelere dağıtma, çıkarma konusunda bilgi sahibi olma ve iş yükü güvenilirliğini ve hızını artırmak için farklı çıkarma senaryolarını hesaba katma anlamına gelir.

Aşağıda, kesintiye uğrayabileceğiniz iş yükünüz için esnek düzenleme tasarlamanıza yardımcı olacak önerileri özetledik.

Hız için tasarım

Spot VM'lerde çalışan bir iş yükü için işlem kapasitesi bir hazinedir. Çıkarma olasılığı, ayrılan işlem süresine olan takdirinizi yükseltmeli ve iş yükü hızına öncelik veren anlamlı tasarım kararlarına çevrilmelidir. Genel olarak, sahip olduğunuz işlem süresini iyileştirmenizi öneririz. Gerekli tüm yazılımların önceden yüklenmiş olduğu bir VM görüntüsü oluşturmanız gerekir. Önceden yüklenmiş yazılımlar çıkarma ile tam olarak çalışan bir uygulama arasındaki süreyi en aza indirmeye yardımcı olur. İş yükü amacına katkı yapmayan işlemlerde işlem süresini kullanmaktan kaçınmak istiyorsunuz. Örneğin veri analizine yönelik bir iş yükü, işlem zamanının çoğunu veri işlemeye ve çıkarma meta verilerini toplamaya olabildiğince az odaklamalıdır. Uygulamanızdan temel olmayan işlemleri ortadan kaldırın.

Birden çok VM boyutu ve konumu kullanma

Esnekliği artırmak için birden çok VM türü ve boyutu kullanacak bir düzenleme oluşturmanızı öneririz. Amaç, çıkarılan bir VM'yi değiştirmek için düzenleme seçeneklerinizi vermektir. Azure'da, aynı fiyata benzer özellikler sağlayan farklı VM türleri ve boyutları vardır. İş yükünüzü çalıştırma gücü olan ve bütçenize uygun birden çok VM bulmak için VM'leri en az vCPU/Çekirdek ve/veya en düşük RAM ve maksimum fiyat olarak filtrelemeniz gerekir. Her VM türünün yüzde aralığı (%0-5, %5-10, %10-15, %15-20, %20+) olarak ifade edilen bir çıkarma oranı vardır. Çıkarma oranları bölgeler arasında farklılık gösterebilir. Farklı bir bölgede aynı VM türü için daha iyi bir çıkarma oranı bulabilirsiniz. Portalda her VM türü için çıkarma oranlarını "Temel Bilgiler" sekmesinin altında bulabilirsiniz. "Boyut" bağlantılarını ("Fiyatlandırma geçmişini görüntüle" veya "Tüm boyutları görüntüle") seçin. Ayrıca Azure Kaynak Grafı kullanarak program aracılığıyla spot VM verileri alabilirsiniz. Daha fazla bilgi için bkz.

En esnek çıkarma ilkesini kullanma

Çıkarılan spot VM'nin çıkarma ilkesi, değiştirme işlemini etkiler. Silme çıkarma ilkesi durdurulmuş/serbest bırakılmış çıkarma ilkesinden daha esnektir.

önce silme ilkesini göz önünde bulundurun: İş yükünüz bunu işleyebilirse silme çıkarma ilkesi kullanmanızı öneririz. Silme, düzenlemenin yeni spot VM'leri yeni bölgelere ve bölgelere dağıtmasını sağlar. Bu dağıtım esnekliği, iş yükünüzün durdurulmuş/serbest bırakılmış bir VM'den daha hızlı yedek işlem kapasitesi bulmasına yardımcı olabilir. Durdurulmuş/serbest bırakılmış VM'lerin, oluşturulduğu bölgede yedek işlem kapasitesini beklemesi gerekir. Silme ilkesi için, uygulamanın dışındaki çıkarmaları izlemeniz ve farklı bölgelere ve/veya farklı VM SKU'larına dağıtımları düzenlemeniz gerekir.

Durdurulan/serbest bırakılan ilkeyi anlama: Durdurulan/serbest bırakılan ilke, silme ilkesinden daha az esnekliğe sahiptir. Spot VM'lerin aynı bölgede ve bölgede kalması gerekir. Durdurulmuş/serbest bırakılmış vm'yi başka bir konuma taşıyamazsınız. VM'lerin sabit bir konumu olduğundan işlem kapasitesi kullanılabilir olduğunda VM'yi yeniden dağıtmak için bir şey yapmanız gerekir. İşlem kapasitesinin ne zaman kullanılabilir olacağını tahmin etmenin bir yolu yoktur. Bu nedenle, çıkarmadan sonra yeniden dağıtma girişiminde bulunurken otomatik zamanlama işlem hattı kullanmanızı öneririz. Çıkarma işlemi zamanlama işlem hattını tetiklemelidir ve yeniden dağıtma girişimleri kullanılabilir duruma gelene kadar işlem kapasitesini sürekli olarak denetlemelidir.

İlke Ne zaman
Silme Kısa ömürlü işlem ve veriler
Veri diskleri için ödeme yapmak istemiyorum
En az bütçe
Durduruldu/Serbest Bırakıldı Belirli bir VM boyutu gerekiyor
Konum değiştiremiyorum
Uzun uygulama yükleme işlemi
Süresiz bekleme süresi
Yalnızca maliyet tasarrufu tarafından yönlendirilmiyor

Çıkarma için sürekli izleme

İzleme, spot VM'lerde iş yükü güvenilirliğinin anahtarıdır. Spot VM'lerin oluşturulduktan sonra SLA'sı yoktur ve herhangi bir zamanda çıkarılabilir. Spot VM'lerde iş yükü güvenilirliğini artırmanın en iyi yolu, ne zaman çıkarılacaklarını tahmin etmektir. Bu bilgilerle, iş yükünü düzgün bir şekilde kapatmayı deneyebilir ve değiştirme işlemini düzenleyen otomasyonu tetikleyebilirsiniz.

Zamanlanmış Olayları Kullanma: Her VM için Zamanlanmış Olaylar hizmetini kullanmanızı öneririz. Azure, altyapı bakımlarından etkilenecekleri zaman VM'lere sinyal gönderir. Çıkarmalar altyapı bakımı olarak niteler. Azure, sinyali çıkarmadan önce en az 30 saniye içinde tüm VM'lere gönderir Preempt . Olayları Zamanla adlı bir hizmet, statik, yönlendirilemeyen bir IP adresinde 169.254.169.254bir uç noktayı sorgulayarak bu Preempt sinyali yakalamanıza olanak tanır.

Sık kullanılan sorguları kullanma: Düzgün bir kapatmayı düzenlemeye yetecek sıklıkta Olayları Zamanla uç noktasını sorgulamanızı öneririz. Zamanlanmış Olaylar uç noktasını her saniyeye kadar sorgulayabilirsiniz, ancak tüm kullanım örnekleri için bir saniyelik sıklık gerekli olmayabilir. Bu sorgular, spot VM'de çalışan bir uygulamadan gelmelidir. Sorgu bir dış kaynaktan gelemiyor. Sonuç olarak sorgular VM işlem kapasitesini tüketir ve ana iş yükünden işlem gücünü çalar. Belirli durumunuzu karşılamak için bu rakip öncelikleri dengelemeniz gerekir.

Düzenlemeyi otomatikleştirme: Sinyali topladıktan Preempt sonra düzenlemeniz bu sinyal üzerinde işlem yapmalıdır. Zaman kısıtlamaları göz önüne alındığında, Preempt sinyal iş yükünüzü düzgün bir şekilde kapatmayı denemeli ve spot VM'nin yerini alan otomatik bir işlem başlatmalıdır. Daha fazla bilgi için bkz.

Dağıtım sistemi oluşturma

Düzenlemeniz, çıkarıldığında yeni spot VM'leri dağıtmak için otomatik bir işlem hattına ihtiyaç duyar. İşlem hattı, kalıcılığı sağlamak için kesilebilir iş yükünün dışında çalıştırılmalıdır. Dağıtım işlem hattının çalışma şekli, spot VM'leriniz için seçtiğiniz çıkarma ilkesine bağlıdır.

Silme ilkesi için farklı VM boyutları kullanan ve farklı bölgelere dağıtan bir işlem hattı oluşturmanızı öneririz. Durdurma/serbest bırakma ilkesi için dağıtım işlem hattının iki ayrı eyleme ihtiyacı vardır. VM'nin ilk oluşturulması için işlem hattının doğru boyuttaki VM'leri doğru konuma dağıtması gerekir. Çıkarılan bir VM için işlem hattının çalışana kadar VM'yi yeniden başlatmayı denemesi gerekir. Azure İzleyici uyarılarının ve Azure İşlevleri birleşimi, dağıtım sistemini otomatikleştirmenin çeşitli yollarından biridir. İşlem hattı bicep şablonlarını kullanabilir. Bildirim temelli ve etkilidir ve altyapı dağıtımı için en iyi yöntemi temsil ederler.

Hemen çıkarma için hazırlanma

Spot VM'niz oluşturulur oluşturulmaz ve hatta iş yükünüz yürütülmeden önce çıkarma için atanabilir. Spot VM oluşturma kapasitesi olması, vm'nin kalıcı olacağı anlamına gelmez. Spot VM'lerin oluşturulduktan sonra kullanılabilirlik garantisi (SLA) yoktur. Düzenlemenizin hemen çıkarmaları hesaba eklemesi gerekir. Sinyal Preempt , çıkarma için en az 30 saniye önceden bildirim sağlamaya devam eder.

Anında çıkarmalara hazırlanmak için düzenlemenize VM sistem durumu denetimlerini eklemenizi öneririz. Hemen çıkarmalar için düzenleme, Zamanlama Olayları Preempt sinyaline dayanamaz. Yalnızca VM'nin kendisi sinyali sorgulayabilir Preempt ve bir uygulamayı başlatmak, Olayları Zamanla uç noktasını sorgulamak ve düzgün bir şekilde kapatmak için yeterli zaman yoktur. Bu nedenle sistem durumu denetiminin iş yükü ortamının dışında bulunması gerekir. Durum denetimlerinin spot VM'nin durumunu izlemesi ve durum serbest bırakılmaya veya durdurulmaya değiştiğinde spot VM'yi değiştirmek için dağıtım işlem hattını başlatması gerekir.

Birden çok eşzamanlı çıkarma için planlama

Spot VM'lerden oluşan bir küme çalıştırıyorsanız, birden çok eşzamanlı çıkarmaya dayanacak şekilde iş yükünün mimarisini oluşturmanız gerekir. İş yükündeki birden çok spot VM aynı anda çıkarılabilir. Birden çok VM'nin aynı anda çıkarılması, uygulamanın aktarım hızını etkileyebilir. Bu durumu önlemek için dağıtım işlem hattınızın birden çok VM'den sinyal toplaması ve aynı anda birden çok yeni VM dağıtabilmesi gerekir.

Düzgün bir kapatma için tasarlama

VM kapatma işlemleri 30 saniyeden kısa olmalı ve bir çıkarmadan önce VM'nizin kapatılmasına izin vermelidir. Kapatma işleminin süresi, iş yükünüzün Zamanlanmış Olaylar uç noktasını ne sıklıkta sorgulamasına bağlıdır. Uç noktayı ne kadar sık sorgularsanız kapatma işlemi o kadar uzun olabilir. Kapatma işleminin kaynakları serbest bırakması, bağlantıları boşaltması ve olay günlüklerini temizlemesi gerekir. Bağlamı kaydetmek ve daha verimli bir kurtarma stratejisi oluşturmak için düzenli olarak denetim noktaları oluşturup kaydetmeniz gerekir. Denetim noktası yalnızca bir sonraki VM'nin başlaması gereken işlemler veya işlemler hakkında bilgidir. Vm'nin önceki VM'nin kaldığı yerden devam edip etmemesi gerektiğini veya yeni VM'nin değişiklikleri geri alıp tüm işlemi yeniden başlatması gerektiğini belirtmeleri gerekir. Denetim noktalarını spot VM ortamının dışında depolamanız gerekir. Bir depolama hesabı işe yarayacaktı.

Düzenlemeyi test edin

Geliştirme/test ortamlarında düzenlemeyi test etmek için çıkarma olaylarının simülasyonu yapmanızı öneririz. Daha fazla bilgi için bkz . çıkarma simülasyonu.

Bir kez etkili iş yükü tasarlama

Etkili bir iş yükü tasarlamanızı öneririz. Bir olayı birden çok kez işlemenin sonucu, olayı bir kez işlemekle aynı olmalıdır. Çıkarmalar, düzgün kapatmaları güvence altına alma çabalarına rağmen zorlamalı kapatmalara yol açabilir. Zorlamalı kapatmalar tamamlanmadan önce işlemleri sonlandırabilir. Etkili iş yükleri aynı iletiyi birden çok kez alabilir ve sonuç aynı kalır. Daha fazla bilgi için bkz . idempotency.

Uygulama ısınma dönemi kullanma

Kesilebilir iş yüklerinin çoğu uygulamaları çalıştırır. Uygulamaların yüklenmesi ve önyükleme için zaman gerekir. Dış depolamaya bağlanmak ve denetim noktalarından bilgi toplamak için zamana ihtiyaçları vardır. İşlemeye başlamasına izin vermeden önce bir uygulama ısınma dönemi geçirmenizi öneririz. Isınma döneminde uygulama önyükleniyor, bağlanıyor ve katkıda bulunmaya hazırlanıyor olmalıdır. Bir uygulamanın yalnızca uygulamanın durumunu doğruladıktan sonra verileri işlemeye başlamasına izin vermelisiniz.

Diagram of the workload lifecycle with an application warmup period

Kullanıcı tarafından atanan yönetilen kimlikleri yapılandırma

Kimlik doğrulama ve yetkilendirme işlemini kolaylaştırmak için kullanıcı tarafından atanan yönetilen kimlikleri kullanmanızı öneririz. Kullanıcı tarafından atanan yönetilen kimlikler, kimlik bilgilerinin koda koyulmasını önler ve sistem tarafından atanan yönetilen kimlikler gibi tek bir kaynağa bağlı değildir. Kullanıcı tarafından atanan yönetilen kimlikler, düzenleme sırasında yeniden kullanılabilen ve spot VM'lere atanabilen Microsoft Entra Id'den izinler ve erişim belirteçleri içerir. Spot VM'ler arasında belirteç tutarlılığı, düzenlemeyi ve spot VM'lerin sahip olduğu iş yükü kaynaklarına erişimi kolaylaştırmaya yardımcı olur.

Sistem tarafından atanan yönetilen kimliklerle yeni bir spot VM, Microsoft Entra Id'den farklı bir erişim belirteci alabilir. Sistem tarafından atanan yönetilen kimlikleri kullanmanız gerekiyorsa, iş yüklerinin yanıtlara 403 Forbidden Error dayanıklı olmasını öneririz. Düzenlemenizin doğru izinlere sahip Microsoft Entra Id'den belirteçleri alması gerekir. Daha fazla bilgi için bkz . yönetilen kimlikler.

Örnek senaryo

Örnek senaryo, kesintiye uğrayabilen bir iş yükü olarak niteleyen bir kuyruk işleme uygulaması dağıtır. Senaryodaki betikler açıklayıcıdır. Senaryo, kaynakları dağıtmak için tek seferlik, el ile gönderme işleminde size yol gösterir. Bu uygulamayla bir dağıtım işlem hattı sağlamadık. Ancak bir dağıtım işlem hattı, düzenleme işlemini otomatikleştirmek için gereklidir. Diyagramda örnek senaryonun mimarisi gösterilmektedir.

Diagram of the example scenario architecture.

Aşağıdaki notlarda mimarinin önemli yönleri açıklanmaktadır:

  1. VM uygulama tanımı: VM uygulama tanımı Azure İşlem Galerisi'nde oluşturulur. Uygulama adını, konumunu, işletim sistemini ve meta verileri tanımlar. Uygulama sürümü, VM uygulama tanımının numaralandırılmış bir sürümüdür. Uygulama sürümü, VM uygulamasının bir örneğidir. Spot VM ile aynı bölgede olması gerekir. Uygulama sürümü, depolama hesabındaki kaynak uygulama paketine bağlanır.
  2. Depolama hesabı: Depolama hesabı, kaynak uygulama paketini depolar. Bu mimaride, adlı worker-0.1.0.tar.gzsıkıştırılmış bir katran dosyasıdır. İki dosya içerir. Bir dosya , .NET çalışan uygulamasını yükleyen bash betiğidir orchestrate.sh .
  3. Spot VM: Spot VM dağıtılır. Uygulama sürümüyle aynı bölgede olmalıdır. Dağıtımdan sonra VM'ye indirilir worker-0.1.0.tar.gz . bicep şablonu, Standart aile VM'sine bir Ubuntu görüntüsü dağıtır. Bu yapılandırmalar bu uygulamanın gereksinimlerini karşılar ve uygulamalarınız için genel öneriler değildir.
  4. Depolama Kuyruğu: .NET çalışanında çalışan diğer hizmet ileti kuyruğu mantığı içerir. Microsoft Entra Id, RBAC kullanarak kullanıcı tarafından atanan kimlikle depolama kuyruğuna spot VM erişimi verir.
  5. .Net çalışan uygulaması: orchestrate.sh betiği, iki arka plan hizmeti çalıştıran bir .NET çalışan uygulaması yükler. İlk hizmet Olayları Zamanla uç noktasını sorgular ve sinyali arar Preempt ve bu sinyali ikinci hizmete gönderir. İkinci hizmet, depolama kuyruğundaki iletileri işler ve ilk hizmetten gelen sinyali dinler Preempt . İkinci hizmet sinyali aldığında depolama kuyruğu işlemeyi kesintiye uğratır ve kapanmaya başlar.
  6. Sorgu Zamanlanmış Olaylar uç noktası: Statik yönlendirilemeyen 169.254.169.254 IP adresine bir API isteği gönderilir. API isteği, altyapı bakım sinyalleri için Zamanlanmış Olay uç noktasını sorgular.
  7. Uygulama Analizler: Mimari yalnızca öğrenme amacıyla Application Analizler kullanır. Bu, kesintiye neden olan iş yükü düzenlemesinin temel bileşenlerinden biri değildir. .NET çalışan uygulamasından telemetriyi doğrulamanın bir yolu olarak bunu dahil ettik. .NET çalışan uygulamasını Application Analizler'e telemetri gönderecek şekilde yapılandırdık. Daha fazla bilgi için bkz . .NET uygulamasından canlı ölçümleri etkinleştirme.

Bu senaryoyu dağıtın

GitHub logoBu mimariyi dağıtmak için şablonlar, betikler ve adım adım yönergelerle birlikte yerinde kesilebilir iş yükü adlı bir GitHub deposu oluşturduk. Bu depoda mimari ve mühendislik yapıtları hakkında daha fazla teknik ayrıntı bulabilirsiniz.

Sonraki adım

Spot Sanal Makineler hakkında daha fazla bilgi için bkz. Azure Spot Sanal Makineler.