Bu makalede, Azure Spot Sanal Makinelerinde derlemeye yönelik en iyi yöntemler açıklanmaktadır. Dağıtılabilir bir örnek senaryo içerir. Spot sanal makineler (spot VM'ler), işlem kapasitesine normal VM'lerden daha düşük fiyatlarla erişim sağlar. Bu indirim, maliyetleri iyileştirmek isteyen kuruluşlar için bunları iyi bir seçenek haline getirir. Ama tasarruflar bir takasla gelir. Spot VM'ler herhangi bir zamanda çıkarılabilir, yani işlem kaynaklarına erişimi kaybederler. 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. Aşağıdaki önerilerde spot VM'ler üzerinde nasıl derleme yapılır açıklanmaktadır.
Spot VM'leri 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 VM'ler ile normal VM'ler arasındaki temel fark, öncelikleri ve kullanılabilirlikleridir. Spot VM'lerin işlem kapasitesine erişme önceliği yoktur ve bu işlem kapasitesine erişildikten sonra kullanılabilirlik garantileri yoktur.
Öncelik erişimi yok. Normal VM'lerin işlem kapasitesine öncelikli erişimi vardır. İstedikleri zaman işlem kapasitesine erişiyorlar. Ancak spot VM'ler yalnızca yedek işlem kapasitesi olduğunda dağıtılır. Ayrıca yalnızca normal bir VM'nin temel alınan donanıma ihtiyacı olmadığında çalışmaya devam eder.
Kullanılabilirlik garantisi yok. Spot VM'lerin kullanılabilirlik garantisi veya hizmet düzeyi sözleşmeleri (SLA) yoktur. Spot VM'ler, dağıtım veya çıkarma sonrasında işlem kapasitesine erişimi hemen veya her zaman kaybedebilir. Spot VM'ler çıkarılabildiği için daha ucuza gelir. 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 bkz. çıkarma için sürekli izleme.
Spot VM fiyatlandırmalarını anlama
Spot VM'ler, normal kullandıkça öde VM'lerinden 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 bkz. Azure Spot Sanal Makineler fiyatlandırma aracı ve Spot Sanal Makineler fiyatlandırmasına genel bakış. Ayrıca Azure perakende fiyatları API'sini sorgulayabilir ve herhangi bir SKU'nun spot fiyatlandırmasını program aracılığıyla edinebilirsiniz.
Kesilebilir iş yüklerini anlama
Spot VM'ler, çeşitli ortak özellikleri paylaşan kesintiye uğrayan iş yükleri için idealdir. Kesintiye uğrayılabilir iş yükleri en az veya hiç zaman sınırlamasına, düşük kurumsal önceliğe ve kısa işleme sürelerine sahiptir. 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 ve sürekli dağıtım aracısı oluşturan toplu işleme uygulamaları, veri analizi ve iş yükleri verilebilir. Bu özellikler, SLA'lar, yapışkan oturumlar ve durum bilgisi olan veriler içeren normal veya görev açısından kritik iş yükleriyle karşılaştırır.
Kesintiye uğrayamayan iş yüklerinde spot VM'leri kullanabilirsiniz, ancak işlem kapasitesinin tek kaynağı bunlar 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 SLA'ları yoktur ve istedikleri zaman işlem erişimini kaybedebilirler. Bu işlem kaybına çıkarmadiyoruz. İşlem arz ve talep sürücü çıkarmaları. 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. Örneğin, 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. 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.
Çıkarma türü
Kapasite değişiklikleri veya fiyat değişiklikleri çıkarmalara neden olur. Kapasite ve fiyat değişikliklerinin spot VM'leri etkileme şekli, VM oluşturulduğunda seçtiğiniz çı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.
Yalnızca kapasite çıkarma: Bu çıkarma türü, fazla işlem kapasitesi artık kullanılabilir olmadığında çıkarma tetikler. Varsayılan olarak, fiyat kullandıkça öde fiyatına göre eşlenir. Kullandıkça öde VM fiyatından daha fazla ödeme yapmak istemiyorsanız 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 artık kullanılabilir olmadığında veya VM'nin maliyeti belirlediğiniz maksimum fiyatı aştığında bir spot VM'yi çıkartır. Bu çıkarma türü, kullandıkça öde fiyatının çok altında bir maksimum fiyat belirlemenizi sağlar. 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çtiğiniz çıkarma ilkesi düzenlemesini etkiler. Düzenleme, çıkarma işlemini işleme işlemidir ve bu makalenin devamında ele alınmalıdır. Çıkarma ilkeleri, Durdurma/Serbest Bırakma ilkesi ve Silme ilkesi.
Durdurma/Serbest Bırakma ilkesi: İş yükünün aynı konum ve VM türü içinde yayın kapasitesini bekleyebileceği durumlarda Durdurma/Serbest Bırakma ilkesi idealdir. 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. VM, Durdurma/Serbest Bırakma ilkesiyle işlem kapasitesini ve statik olmayan IP adreslerini kaybeder. Ancak VM veri diskleri kalır ve ücret uygulanmaya devam eder. VM ayrıca abonelikteki çekirdekleri de kaplar. VM'ler durdurulduğunda veya serbest bırakıldığında bile kendi bölgesinden veya bölgesinden taşınamaz. Daha fazla bilgi için bkz. Güç durumları ve faturalama.
silme ilkesini : İş yükü konumu veya VM boyutunu değiştirebiliyorsa Sil ilkesini kullanın. Konumu 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. 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, düzenlemenizi seçeneklere sahip olacak, birden çok VM boyutu kullanacak, farklı bölgelere dağıtacak, çıkarma farkındalığına sahip olacak ve iş yükü güvenilirliğini ve hızını artırmak için farklı çıkarma senaryolarını hesaba katacak şekilde tasarlama anlamına gelir.
Hız için tasarım
Spot VM'lerde çalışan bir iş yükü için işlem kapasitesi çok önemlidir. Çıkarma potansiyeli nedeniyle, iş yükü hızını öncelik sırasına alan bilinçli tasarım kararları verebilmeniz için ayrılan işlem süresini anladığınızdan emin olun. Genel olarak, sahip olduğunuz işlem süresini iyileştirmeniz gerekir. Gerekli tüm yazılımların önceden yüklenmiş olduğu bir VM görüntüsü oluşturun. Önceden yüklenmiş yazılım çıkarma ile tam işletimsel uygulama arasındaki süreyi en aza indirmeye yardımcı olur. İş yükü amacına katkıda bulunmayan işlemlerde işlem süresini kullanmaktan kaçının. Örneğin, veri analizine yönelik bir iş yükü, işlem süresinin büyük bölümünü veri işlemeye ve çıkarma meta verilerini toplamaya mümkün olduğunca az zaman ayırmalıdır. Uygulamanızdan gereksiz 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şturun. Amaç, çıkarılan bir VM'yi değiştirmek için düzenleme seçeneklerinizi vermektir. Azure, yaklaşık aynı fiyata benzer özellikler sağlayan farklı vm türlerine ve boyutlarına sahiptir. En düşük vCPU'lar veya çekirdekler, VM'ler için en düşük RAM ve maksimum fiyat için filtreleyin. Bu işlem, bütçenize uyan ve iş yükünüzü çalıştırmak için yeterli güce sahip birden çok VM bulmanıza yardımcı olur.
Her VM türü, 0%-5%, 5%-10%, 10%-15%, 15%-20%veya 20' den fazla%gibi yüzde aralığı olarak ifade edilen bir çıkarma hızına sahiptir. Çıkarma oranları bölgeler arasında farklılık gösterebilir. Farklı bir bölgedeki aynı vm türü için daha iyi bir çıkarma oranı bulabilirsiniz. Her vm türü için çıkarma oranlarını portalda Temel bilgiler sekmesinin altında bulabilirsiniz. Boyut'nin yanında Fiyatlandırma geçmişini görüntüle seçin veya tüm boyutları görüntüle seçeneğini belirleyin. Ayrıca Azure Kaynak Grafı kullanarak spot VM verilerini program aracılığıyla da alabilirsiniz.
Düzenleme sisteminizde, tek tek spot dağıtımlarında başarı olasılığını değerlendirmek için spot yerleştirme puanı özelliğini kullanmayı göz önünde bulundurun.
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Çıkarma oranları
- kaynak grafı
- Spot yerleştirme puanı
En esnek çıkarma ilkesini kullanma
Çıkarılan spot VM'nin çıkarma ilkesi, değiştirme işlemini etkiler. Örneğin, Silme ilkesi Durdurma/Serbest Bırakma ilkesinden daha esnektir.
önce Silme ilkesini göz önünde bulundurun: İş yükünüz bunu işleyebilirse Silme ilkesi kullanın. 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ş veya serbest bırakılmış vm'den daha hızlı bir şekilde yedek işlem kapasitesi bulmasına yardımcı olabilir. Durdurulan veya serbest bırakılan VM'lerin, oluşturuldukları bölgede yedek işlem kapasitesini beklemesi gerekir. Silme ilkesi için çıkarmaları izlemek ve çeşitli bölgelere dağıtımları yönetmek, farklı VM SKU'ları kullanmak veya her ikisini birden yapmak için bir dış işleme ihtiyacınız vardır.
Durdur/Serbest Bırak ilkesini anlama: Durdur/Serbest Bırak ilkesi, Silme ilkesinden daha az esnekliğe sahiptir. Spot VM'lerin aynı bölgede ve bölgede kalması gerekir. Durdurulmuş veya serbest bırakılmış bir 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 kullanılabilirliğini tahmin etmenin hiçbir yolu yoktur. Bu nedenle, çıkarmadan sonra yeniden dağıtma girişiminde bulunurken otomatik zamanlama işlem hattı kullanmanız gerekir. Çı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.
Politika | İlke ne zaman kullanılır? |
---|---|
İlkeyi silme | - Kısa ömürlü işlem ve veriler - Veri diskleri için ödeme yapmak istemiyorum - En düşük bütçe |
Durdurma/Serbest Bırakma ilkesi | - 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 bilgilere sahipseniz, değiştirme işlemini yönetmek için iş yükünü düzgün bir şekilde kapatmayı ve otomasyonu tetiklemeye çalışabilirsiniz.
Zamanlanmış Olayları Kullan: Her VM için Zamanlanmış Olaylar hizmetini kullanın. Azure, altyapı bakımı etkileyeceğinde VM'lere sinyal gönderir. Çıkarmalar altyapı bakımı olarak niteler. Azure,
Preempt
sinyalini çıkarmadan önce tüm VM'lere en az 30 saniye içinde gönderir. Zamanlanmış Olaylar hizmeti, statik, yönlendirilemez IP adresi169.254.169.254
bir uç noktayı sorgulayarak buPreempt
sinyalini yakalamanıza olanak tanır.Sık kullanılan sorgular kullanın: Zamanlanmış Olaylar uç noktasını düzgün bir kapatmayı düzenlemeye yetecek kadar sık sorgulayın. 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.
Otomatik düzenleme:
Preempt
sinyalini topladıktan sonra düzenlemeniz bu sinyal üzerinde işlem yapmalıdır. Zaman kısıtlamaları göz önüne alındığında,Preempt
sinyali 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 aşağıdaki kaynaklara bakın:- Zamanlanmış Olayları
- zamanlanmış olay türlerini
- Uç nokta sorgulama sıklığı
- Zamanlanmış Olayları
Dağıtım sistemi oluşturma
Düzenlemeniz, çıkarmadan sonra yeni spot VM'leri dağıtmak için otomatik bir işlem hattına ihtiyaç duyar. İşlem hattı, kalıcılığı sağlamaya yardımcı olmak için kesilebilir iş yükünün dışında çalıştırılmalıdır. Dağıtım işlem hattı, spot VM'leriniz için seçtiğiniz çıkarma ilkesine göre çalışmalı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 işlevlerinin birleşimi, dağıtım sistemini otomatikleştirmenin bir yoludur. İş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
Azure' ın bir spot VM'yi oluşturduğunuz anda ve iş yükünüz çalıştırmadan önce çıkarması mümkündür. Bazı durumlarda spot VM oluşturmak için yeterli kapasite olabilir, ancak bu süre devam etmez. Spot VM'lerin, oluşturulduktan sonra kullanılabilirlik garantisi veya SLA'ları yoktur. Düzenlemenizin hemen çıkarmaları hesaba eklemesi gerekir.
Preempt
sinyali çıkarma için en az 30 saniye önceden bildirim sağlar.
Anında çıkarmalara hazırlanmak için düzenlemenize VM sistem durumu denetimlerini ekleyin. Anında çıkarmalar için düzenleme, Zamanlanmış Olaylar Preempt
sinyaline bağlı olamaz. Yalnızca VM Preempt
sinyalini sorgulayabilir ve bir uygulamayı başlatmak, Zamanlanmış Olaylar 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. Sistem durumu denetimlerinin spot VM'nin durumunu izlemesi ve durum serbest bırakma veya durdurma 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ı çıkarma işlemine dayanacak şekilde iş yükünün mimarisini oluşturun. İş 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şlemi 30 saniyeden kısa olmalı ve çıkarma işleminden ö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 sürebilir. Kapatma işleminin kaynakları serbest bırakması, bağlantıları boşaltması ve olay günlüklerini temizlemesi gerekir. Bağlamı korumak 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ı bir depolama hesabında olduğu gibi spot VM ortamının dışında depolayın.
Düzenlemeyi test edin
Geliştirme/test ortamlarında düzenlemeyi test etmek için çıkarma olaylarının benzetimini uygulayın. Daha fazla bilgi için bkz. Simulate çıkarma.
Bir kez etkili iş yükü tasarlama
Etkili bir iş yükü tasarlamanızı öneririz. Bir olayı birden fazla kez işlemenin sonucu, olayı bir kez işlemekle aynı olmalıdır. Çıkarmalar, düzgün kapatmaları sağlamak için yapılan çabalara rağmen zorlamalı kapatmalara neden olabilir. Zorlamalı kapatmalar tamamlanmadan önce işlemleri sonlandırabilir. Etkili iş yükleri, sonucu değiştirmeden aynı iletiyi birden çok kez alabilir. 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 başlatılması için zaman gerekir. Ayrıca dış depolamaya bağlanmak ve denetim noktalarından bilgi toplamak için de zamana ihtiyaçları vardır. İşlemeye başlamasına izin vermeden önce bir uygulama ısınma süresine sahip olun. Isınma döneminde uygulama başlamalı, bağlantı kurmalı ve katkıda bulunmaya hazırlanmalıdır. Yalnızca uygulamanın durumunu doğruladıktan sonra uygulamanın verileri işlemeye başlamasına izin verin.
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 kimlikler atayın. Kullanıcı tarafından atanan yönetilen kimlikler, kimlik bilgilerini koda yerleştirmekten kaçınmanızı sağlar 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 kolaylaştırmaya yardımcı olur ve spot VM'lerin sahip olduğu iş yükü kaynaklarına erişimi basitleştirir.
Sistem tarafından atanan yönetilen kimlikler kullanıyorsanız 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üklerini 403 Forbidden Error
yanıtlara dayanıklı hale getirin. 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 örnek olarak kullanılır. Senaryo, kaynakları dağıtmak için tek seferlik, el ile gönderme işleminde size yol gösterir. Bu uygulamanın dağıtım işlem hattı yoktur. Ancak, düzenleme işlemini otomatikleştirmek için bir dağıtım işlem hattı gereklidir. Aşağıdaki diyagramda örnek senaryonun mimarisi gösterilmektedir.
Örnek senaryo mimarisini gösteren
Bu mimarinin visio dosyasını indirin.
Aşağıdaki iş akışı önceki diyagrama karşılık gelir:
VM uygulama tanımı : VM uygulama tanımı Azure işlem galerisinde 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ı temsil eder. Spot VM ile aynı bölgede olması gerekir. Uygulama sürümü, depolama hesabındaki kaynak uygulama paketine bağlanır.
depolama hesabı : Depolama hesabı kaynak uygulama paketini depolar. Bu mimaride,
worker-0.1.0.tar.gz
adlı sıkıştırılmış bir tar dosyasıdır. İki dosya içerir. Bir dosya, .NET çalışan uygulamasını yükleyenorchestrate.sh
bash betiğidir.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
worker-0.1.0.tar.gz
indirir. bicep şablonu, standart bir 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.Depolama kuyruğu: .NET çalışanında çalışan diğer hizmet ileti kuyruğu mantığı içerir. Microsoft Entra Id, rol tabanlı erişim denetimini kullanarak kullanıcı tarafından atanan bir kimlikle Azure Kuyruk Depolama'daki depolama kuyruğuna spot VM erişimi verir.
.NET çalışan uygulamasını :
orchestrate.sh
betiği, iki arka plan hizmeti çalıştıran bir .NET çalışan uygulaması yükler. İlk hizmet Zamanlanmış Olaylar uç noktasını sorgular,Preempt
sinyalini arar ve bu sinyali ikinci hizmete gönderir. İkinci hizmet, depolama kuyruğundan gelen iletileri işler ve ilk hizmetten gelenPreempt
sinyalini dinler. İkinci hizmet sinyali aldığında depolama kuyruğu işlemeyi kesintiye uğratır ve kapanmaya başlar.Sorgu Zamanlanmış Olaylar uç noktası:
169.254.169.254
statik bir yönlendirilemez IP adresine API isteği gönderilir. API isteği, altyapı bakım sinyalleri için Zamanlanmış Olaylar uç noktasını sorgular.Application Insights': Mimari yalnızca öğrenme amacıyla Application Insights kullanır. Bu, kesintiye neden olan iş yükü düzenlemesinin temel bileşenlerinden biri değildir, ancak .NET çalışan uygulamasından telemetriyi doğrulamanıza olanak tanır. .NET çalışan uygulaması Application Insights'a telemetri gönderir. Daha fazla bilgi için bkz. .NET uygulamasından canlı ölçümleri etkinleştirme.
Bu senaryoya dağıtın
Bu mimariyi dağıtmak için şablonlar, betikler ve adım adım yönergeler içeren yerinde kesintiye uğrayabilen iş yükü adlı bir GitHub deposu vardır.
Sonraki adım
İlgili kaynaklar
- Çok kiracılı bir çözümde maliyet yönetimi ve ayırma için mimari yaklaşımlar
- Azure'da Windows VM çalıştırma
- Azure'da Linux VM çalıştırma