Kursus
Komputasi cloud bermanfaat untuk aplikasi Data Science dan AI. Ada banyak penyedia cloud, dan memilih yang tepat sangat penting untuk aplikasi kita. Namun, tantangan besar dalam komputasi cloud adalah mengelola biaya. Saat kita menerapkan aplikasi dan beban kerja ke cloud, kita perlu menyadari biayanya, karena mesin yang beroperasi di cloud bisa sangat mahal.
Dalam artikel ini, kita akan membahas Azure Spot Virtual Machines (VM), yang juga disebut Azure Spot Instances. Mesin ini memungkinkan kita menghemat biaya saat melakukan deployment di Microsoft Azure. Jika Anda baru mengenal Microsoft Azure dan membutuhkan pengantar, lihat kursus Introduction to Azure kami. Untuk pengguna tingkat lanjut, kursus Azure Architecture and Services kami akan berguna. Terakhir, jika Anda mencari referensi cepat, lembar ringkas kami yang membandingkan berbagai penyedia cloud dapat ditemukan di sini: AWS, Azure and GCP Service Comparison for Data Science and AI.
Mari selami Azure Spot VM.
Apa itu Azure Spot VM?
Azure Spot VM adalah mesin virtual cadangan di dalam pusat data Azure pada waktu tertentu. Karena mesin ini tidak sedang digunakan, Azure menawarkannya dengan tarif yang jauh lebih rendah, terkadang hingga diskon 90% dibandingkan harga standar VM Azure.
Namun, penghematan biaya ini datang dengan ketidakpastian. Jika terjadi peningkatan permintaan VM dari pengguna lain, Azure dapat merebut kembali Spot VM ini kapan saja dengan pemberitahuan singkat. Hal ini membuat Spot VM sangat tidak dapat diprediksi. Akibatnya, kita harus menggunakan Spot VM hanya untuk tugas yang tidak memerlukan ketersediaan terus-menerus dan yang dapat menerima interupsi. Beberapa tugas tersebut meliputi:
Pekerjaan batch
Pekerjaan batch adalah tugas yang dapat dijalankan di komputer tanpa intervensi manual. Tugas-tugas ini biasanya diproses dalam kelompok besar atau “batch”, baik secara berurutan maupun paralel. Pekerjaan ini sering kali memiliki waktu mulai dan selesai yang fleksibel, sehingga dapat dijeda dan dilanjutkan tanpa gangguan berarti.
Misalnya, pertimbangkan sebuah institusi keuangan yang perlu memproses transaksi di akhir setiap hari kerja. Mereka dapat menyiapkan pekerjaan batch untuk memuat secara otomatis ribuan atau jutaan transaksi dari berbagai sumber, memvalidasinya, lalu memperbarui saldo akun sesuai kebutuhan.
Lingkungan uji dan pengembangan
Lingkungan uji dan pengembangan adalah lingkungan tempat pengembang perangkat lunak dapat membangun dan menguji aplikasi tanpa memengaruhi lingkungan produksi yang aktif. Menyiapkan lingkungan ini bisa mahal, dan di sinilah Spot VM dapat digunakan.
Sebagai contoh, bayangkan sebuah tim yang mengembangkan situs web e-commerce. Mereka ingin mencoba fitur baru di situs yang merekomendasikan produk berdasarkan riwayat penelusuran pengguna. Mereka dapat mengembangkan fitur ini di lingkungan pengembangan, lalu memindahkannya ke lingkungan uji untuk menguji bug, masalah kinerja, dan pengalaman pengguna secara menyeluruh. Hal ini dapat dilakukan di Spot VM untuk berbagai pengaturan. Setelah pengujian berhasil, mereka dapat menerapkan fitur tersebut ke lingkungan produksi sehingga tersedia bagi pelanggan.
Aplikasi toleran kesalahan
Aplikasi toleran kesalahan adalah aplikasi yang dapat terus beroperasi tanpa gangguan meskipun beberapa komponen gagal. Hal ini dapat dicapai dengan redundansi dan mekanisme failover bawaan. Aplikasi seperti ini sangat cocok untuk Spot VM. Contoh aplikasi semacam itu mungkin memiliki beberapa server yang menangani permintaan pengguna. Jika satu server gagal, sistem secara otomatis mengalihkan permintaan ke server lain. Karena operasi seperti ini toleran terhadap kegagalan, aplikasi dapat dijalankan pada Spot VM untuk menghemat biaya.
Manfaat Azure Spot VM
Manfaat utama menggunakan Azure Spot VM adalah penghematan biaya yang besar. Seperti yang telah disebutkan, diskonnya bisa mencapai 90% dibandingkan harga VM on-demand. Berkat diskon ini, kita dapat meningkatkan atau menurunkan skala beban kerja berdasarkan kapasitas yang tersedia, sehingga memungkinkan kita menjalankan operasi skala besar yang sebaliknya akan sangat mahal dengan VM on-demand. Selain itu, dengan Spot VM, kita dapat menetapkan harga maksimum yang bersedia kita bayar untuk VM. Ini memberi kita kendali atas pengeluaran.
Saat VM akan direbut kembali oleh Azure, kita juga dapat memilih kebijakan penggusuran (eviction policy) untuk menentukan apa yang terjadi selanjutnya — kita dapat melakukan dealokasi atau menghapus VM. Jika kita memilih untuk melakukan dealokasi VM, VM akan berhenti tetapi tidak dihapus. Dengan demikian, kita dapat memulai ulang VM saat tersedia kembali. Sementara itu, kita hanya akan membayar biaya penyimpanan. Jika kita memilih untuk menghapus VM, semua data dan beban kerja kita akan dihapus.
Cara Menerapkan Spot VM
Di bagian ini, kami menjelaskan cara menerapkan Spot VM dan memilih opsi yang terkait dengannya, seperti harga dan kebijakan penggusuran. Kita dapat menerapkan satu Spot VM atau sekelompok Spot VM, yang dikenal sebagai Spot VM Scale Set.
Spot VM tunggal
Cara termudah adalah membuat VM dari portal Azure.
- Pilih Virtual Machines di bawah Services di portal lalu pilih Create.
- Di halaman Create a virtual machine, isi semua detail dan centang kotak Run with Azure Spot discount.
- Kemudian kita perlu memilih Eviction type dan Eviction Policy.
- Untuk Eviction type, kita dapat memilih Capacity only atau Price or capacity. Memilih Capacity only akan menggusur VM kita saat permintaan VM Azure tinggi. Opsi ini menetapkan harga maksimum yang bersedia kita bayar untuk Spot VM. Untuk menurunkan harga maksimum, kita dapat memilih Price or Capacity. Lalu kita perlu mengisi harga maksimum yang bersedia kita bayar. Untuk opsi ini, Azure menggusur VM baik ketika permintaan VM Azure tinggi atau ketika biaya Spot VM melebihi harga maksimum yang ditentukan.
- Kita juga perlu memilih kebijakan penggusuran — ini adalah tindakan yang akan terjadi jika Azure menggusur mesin kita. Kita dapat memilih Deallocate atau Delete. Memilih Deallocate menghentikan VM tetapi tidak menghapus data atau aplikasi pada VM. Kita tidak akan dikenakan biaya VM saat dihentikan, namun kita akan dikenakan biaya penyimpanan terkait. Opsi ini cocok jika kita ingin memulai ulang VM ketika kapasitas tersedia lagi. Jika sebagai gantinya kita memilih Delete, VM dan penyimpanan sementara terkait akan dihapus saat Azure merebut kembali instance tersebut.
Membuat mesin virtual. Sumber: Gambar oleh Penulis
Kita juga dapat menggunakan Azure CLI, dan Azure PowerShell, di antara metode lainnya, untuk memulai Spot VM. Untuk detail lebih lanjut, lihat dokumentasi Azure tentang Spot VM.
Spot Virtual Machine Scale Sets (VMSS)
Kita juga dapat membuat kelompok Spot VM yang dikenal sebagai Spot Virtual Machine Scale Sets. Untuk melakukannya, cari Virtual Machine Scale Sets di portal Azure dan buat satu. VMSS memungkinkan kita mengotomatiskan penerapan dan pengelolaan beberapa Spot VM, sehingga lebih mudah untuk melakukan penskalaan masuk dan keluar sesuai kebutuhan. Kita dapat menentukan kriteria penskalaan, seperti penggunaan CPU atau lalu lintas jaringan, dan menetapkan kapasitas yang diinginkan berdasarkan harga maksimum dan persyaratan ketersediaan kita.
Praktik Terbaik untuk Azure Spot VM
Kami merekomendasikan praktik terbaik berikut saat menggunakan Spot VM untuk memastikan beban kerja kita tetap tangguh dan hemat biaya.
Periksa kapasitas
Sebelum menerapkan Spot VM, saya memeriksa kapasitas yang tersedia di wilayah yang saya inginkan dan untuk ukuran VM yang saya rencanakan untuk digunakan. Kapasitas Azure berfluktuasi berdasarkan permintaan dari pelanggan lain, sehingga memverifikasi ketersediaan dapat membantu kita membuat keputusan yang tepat tentang penerapan beban kerja.
Tetapkan harga maksimum
Saya menetapkan harga maksimum yang bersedia saya bayar per jam untuk sebuah VM. Ini membantu mengendalikan biaya.
Rancang untuk menghadapi interupsi
Mengingat Spot VM dapat diputus dengan pemberitahuan singkat, saya menyarankan untuk merancang beban kerja agar tangguh terhadap interupsi. Gunakan strategi seperti checkpointing untuk menyimpan pekerjaan secara berkala, sehingga memungkinkan melanjutkan dari checkpoint terakhir alih-alih mulai dari awal. Untuk beban kerja pemrosesan terdistribusi, pastikan tugas dapat didistribusikan ulang ke instance yang tersisa untuk mempertahankan throughput pemrosesan meskipun beberapa instance diputus.
Siapkan pemantauan
Pemantauan yang efektif adalah strategi lain yang penting untuk mengelola Spot VM secara efisien. Azure menyediakan alat untuk melacak penggunaan, biaya, dan peristiwa penggusuran Spot VM. Dengan memantau metrik ini, kita dapat memperoleh wawasan tentang kinerja Spot VM kita, yang memungkinkan kita menyesuaikan strategi sesuai kebutuhan.
Azure Spot VM vs. Reserved Instances
Terkadang, menggunakan VM terpesan bisa lebih masuk akal daripada menggunakan Spot VM, bergantung pada aplikasinya. Reserved VM adalah jenis VM lain yang juga memungkinkan kita mengoptimalkan biaya cloud. Bagian ini menjelaskan perbedaan antara kedua jenis instance ini.
Spot VM
Seperti yang telah kita lihat, Spot VM memberikan penghematan biaya yang signifikan, terkadang hingga 90% dibandingkan harga on-demand. Namun, instance ini dapat direbut kembali oleh Azure dengan pemberitahuan singkat bergantung pada permintaan kapasitas. Akibatnya, kita sebaiknya menggunakan spot instance untuk beban kerja yang fleksibel dalam hal waktu dan yang dapat menangani interupsi. Ini mencakup pekerjaan pemrosesan batch, lingkungan pengembangan dan pengujian, serta aplikasi stateless yang mudah didistribusikan di banyak instance.
Reserved instances
Reserved Instances, di sisi lain, dibeli untuk jangka waktu satu atau tiga tahun. Kita dapat memilih tipe VM tertentu dengan diskon signifikan dibandingkan harga on-demand sebagai imbalan atas komitmen penggunaan selama satu atau tiga tahun. Manfaat utama menggunakan Reserved Instances adalah tidak ada risiko penggusuran dari Azure. Jika beban kerja memiliki pola penggunaan yang dapat diprediksi dan memerlukan ketersediaan terus-menerus, Reserved Instances kemungkinan merupakan opsi yang lebih baik.
Singkatnya, pilihan antara Azure Spot VM dan Reserved Instances bergantung pada kebutuhan spesifik terkait biaya, fleksibilitas, dan keandalan.
Kesimpulan
Azure Spot VM adalah solusi yang sangat baik untuk mencapai komputasi cloud yang hemat biaya. VM ini dapat memberikan diskon besar, terkadang hingga 90% dibandingkan harga on-demand.
Azure Spot VM sangat berguna untuk beban kerja yang fleksibel dan dapat mentoleransi interupsi. Ini mencakup pekerjaan pemrosesan batch, lingkungan pengembangan dan pengujian, atau aplikasi apa pun yang tidak memerlukan waktu aktif secara terus-menerus. Untuk beban kerja seperti ini, Spot VM dapat membantu kita mengurangi biaya secara signifikan.
Untuk mempelajari lebih lanjut tentang Azure Spot VM, lihat sumber daya berikut:
- Dokumentasi Azure: Dokumentasi resmi Azure adalah titik awal yang sangat baik, menawarkan panduan terperinci, praktik terbaik, dan referensi teknis tentang penggunaan Spot VM.
- Forum Komunitas dan Dukungan: Forum komunitas Azure dan saluran dukungan merupakan sumber berharga untuk mendapatkan jawaban atas pertanyaan spesifik dan belajar dari pengalaman pengguna Azure lainnya.
Jika Anda menyukai artikel ini, lihat juga postingan berikut: Azure DevOps Interview Questions dan Using GPT on Azure.
Saya adalah penulis teknis di MathWorks. Pekerjaan saya mencakup penyuntingan dan penulisan dokumentasi terkait produk MathWorks di Amazon Web Services, Microsoft Azure, Docker, dan NVIDIA.

