Melampaui Batas: Mengapa Anda Membutuhkan Azure Compute Fleet untuk Beban Kerja Berskala Besar
By Mirko Peters ·
Selamat datang kembali dalam eksplorasi kami yang berkelanjutan tentang arsitektur cloud tingkat lanjut. Dalam episode podcast terbaru kami, "Azure Compute Fleet – Simply Explained", kami membahas sebuah m…
Automatically translated with AI from the original post. Read the English original

Selamat datang kembali dalam rangkaian eksplorasi kami tentang arsitektur cloud tingkat lanjut. Dalam episode podcast terbaru kami, Azure Compute Fleet – Simply Explained, kami membahas tantangan besar yang dihadapi perusahaan modern saat mengelola infrastruktur cloud. Jika Anda pernah mencoba menyediakan ratusan atau ribuan mesin virtual sekaligus untuk tugas batch yang berat, simulasi komputasi performa tinggi, atau pipeline pemrosesan data berskala besar, Anda pasti sudah tahu betapa frustrasinya ketika tiba-tiba menghadapi batas kapasitas. Dalam postingan blog ini, kami akan memperluas konsep tersebut, menguraikan mengapa metode tradisional tidak memadai dan bagaimana Azure Compute Fleet secara mendasar mengubah cara Anda memperoleh dan mengelola sumber daya komputasi berskala besar di cloud.
Apa Itu Azure Compute Fleet?
Azure Compute Fleet adalah layanan terkelola khusus yang dirancang untuk menyelesaikan masalah kapasitas berskala besar. Ketika Anda perlu menskalakan beban kerja dari nol hingga ribuan worker secara instan, metode deployment standar dapat dengan mudah menjadi hambatan. Membuat satu mesin virtual itu mudah, tetapi meminta satu region menyediakan seribu mesin virtual identik dengan SKU yang persis sama adalah tantangan yang sama sekali berbeda. Azure Compute Fleet mengubah pertanyaan mendasar yang Anda ajukan kepada cloud. Alih-alih bertanya, "Bagaimana cara mendapatkan seribu VM identik dengan ukuran persis ini?", Anda bertanya, "Bagaimana cara mendapatkan kapasitas komputasi yang dibutuhkan beban kerja saya dengan menggunakan berbagai opsi yang dapat diterima?" Dengan mendeskripsikan kebutuhan kapasitas secara keseluruhan, ukuran VM yang dapat diterima, preferensi regional, serta toleransi Anda terhadap harga on-demand dibandingkan harga Spot yang lebih murah, Azure dapat mencari secara cerdas di berbagai kumpulan ketersediaan untuk mengamankan sumber daya yang dibutuhkan aplikasi Anda.
Mengapa Fleksibilitas Itu Penting
Untuk memahami mengapa Compute Fleet begitu powerful, kita perlu melihat lebih dekat cara kerja kapasitas cloud. SKU mesin virtual merepresentasikan kombinasi spesifik dari CPU, memori, arsitektur penyimpanan, dan keluarga prosesor. Jika skrip otomatisasi Anda hanya meminta satu SKU tertentu, Azure hanya dapat mencari kecocokan yang persis sama. Jika keluarga tersebut sedang mengalami permintaan tinggi di region target Anda, deployment Anda akan tertahan dalam antrean atau gagal sepenuhnya. Compute Fleet memperkenalkan fleksibilitas dengan memungkinkan Anda menentukan berbagai ukuran VM yang dapat diterima. Selama beban kerja Anda dirancang untuk berjalan dengan sukses pada konfigurasi perangkat keras yang berbeda-beda tersebut, Azure dapat mendistribusikan worker Anda secara dinamis. Pada skala besar, fleksibilitas ini secara eksponensial meningkatkan peluang Anda untuk berhasil memperoleh jumlah total daya komputasi yang tepat, pada saat Anda membutuhkannya.
Hingga 10.000 VM dalam Satu Fleet
Mengelola infrastruktur berskala besar secara manual adalah resep untuk kelelahan operasional. Menulis skrip orkestrasi kustom untuk menangani percobaan ulang deployment, ukuran VM cadangan, dan pemantauan di puluhan konfigurasi berbeda dengan cepat berubah menjadi mimpi buruk yang sulit dipelihara. Compute Fleet dirancang untuk menghilangkan beban operasional tersebut dengan mendukung hingga 10.000 mesin virtual dalam satu permintaan fleet. Anda mendefinisikan parameter fleet sekali, dan Azure mengevaluasi inventaris yang tersedia di seluruh pilihan yang diizinkan, secara otomatis mengidentifikasi kombinasi sumber daya yang optimal, lalu membuat kelompok mesin virtual dasar yang diperlukan. Kemampuan native ini memungkinkan tim engineering fokus pada beban kerja mereka yang sebenarnya, alih-alih menghabiskan waktu berjam-jam untuk memecahkan masalah alokasi infrastruktur.
Yang Tidak Dilakukan Compute Fleet
Meskipun Azure Compute Fleet sangat membantu dalam memperoleh kapasitas, penting untuk memahami batasannya. Compute Fleet menyelesaikan masalah kapasitas; ia tidak menentukan atau menggantikan seluruh arsitektur aplikasi Anda. Anda tetap sepenuhnya bertanggung jawab untuk menyediakan image virtual machine, konfigurasi jaringan, security group, dan perangkat lunak aplikasi yang dibutuhkan setiap worker untuk menjalankan tugasnya. Compute Fleet tidak secara inheren mengetahui apakah worker Anda sedang merender efek visual sinematik, menjalankan perhitungan keuangan yang kompleks, menjalankan regression test otomatis, atau menganalisis data telemetri ilmiah mentah. Selain itu, Compute Fleet tidak menggantikan komponen arsitektur inti seperti load balancer, durable message queue, logika aplikasi, atau mekanisme disaster recovery. Misi utamanya yang sangat terfokus adalah memperoleh dan mengelola kapasitas komputasi dalam jumlah besar ketika tersedia beberapa konfigurasi yang dapat diterima.
Memilih Ukuran VM yang Dapat Diterima
Merancang deployment fleet yang efektif dimulai dengan keputusan arsitektur yang krusial: menentukan ukuran VM mana yang benar-benar dapat digunakan aplikasi Anda. Pada skala fleet, perhatian utama Anda sebaiknya bukan mengamankan model prosesor tertentu berdasarkan preferensi pribadi. Sebagai gantinya, Anda perlu melakukan audit menyeluruh terhadap kebutuhan perangkat lunak Anda. Berapa jumlah core CPU, ambang batas memori, metrik performa penyimpanan lokal, atau jenis akselerator yang benar-benar dibutuhkan aplikasi Anda? Jika beberapa keluarga VM memenuhi ambang batas operasional tersebut, membiarkan semuanya terbuka memberi Azure ruang pencarian yang jauh lebih luas. Namun, Anda harus memvalidasi secara ketat setiap ukuran yang Anda sertakan. Jangan pernah menambahkan keluarga VM ke konfigurasi fleet Anda semata-mata karena terlihat lebih murah, jika perangkat lunak Anda membutuhkan instruction set tertentu, driver khusus, konfigurasi penyimpanan yang unik, atau kemampuan perangkat keras yang spesifik.
Kapasitas vs. Harga
Pertimbangan desain besar lainnya adalah menyeimbangkan kebutuhan kapasitas segera dengan optimasi biaya secara keseluruhan. Beban kerja yang berbeda membutuhkan strategi deployment yang sepenuhnya berbeda. Misalnya, kalkulasi risiko keuangan semalam mungkin memiliki jendela eksekusi yang ketat dan harus selesai sebelum pasar global dibuka keesokan paginya. Dalam skenario khusus seperti ini, memperoleh kapasitas yang terjamin secara langsung jauh lebih penting daripada mengamankan harga per core yang paling rendah. Sebaliknya, beban kerja lain memiliki fleksibilitas penjadwalan yang besar. Pengujian latar belakang, simulasi jangka panjang, pemrosesan data yang menumpuk, dan lingkungan pengembangan sementara sering kali dapat mentoleransi sedikit keterlambatan dalam memperoleh kapasitas penuh sebagai imbalan atas biaya infrastruktur yang jauh lebih rendah. Compute Fleet memberi organisasi kebebasan arsitektur untuk menyesuaikan deployment mereka dengan prioritas operasional yang berbeda-beda.
Pemilihan VM Berbasis Atribut
Agar konfigurasi menjadi lebih andal, Azure menawarkan pendekatan pemilihan VM berbasis atribut, yang disorot dalam materi podcast kami baru-baru ini sebagai fitur preview yang powerful. Alih-alih memaksa Anda mendaftar secara manual puluhan SKU VM yang persis, kemampuan ini memungkinkan Anda menentukan karakteristik umum. Anda dapat menetapkan parameter seperti jumlah vCPU minimum dan maksimum, rentang memori, kebutuhan penyimpanan NVMe lokal, atau akselerator GPU khusus. Azure kemudian secara dinamis mengidentifikasi dan menggunakan ukuran VM yang sesuai dengan definisi atribut tersebut. Hal ini memberikan kemampuan future-proofing yang luar biasa seiring Microsoft memperkenalkan generasi VM baru yang lebih efisien ke cloud, meskipun aplikasi Anda tetap harus menjalani validasi yang tepat terhadap profil perangkat keras baru yang cocok.
VM On-Demand
Membangun fleet yang tangguh berarti memahami peran berbeda dari model pembelian yang tersedia. Virtual machine on-demand membentuk fondasi fleet yang stabil dan sangat andal. Ketika Anda meminta VM on-demand, Anda membayar tarif standar yang dapat diprediksi, dan Azure menjamin tidak akan mengambil kembali resource tersebut hanya karena lonjakan permintaan dari pelanggan lain. Hal ini membuat kapasitas on-demand ideal untuk kebutuhan komputasi dasar minimum yang harus selalu tersedia agar beban kerja Anda tetap berjalan. Komponen infrastruktur kritis seperti job coordinator, listener message queue, dan worker dasar utama hampir selalu sebaiknya menggunakan kapasitas on-demand untuk memastikan pengawasan yang tidak terputus.
VM Spot
Di sisi lain dari spektrum pembelian, kita menemukan mesin virtual Spot. VM Spot memungkinkan Anda memanfaatkan kapasitas komputasi Azure yang tidak terpakai dengan diskon besar, sering kali menghemat hingga sembilan puluh persen dibandingkan harga on-demand standar. Konsekuensi dari penghematan luar biasa ini adalah risiko interupsi. Azure berhak mengambil kembali kapasitas Spot dengan pemberitahuan singkat kapan pun permintaan regional memerlukan sumber daya fisik tersebut. Hal ini membuat VM Spot sangat menarik untuk beban kerja yang toleran terhadap kegagalan, di mana worker dapat hilang di tengah tugas tanpa menyebabkan kegagalan fatal, asalkan arsitektur Anda dibangun untuk mencoba ulang operasi yang terinterupsi secara aman.
Menggabungkan Kapasitas Spot dan On-Demand
Anda tidak harus memilih antara strategi on-demand murni atau pendekatan yang sepenuhnya mengandalkan Spot. Faktanya, arsitektur yang paling tangguh menggabungkan kedua model pembelian ke dalam satu armada yang terpadu. Dengan menggunakan VM on-demand untuk control plane dan worker fondasi yang persisten, Anda menjamin throughput minimum yang dapat diprediksi. Pada saat yang sama, Anda dapat membanjiri armada dengan VM Spot untuk menangani penskalaan komputasi besar dengan biaya yang jauh lebih rendah. Jika Azure mengambil kembali sebagian worker Spot saat kapasitas menipis, worker on-demand inti Anda tetap memproses tanpa gangguan, sehingga tercapai keseimbangan ekonomi yang baik antara penghematan finansial dan stabilitas operasional.
Rancang untuk Interupsi
Meskipun Azure Compute Fleet mengelola alokasi kapasitas di baliknya dengan baik dan menangani notifikasi untuk interupsi Spot secara elegan, layanan ini tidak dapat secara ajaib melindungi data aplikasi yang tersimpan hanya di dalam memori worker individual. Agar benar-benar memanfaatkan kekuatan sebuah armada, beban kerja Anda harus dirancang sejak awal untuk menangani penghentian worker. Sebagai contoh, pertimbangkan pipeline rendering video terdistribusi. Jika sebuah proyek dibagi menjadi tugas-tugas rendering frame individual, dan VM Spot diambil kembali oleh Azure saat sedang memproses frame 412, tugas tersebut seharusnya otomatis dikembalikan ke antrean pesan pusat Anda agar worker lain yang tersedia dapat mengambilnya. Pola arsitektur yang sama ini juga berlaku untuk simulasi ilmiah, build perangkat lunak otomatis, pengujian integrasi berkelanjutan, dan analitik data berskala besar.
Simpan State di Luar Worker
Agar dapat bertahan dalam lingkungan armada yang dinamis, aplikasi Anda harus mematuhi satu aturan emas: simpan state sepenuhnya di luar worker. Jangan mengandalkan penyimpanan disk sementara lokal untuk data persisten yang kritis. Sebagai gantinya, manfaatkan solusi penyimpanan yang tahan lama seperti Azure Blob Storage, database relasional terkelola, atau penyimpanan NoSQL terdistribusi untuk menjaga sumber kebenaran. Gunakan antrean yang tahan lama untuk mendistribusikan tugas ke seluruh armada, dan pastikan worker Anda menulis checkpoint secara berkala selama operasi yang berjalan lama. Rancang tugas Anda agar bersifat idempoten, yang berarti tugas tersebut dapat dijalankan berkali-kali tanpa menciptakan catatan duplikat atau keluaran yang rusak. Ketika VM Spot menghilang secara tiba-tiba, Anda hanya kehilangan sebagian kecil pekerjaan yang sedang berjalan, bukan berjam-jam pemrosesan yang tidak dapat dipulihkan.
Compute Fleet vs. Virtual Machine Scale Sets
Pertanyaan yang sering diajukan para engineer ketika mempelajari teknologi ini adalah bagaimana Compute Fleet dibandingkan dengan Azure Virtual Machine Scale Sets (VMSS). Kedua layanan ini sama-sama mengelola kelompok mesin virtual, tetapi keduanya dibuat untuk menyelesaikan masalah yang sangat berbeda. Virtual Machine Scale Sets biasanya dimulai dari tingkat aplikasi tertentu. Anda men-deploy aplikasi web, API microservices, atau aplikasi line-of-business perusahaan di belakang load balancer, lalu VMSS menaikkan atau menurunkan jumlah instance identik berdasarkan lalu lintas jaringan yang masuk atau ambang batas CPU. Compute Fleet, di sisi lain, berangkat dari premis yang sama sekali berbeda: bagaimana saya bisa dengan cepat memperoleh kumpulan kapasitas komputasi fleksibel yang besar untuk menuntaskan tumpukan pekerjaan terdistribusi?
Kapan Menggunakan Virtual Machine Scale Sets
Virtual Machine Scale Sets tetap menjadi standar emas untuk tier aplikasi yang berjalan lama dan terus-menerus, di mana instans menjalankan peran yang seragam dan perlu merespons lalu lintas pengguna secara dinamis. Kasus penggunaan yang ideal mencakup aplikasi web yang menghadap pelanggan, API publik, toko daring, dan server aplikasi backend yang berada di belakang Azure LoadBalancer atau Application Gateway. Dalam lingkungan seperti ini, menjaga kesehatan aplikasi secara berkelanjutan, merutekan lalu lintas klien secara mulus, dan mengelola pembaruan sistem operasi bergulir pada instans yang identik adalah pendorong utama desain Anda.
Kapan Menggunakan Compute Fleet
Sebaliknya, Compute Fleet paling unggul ketika kendala utama Anda adalah memperoleh daya komputasi mentah dalam jumlah besar untuk tugas asinkron, berbasis batch, atau independen. Skenario tipikalnya meliputi klaster high-performance computing, pemrosesan batch keuangan, simulasi pemodelan molekuler, pipeline ingesti data berskala besar, rangkaian pengujian otomatis, server rendering media, dan kumpulan pekerja sementara. Dalam arsitektur ini, sebuah pekerja mengambil satu unit kerja yang terpisah, memprosesnya, menulis keluarannya ke penyimpanan persisten, lalu langsung beralih ke tugas berikutnya. Jika sebuah pekerja menghilang, sistem cukup menugaskan unit kerja tersebut ke node lain yang tersedia.
Anda Bisa Menggunakan Keduanya
Bagian terbaik dari arsitektur cloud modern adalah Anda tidak harus memilih salah satu alat saja. Azure Compute Fleet dan Virtual Machine Scale Sets tidak saling eksklusif; keduanya dapat bekerja sama secara harmonis dalam ekosistem perusahaan yang sama. Misalnya, sebuah aplikasi perusahaan yang canggih dapat memanfaatkan Virtual Machine Scale Set untuk menopang frontend web dan tier API yang berketersediaan tinggi, sehingga memastikan pengalaman pengguna yang sempurna. Pada saat yang sama, aplikasi tersebut dapat menjalankan Azure Compute Fleet di latar belakang untuk menangani pergudangan data malam hari yang berat, pembuatan laporan batch, atau simulasi yang kompleks. Dengan memilih alat yang tepat untuk setiap tier, Anda membangun arsitektur yang sangat responsif bagi pengguna sekaligus hemat biaya dalam skala besar.
Untuk menggali lebih dalam arsitektur ini dan mendengarkan tips implementasi praktis, pastikan Anda mendengarkan episode podcast pendamping kami yang lengkap: Azure Compute Fleet – Simply Explained. Jangan lupa dukung acara kami dan nantikan lebih banyak pembahasan mendalam tentang rekayasa cloud!
Jadilah pendukung podcast ini: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.