Ana içeriğe atla
Veri Mühendisliği
Büyük Veri
Cloud

Maliyet Azaltma için Azure Spot Örneklerini Kullanmaya Yönelik Kapsamlı Bir Rehber

Azure Spot Sanal Makinelerinin nasıl çalıştığını, bulut maliyetlerinizi nasıl önemli ölçüde azaltabileceğini keşfedin ve pratik uygulama stratejilerini öğrenin.
Anirudh Kulkarni's photo
Anirudh Kulkarni
Güncel · 10 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google Ile Devam Edin
Devam ederek Kullanım Şartlarımızı, Gizlilik Politikamızı ve verilerinizin ABD’de saklandığını kabul etmiş olursunuz.

Bulut bilişim, Veri Bilimi ve Yapay Zekâ uygulamaları için kullanışlıdır. Birçok bulut sağlayıcısı vardır ve doğru olanı seçmek uygulamamız için kritik öneme sahiptir. Ancak bulut bilişimdeki büyük bir zorluk maliyetleri yönetmektir. Uygulamaları ve iş yüklerini buluta dağıttığımızda, bulutta çalışan makineler çok pahalı olabileceğinden maliyetlerin farkında olmamız gerekir. 

Bu yazıda, Azure Spot Sanal Makinelerini (VM), diğer adıyla Azure Spot Örneklerini inceleyeceğiz. Bu makineler, Microsoft Azure’a dağıtım yaparken maliyetten tasarruf etmemizi sağlar. Microsoft Azure’a yeniyseniz ve bir girişe ihtiyacınız varsa Introduction to Azure kursumuza bakın. Daha ileri düzey kullanıcılar için Azure Architecture and Services kursumuz faydalı olacaktır. Son olarak, hızlı bir başvuru arıyorsanız, farklı bulut sağlayıcılarını karşılaştıran basit çizelgemizi burada bulabilirsiniz: AWS, Azure ve GCP Hizmet Karşılaştırması (Veri Bilimi ve Yapay Zekâ).  

Azure Spot VM’lerine dalalım.

Azure Spot VM’leri nedir?

Azure Spot VM’ler, Azure’un veri merkezlerinde belirli bir anda atıl durumda bulunan sanal makinelerdir. Bu makineler o anda kullanılmadığı için Azure, bunları standart Azure VM fiyatlarına kıyasla bazen %90’a varan indirimlerle sunar. 

Ancak bu maliyet düşüşü belirsizlikle birlikte gelir. Diğer kullanıcıların VM talebinde artış olursa, Azure bu Spot VM’leri kısa bir bildirimle dilediği zaman geri alabilir. Bu durum Spot VM’leri oldukça öngörülemez kılar. Sonuç olarak, Spot VM’leri yalnızca sürekli erişilebilirlik gerektirmeyen ve kesintiye uğrayabilen görevler için kullanmalıyız. Bu tür görevlere örnekler:

Toplu işler (batch jobs)

Toplu işler, manuel müdahale olmadan bir bilgisayarda çalıştırabileceğimiz görevlerdir. Bu görevler genellikle ardışık veya paralel olarak, büyük gruplar ya da “batch”ler halinde işlenir. Bu işler çoğu zaman esnek başlangıç ve bitiş zamanlarına sahiptir; dolayısıyla önemli bir aksama olmaksızın durdurulup yeniden başlatılabilir. 

Örneğin, her iş günü sonunda işlemleri işlemek zorunda olan bir finans kurumu düşünün. Çeşitli kaynaklardan gelen binlerce ya da milyonlarca işlemi otomatik olarak yüklemek, doğrulamak ve ardından hesap bakiyelerini güncellemek için bir toplu iş tanımlayabilirler. 

Test ve geliştirme ortamları

Test ve geliştirme ortamları, yazılım geliştiricilerin canlı üretim ortamını etkilemeden uygulama oluşturup test edebilecekleri ortamlardır. Bu ortamları kurmak maliyetli olabilir ve burada Spot VM’ler devreye girer. 

Örneğin, bir e-ticaret sitesi üzerinde çalışan bir ekibi düşünün. Kullanıcının gezinme geçmişine göre ürün öneren yeni bir özelliği denemek istiyorlar. Bu özelliği geliştirme ortamında geliştirebilir, ardından hatalar, performans sorunları ve kullanıcı deneyimi için titizlikle test etmek üzere bir test ortamına taşıyabilirler. Farklı ayarlar için bu işlem Spot VM’lerde yapılabilir. Başarılı testlerin ardından özelliği üretim ortamına dağıtarak müşterilerin kullanımına sunabilirler.

Hata toleranslı uygulamalar

Hata toleranslı uygulamalar, belirli bileşenler arızalansa bile kesintisiz çalışmaya devam edebilen uygulamalardır. Bu, yerleşik yedeklilik ve failover (yedek devreye alma) mekanizmalarıyla sağlanabilir. Bu tür uygulamalar Spot VM’ler için uygundur. Örneğin, kullanıcı isteklerini işleyen birden çok sunucuya sahip bir uygulamayı düşünün. Bir sunucu arızalanırsa, sistem otomatik olarak istekleri başka bir sunucuya yönlendirir. Bu tür işlemler hata toleranslı olduğundan, maliyetleri azaltmak için Spot VM’lerde kullanılabilir.

Azure Spot VM’lerin Faydaları

Azure Spot VM’leri kullanmanın başlıca faydası önemli maliyet tasarrufudur. Belirttiğimiz gibi, bu tasarruf isteğe bağlı (on-demand) VM fiyatlarına kıyasla %90’a kadar çıkabilir. Bu indirim sayesinde, mevcut kapasiteye bağlı olarak iş yüklerini yukarı veya aşağı ölçekleyebilir, aksi takdirde isteğe bağlı VM’lerle çok pahalı olabilecek büyük ölçekli işlemleri yürütebiliriz. Ayrıca Spot VM’lerde, VM için ödemeye razı olduğumuz maksimum fiyatı belirleyebiliriz. Bu da harcamalarımız üzerinde kontrol sağlar. 

VM’in Azure tarafından geri alınacağı durumda, sonraki adımda ne olacağını belirtmek için bir tahliye (eviction) ilkesi de seçebiliriz – VM’i ya tahsis dışı bırakabilir (deallocate) ya da silebiliriz. Deallocate seçilirse VM durur ancak silinmez. Böylece VM yeniden kullanılabilir olduğunda tekrar başlatabiliriz. Bu arada yalnızca depolama maliyetleri öderiz. Delete seçilirse, tüm verilerimiz ve iş yüklerimiz silinir. 

Spot VM Nasıl Dağıtılır

Bu bölümde, bir Spot VM’in nasıl dağıtılacağını ve buna bağlı fiyatlandırma ile tahliye ilkesi gibi seçeneklerin nasıl seçileceğini açıklıyoruz. Tek bir Spot VM veya Spot VM Ölçek Kümesi (Scale Set) olarak bilinen bir Spot VM grubunu dağıtabiliriz.

Tekil Spot VM’ler 

En kolay yol, Azure portalından bir VM oluşturmaktır. 

  1. Portalda Services altında Virtual Machines’ı seçin ve ardından Create’i seçin. 
  2. Create a virtual machine sayfasında tüm ayrıntıları doldurun ve Run with Azure Spot discount onay kutusunu işaretleyin. 
  3. Ardından Eviction type ve Eviction Policy seçmemiz gerekir.  
  4. Eviction type için Capacity only veya Price or capacity seçeneklerinden birini seçebiliriz. Capacity only seçimi, Azure VM’lerine olan talep yüksek olduğunda VM’imizin tahliye edilmesine yol açar. Bu seçenek, Spot VM için ödemeye razı olduğumuz maksimum fiyatı belirler. Maksimum fiyatı sınırlamak yerine düşürmek için Price or Capacity seçilebilir. Bu durumda, ödemeye razı olduğumuz maksimum fiyatı doldurmamız gerekir. Bu seçenek için Azure, ya kapasite talebi yüksek olduğunda ya da Spot VM maliyeti belirtilen maksimum fiyatı aştığında VM’i tahliye eder.
  5. Ayrıca bir tahliye ilkesi seçmemiz gerekir – bu, Azure makinemizi tahliye ederse ne olacağını belirler. Deallocate veya Delete seçeneklerinden birini seçebiliriz. Deallocate seçildiğinde VM durur ancak VM üzerindeki veri veya uygulamalar silinmez. VM durdurulmuşken VM için ücretlendirilmezsiniz, ancak ilişkili depolama için ücretlendirilirsiniz. Kapasite yeniden mevcut olduğunda VM’i yeniden başlatmak istiyorsak bu seçenek uygundur. Bunun yerine Delete seçilirse, Azure örneği geri aldığında VM ve ilişkili geçici depolama silinir. 

Microsoft Azure'da sanal makine oluşturmaSanal makine oluşturma. Kaynak: Yazarın görseli

Spot VM başlatmak için Azure CLI ve Azure PowerShell gibi diğer yöntemleri de kullanabiliriz. Daha fazla bilgi için Spot VM’lerle ilgili Azure belgelerine bakın. 

Spot Virtual Machine Scale Sets (VMSS) 

Spot Virtual Machine Scale Set olarak bilinen Spot VM grupları da oluşturabiliriz. Bunu yapmak için Azure portalında Virtual Machine Scale Sets’i arayın ve bir tane oluşturun. VMSS, birden çok Spot VM’in dağıtımını ve yönetimini otomatikleştirmemizi sağlar; böylece ihtiyaç duyulduğunda kolayca ölçek büyütüp küçültebiliriz. CPU kullanımı veya ağ trafiği gibi ölçekleme kriterlerini tanımlayabilir ve maksimum fiyatımız ile kullanılabilirlik gereksinimlerimize dayalı olarak istenen kapasiteyi ayarlayabiliriz.

Azure Spot VM’ler için En İyi Uygulamalar

İş yüklerimizin dayanıklı ve maliyet etkin kalmasını sağlamak için Spot VM’leri kullanırken şu en iyi uygulamaları öneririz.

Kapasiteyi kontrol edin

Spot VM’leri dağıtmadan önce, istediğim bölgede ve kullanmayı planladığım VM boyutları için mevcut kapasiteyi kontrol ederim. Azure’un kapasitesi diğer müşterilerin talebine göre dalgalanır; bu nedenle kullanılabilirliği doğrulamak, iş yüklerimizi dağıtma konusunda bilinçli kararlar almamıza yardımcı olur.

Maksimum fiyatı belirleyin

Bir VM için saat başına ödemeye razı olduğum maksimum fiyatı belirlerim. Bu, maliyetleri kontrol etmeye yardımcı olur.

Kesintilere göre tasarlayın

Spot VM’lerin kısa sürede önceliklendirilip tahliye edilebileceği göz önüne alındığında, iş yüklerini kesintilere dayanıklı olacak şekilde tasarlamayı öneririm. Düzenli aralıklarla ilerlemeyi kaydeden checkpointing gibi stratejiler kullanın; böylece baştan başlamak yerine son kayıt noktasından devam edebilirsiniz. Dağıtık işleme iş yükleri için, bazı örnekler tahliye edilse bile işleme hızını korumak amacıyla görevlerin kalan örnekler arasında yeniden dağıtılabildiğinden emin olun.

İzleme kurun

Etkili izleme, Spot VM’leri verimli yönetmek için kritik bir diğer stratejidir. Azure, Spot VM’lerin kullanımını, maliyetlerini ve tahliye olaylarını izlemek için araçlar sağlar. Bu metrikleri izleyerek Spot VM’lerimizin performansı hakkında içgörüler elde edebilir ve stratejimizi gerektiğinde ayarlayabiliriz. 

Azure Spot VM’ler ve Rezerve Örnekler Karşılaştırması

Bazen, uygulamaya bağlı olarak spot VM kullanmaktansa rezerve bir VM kullanmak daha mantıklı olabilir. Rezerve VM’ler de bulut maliyetlerimizi optimize etmemizi sağlayan başka bir VM türüdür. Bu bölüm, bu iki örnek türü arasındaki farkları açıklar.

Spot VM’ler

Gördüğümüz gibi Spot VM’ler, isteğe bağlı fiyatlandırmaya kıyasla bazen %90’a varan önemli maliyet tasarrufu sağlar. Ancak bu örnekler, kapasite talebine bağlı olarak Azure tarafından kısa sürede geri alınabilir. Sonuç olarak, zamanlama açısından esnek ve kesintileri tolere edebilen iş yükleri için spot örnekler kullanmalıyız. Buna toplu işleme görevleri, geliştirme ve test ortamları ile kolayca birden çok örneğe dağıtılabilen durum bilgisi olmayan (stateless) uygulamalar dahildir. 

Rezerve örnekler

Rezerve Örnekler ise bir veya üç yıllık süreler için satın alınır. Bir veya üç yıl kullanmayı taahhüt etme karşılığında, isteğe bağlı fiyatlandırmaya göre önemli indirimle belirli bir VM türünü seçebiliriz. Rezerve Örnekleri kullanmanın temel faydası, Azure tarafından tahliye edilme riskinin olmamasıdır. İş yükünün öngörülebilir kullanım kalıpları varsa ve sürekli erişilebilirlik gerektiriyorsa, Rezerve Örnekler büyük olasılıkla daha iyi seçenektir.

Özetle, Azure Spot VM’ler ile Rezerve Örnekler arasındaki seçim; maliyet, esneklik ve güvenilirliğe ilişkin özel ihtiyaçlara bağlıdır.

Sonuç

Azure Spot VM’ler, uygun maliyetli bulut bilişimi gerçekleştirmek için harika bir çözümdür. İsteğe bağlı fiyatlandırmaya kıyasla bazen %90’a varan önemli indirimler sağlayabilirler. 

Azure Spot VM’ler özellikle esnek ve kesintilere toleranslı iş yükleri için kullanışlıdır. Bunlara toplu işleme görevleri, geliştirme ve test ortamları veya sürekli çalışma süresi gerektirmeyen herhangi bir uygulama dahildir. Bu iş yükleri için Spot VM’ler, maliyetleri önemli ölçüde azaltmamıza yardımcı olabilir.

Daha fazla bilgi için şu kaynaklara göz atın:

  • Azure Documentation: Resmi Azure belgeleri, Spot VM’lerin kullanımıyla ilgili ayrıntılı kılavuzlar, en iyi uygulamalar ve teknik referanslar sunan mükemmel bir başlangıç noktasıdır.
  • Community Forums and Support: Azure topluluk forumları ve destek kanalları, spesifik sorulara yanıt almak ve diğer Azure kullanıcılarının deneyimlerinden öğrenmek için değerli kaynaklardır.

Bu makaleyi beğendiyseniz şu yazılara da göz atın: Azure DevOps Mülakat Soruları ve Azure’da GPT Kullanımı.


Anirudh Kulkarni's photo
Author
Anirudh Kulkarni
LinkedIn

MathWorks’ta teknik yazarıyım. Amazon Web Services, Microsoft Azure, Docker ve NVIDIA üzerindeki MathWorks ürünlerine ilişkin dokümantasyonun yazımı ve düzenlenmesi üzerinde çalışıyorum.

Konular
Veri Mühendisliği
Büyük Veri
Cloud

DataCamp ile öğrenin

Kurs

Bulut Bilişimi Anlamak

2 sa
260.2K
Bulut bilişimine giriş niteliğinde, temel kavramları, terminolojiyi ve araçları kapsayan, kodlama içermeyen bir tanıtım.
Ayrıntıları GörüntüleKursa Başla

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google Ile Devam Edin
Devam ederek Kullanım Şartlarımızı, Gizlilik Politikamızı ve verilerinizin ABD’de saklandığını kabul etmiş olursunuz.
Devamını Gör
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını Gör