Virtual Machines (VM) adalah representasi virtual atau emulasi komputer fisik yang menggunakan perangkat lunak, bukan perangkat keras, untuk menjalankan program dan menerapkan aplikasi.
Dengan menggunakan sumber daya dari satu mesin fisik, seperti memori, CPU, antarmuka jaringan, dan penyimpanan, VM memungkinkan bisnis untuk menjalankan beberapa mesin secara virtual dengan sistem operasi yang berbeda pada satu perangkat.
VM biasanya disebut sebagai tamu, dengan satu mesin “tamu” atau lebih yang berjalan pada mesin fisik yang disebut mesin “host”. Teknologi VM mencakup server virtual, instans server virtual (VSI), dan server privat virtual (VPS).
Dalam laporan Global Market Insights (GMI) ukuran pasar virtual machine melampaui 9,5 miliar USD pada tahun 2023. GMI memproyeksikan pasar ini berkembang pada tingkat pertumbuhan tahunan gabungan (CAGR) sekitar 12% antara 2024 dan 2032, didorong oleh adopsi komputasi cloud yang stabil. Ketika bisnis beralih ke cloud untuk skalabilitas, fleksibilitas, dan efisiensi biaya, penyedia cloud terus mengintegrasikan virtual machine dan teknologi penting lainnya (misalnya, kontainer) untuk menyediakan infrastruktur IT yang konsisten.
VM bekerja dengan menggunakan virtualisasi, sebuah proses pembuatan sumber daya berbasis perangkat lunak atau versi virtual dari sumber daya (komputasi, penyimpanan, jaringan, server) atau aplikasi.
Virtualisasi memungkinkan penggunaan perangkat keras komputer fisik yang lebih efisien dan merupakan dasar untuk komputasi cloud.
Virtualisasi dimungkinkan dengan hypervisor, juga dikenal sebagai virtual machine monitor (VMM). Lapisan perangkat lunak ringan ini mengelola virtual machine saat mereka berjalan berdampingan satu sama lain.
Kelahiran virtualisasi kembali ke tahun 1964, ketika IBM merancang dan memperkenalkan CP-40, sebuah proyek penelitian pembagian waktu eksperimental untuk IBM System/360. CP-40, yang kemudian berevolusi menjadi CP-67 dan kemudian Unix, menyediakan perangkat keras komputer yang mampu mendukung beberapa pengguna simultan dan meletakkan dasar untuk virtual machine.
Pada tanggal 2 Agustus 1972, IBM meluncurkan produk yang dianggap sebagai virtual machine pertama, VM/370, dan mainframe System/370 pertama yang mendukung memori virtual.
Pada tahun 1998, VMware (tautan berada di luar ibm.com) mengembangkan sistem operasi x86, yang memungkinkan satu mesin untuk tersegmentasi menjadi beberapa virtual machine, masing-masing dengan sistem operasinya sendiri. Pada tahun 1999, perusahaan meluncurkan VM Workstation 1.0, produk komersial pertama yang memungkinkan pengguna untuk menjalankan beberapa sistem operasi sebagai virtual machine pada satu PC.
Saat ini, virtualisasi merupakan praktik standar untuk infrastruktur IT tingkat perusahaan dan kekuatan pendorong dalam ekonomi komputasi cloud, yang memungkinkan bisnis untuk mendorong pemanfaatan kapasitas yang lebih tinggi dan mengurangi biaya. Semua infrastruktur IT dapat divirtualisasi, termasuk lingkungan desktop, sistem operasi, perangkat keras penyimpanan, pusat data, dan banyak lagi.
Virtualisasi bergantung pada teknologi hypervisor. Lapisan perangkat lunak ini ditempatkan pada komputer fisik atau server (juga dikenal sebagai bare metal server) memungkinkan komputer fisik untuk memisahkan sistem operasi dan aplikasi dari perangkat kerasnya. Virtual machine ini dapat menjalankan sistem operasi dan aplikasi mereka secara independen sambil tetap berbagi sumber daya asli (memori, RAM, penyimpanan, dan sebagainya) dari server, yang dikelola oleh hypervisor. Intinya, hypervisor bertindak seperti polisi lalu lintas, mengalokasikan sumber daya ke virtual machine dan memastikan mereka tidak saling mengganggu.
Ada dua jenis utama hypervisor:
Selain klasifikasi menurut manajemen hypervisor, mesin virtual terbagi dalam dua kategori utama: virtual machines sistem (juga disebut virtualization machines penuh) dan virtual machines proses.
Sistem VM memungkinkan pembagian sumber daya mesin fisik yang mendasarinya di antara mesin virtual yang berbeda, masing-masing menjalankan sistem operasinya sendiri. Sebaliknya, mesin virtual proses (juga disebut mesin virtual aplikasi) menjalankan aplikasi di dalam OS dan mendukung satu proses. Mesin virtual Java, yang menjalankan program yang dikompilasi di Java, adalah contoh VM proses.
VM menawarkan banyak keunggulan dibandingkan perangkat keras fisik tradisional.
Karena beberapa VM (mesin virtual) berjalan pada satu komputer fisik, pelanggan tidak perlu membeli server baru setiap kali ingin menjalankan OS lain. Oleh karena itu, mereka bisa mendapatkan lebih banyak keuntungan dari setiap perangkat keras yang telah dimiliki, sehingga secara signifikan mengurangi biaya IT yang terkait dengan biaya modal dan operasional.
Karena VM berbasis perangkat lunak, mudah untuk membuat VM baru, sehingga lebih cepat untuk meningkatkan skala untuk memenuhi permintaan beban kerja baru dibandingkan dengan menyediakan lingkungan berbasis perangkat keras.
Bisnis dapat memindahkan VM sesuai kebutuhan di antara komputer fisik dalam jaringan. Kemampuan ini memungkinkan untuk mengalokasikan beban kerja ke server dengan daya komputasi cadangan. VM bahkan dapat berpindah antara lingkungan on premises dan cloud, menjadikannya berguna untuk skenario hybrid cloud di mana Anda berbagi sumber daya komputasi antara pusat data dan penyedia layanan cloud.
Membuat VM lebih cepat dan mudah dibandingkan menginstal OS di server fisik karena Anda dapat mengkloning VM dengan OS yang sudah diinstal. Pengembang dan penguji perangkat lunak dapat menciptakan lingkungan baru sesuai permintaan untuk menangani tugas-tugas baru yang muncul.
VM meningkatkan keamanan dalam beberapa cara dibandingkan dengan sistem operasi, yang berjalan langsung pada perangkat keras. Menggunakan program eksternal, Anda dapat memindai file VM untuk perangkat lunak berbahaya. Anda dapat membuat snapshot VM kapan saja dan mengembalikannya ke keadaan itu jika terinfeksi malware, secara efektif mengembalikan VM ke keadaan sebelumnya. Pembuatan VM yang cepat dan mudah juga memungkinkan untuk menghapus dan membuat ulang VM yang disusupi dengan cepat, sehingga mempercepat pemulihan dari infeksi malware.
Dengan lebih sedikit server fisik yang diperlukan untuk menjalankan beban kerja dan aplikasi, Anda dapat secara dramatis mengurangi konsumsi energi untuk meningkatkan dampak lingkungan Anda.
Sementara VM memiliki banyak manfaat, mereka memiliki beberapa kelemahan untuk dipertimbangkan.
VM bergantung pada ketersediaan sumber daya perangkat keras di komputer host. Keterbatasan sumber daya dapat menyebabkan berkurangnya kinerja dan efisiensi.
Mesin virtual bisa jadi rumit untuk dikonfigurasikan dan dikelola, sehingga membutuhkan tim dengan pengetahuan dan keahlian teknis untuk mengatur dan memeliharanya.
VM menimbulkan risiko titik kegagalan tunggal dengan mengandalkan satu komputer fisik.
VM memiliki berbagai kegunaan untuk administrator IT perusahaan dan pengguna, termasuk yang berikut:
Perusahaan pertama yang berhasil mengkomersialkan virtualisasi arsitektur mikroprosesor x86, VMware adalah pemimpin di pasar virtualisasi. VMware menyediakan hypervisor Tipe 1 dan Tipe 2 dan perangkat lunak VM untuk pelanggan perusahaan.
Sebagian besar hypervisor mendukung VM yang menjalankan OS Windows sebagai tamu. Hypervisor Microsoft Hyper-V hadir sebagai bagian dari sistem operasi Windows. Ketika diinstal, itu membuat partisi induk yang terdiri dari dirinya sendiri dan OS Windows utama, masing-masing mendapatkan akses istimewa ke perangkat keras. Sistem operasi lain, termasuk tamu Windows, berjalan di partisi turunan dan berkomunikasi dengan perangkat keras melalui partisi induk.
OS Android sumber terbuka Google umum di perangkat seluler dan rumah yang terhubung.
OS Android hanya berjalan pada arsitektur prosesor ARM yang khas untuk perangkat ini, tetapi penggemar, gamer Android atau pengembang perangkat lunak mungkin ingin menjalankannya pada PC. Situasi ini dapat menjadi masalah karena PC berjalan pada arsitektur prosesor x86 yang sama sekali berbeda dan hypervisor virtualisasi perangkat keras hanya meneruskan instruksi antara VM dan CPU. Itu tidak menerjemahkannya untuk prosesor dengan berbagai set instruksi.
Berbagai proyek, seperti Shashlik atau Genymotion, dapat mengatasi masalah ini dengan menggunakan emulator yang membuat ulang arsitektur ARM dalam perangkat lunak. Salah satu alternatifnya, proyek Android-x86, mem-porting Android ke arsitektur x86. Untuk menjalankannya, Anda harus menginstal program Android-x86 sebagai mesin virtual yang menggunakan hypervisor tipe 2 VirtualBox. Alternatif lain, Anbox, menjalankan sistem operasi Android pada kernel OS Linux host.
Apple mengizinkan sistem macOS-nya hanya berjalan pada perangkat keras Apple. Ini berarti Anda tidak dapat menjalankannya pada perangkat keras non-Apple sebagai VM atau di bawah perjanjian lisensi pengguna akhir. Namun, Anda dapat menggunakan hypervisor Tipe 2 pada perangkat keras Mac untuk membuat VM dengan tamu macOS.
Tidak mungkin menjalankan iOS di VM saat ini karena Apple secara ketat mengontrol OS iOS-nya dan hanya mengizinkannya berjalan di perangkat iOS.
Hal yang paling dekat dengan VM iOS adalah simulator iPhone yang disertakan dengan lingkungan pengembangan terintegrasi Xcode, yang mensimulasikan seluruh sistem iPhone dalam perangkat lunak.
Platform Java adalah lingkungan eksekusi untuk program yang ditulis dalam bahasa pengembangan perangkat lunak Java. Janji Java - "tulis sekali, jalankan di mana saja" - berarti bahwa program Java apa pun dapat berjalan di platform Java apa pun, itulah sebabnya platform Java menyertakan mesin virtual Java (JVM).
Program Java berisi bytecode, yang merupakan bentuk instruksi yang ditujukan untuk JVM. JVM mengkompilasi bytecode ini ke kode mesin, yang merupakan bahasa tingkat terendah yang digunakan oleh komputer host. JVM dalam satu platform Java platform komputasi membuat serangkaian instruksi kode mesin yang berbeda dengan JVM di platform lain, berdasarkan kode mesin yang diharapkan prosesor.
Oleh karena itu, JVM tidak menjalankan seluruh OS dan tidak menggunakan hypervisor seperti yang dilakukan VM lainnya. Sebaliknya, ini menerjemahkan program perangkat lunak tingkat aplikasi untuk berjalan pada perangkat keras tertentu.
Seperti JVM, VM Python tidak berjalan pada hypervisor atau berisi OS tamu. Ini adalah alat yang memungkinkan program yang ditulis dengan Python berjalan di berbagai CPU.
Mirip dengan Java, Python menerjemahkan programnya ke dalam format perantara yang disebut bytecode dan menyimpannya dalam sebuah file yang siap dieksekusi. Ketika program berjalan, VM Python menerjemahkan bytecode ke dalam kode mesin untuk eksekusi cepat.
Linux adalah OS tamu khas yang digunakan di banyak VM. Ini juga merupakan OS host khas yang digunakan untuk menjalankan VM dan bahkan memiliki hypervisor sendiri, mesin virtual berbasis kernel (KVM). Meskipun ini adalah proyek sumber terbuka, Red Hat® adalah pemilik KVM.
Ubuntu adalah distribusi Linux yang diproduksi oleh Canonical. Ini tersedia dalam versi desktop dan server, yang dapat Anda instal sebagai VM. Pengguna dapat menerapkan Ubuntu sebagai OS tamu di Microsoft Hyper-V. Ini menyediakan versi Ubuntu Desktop yang dioptimalkan yang bekerja dengan baik dalam Mode Sesi yang Disempurnakan Hyper-V, menyediakan integrasi yang erat antara host Windows dan Ubuntu VM. Ini termasuk dukungan untuk integrasi clipboard, pengubahan ukuran desktop dinamis, folder bersama, dan menggerakkan mouse antara desktop host dan tamu.
Mesin virtual publik atau multi penyewa adalah mesin virtual dengan banyak pengguna yang berbagi infrastruktur fisik yang sama. Model ini adalah pendekatan yang paling hemat biaya dan dapat diskalakan untuk penyediaan mesin virtual. Namun, lingkungan multi penyewa tidak memiliki beberapa karakteristik isolasi yang mungkin lebih disukai oleh organisasi dengan mandat keamanan atau kepatuhan yang ketat.
Dua model untuk komputer virtual penyewa tunggal adalah host khusus dan instans khusus.
Model bayar sesuai penggunaan tidak memiliki biaya di muka untuk mesin virtual, dan pengguna hanya membayar untuk apa yang mereka gunakan. Pelanggan membayar per jam atau detik, tergantung pada penyedia dan jenis instans.
Model VM dengan biaya terendah, yakni instance sementara atau spot, memanfaatkan kelebihan kapasitas penyedia, tetapi dapat diklaim kembali oleh penyedia kapan saja. Instance sementara/spot berguna untuk aplikasi yang tidak harus selalu aktif atau sangat mahal pada model lainnya.
Tidak seperti model bayar sesuai pemakaian, kasus yang dipesan datang dengan komitmen jangka waktu yang eksplisit, biasanya antara satu hingga tiga tahun, tetapi juga disertai dengan diskon besar.
Pengguna biasanya membayar total biaya server fisik dan ditagih dalam jumlah berapa pun yang ditawarkan penyedia server khusus, biasanya per jam atau per bulan.
Server bare metal adalah semua tentang perangkat keras mentah, daya, dan isolasi. Mereka adalah penyewa tunggal, server fisik yang sama sekali tidak memiliki siklus hypervisor (perangkat lunak virtualisasi) dan sepenuhnya didedikasikan untuk satu pelanggan, yaitu Anda.
Beban kerja yang memprioritaskan performa dan pengasingan, seperti aplikasi padat data dan mandat kepatuhan peraturan, biasanya paling cocok untuk server bare metal, terutama saat digunakan selama periode yang berkelanjutan.
Program sumber daya perusahaan (ERP), manajemen hubungan pelanggan (CRM), manajemen rantai pasokan (SCM), aplikasi e-commerce, dan layanan keuangan hanyalah beberapa beban kerja yang ideal untuk server bare metal.
Sebaliknya, ketika beban kerja Anda menuntut fleksibilitas dan skalabilitas maksimum, Anda lebih baik menempatkan hypervisor pada perangkat keras bare metal untuk membuat mesin virtual. Mesin virtual meningkatkan kapasitas dan pemanfaatan server. Mereka ideal untuk memindahkan data dari satu VM ke VM lainnya, mengubah ukuran kumpulan data, dan membagi beban kerja dinamis.
Cara termudah untuk memahami kontainer adalah mengetahui perbedaannya dari virtual machine (VM) tradisional. Dalam virtualisasi tradisional, baik on-premises maupun di cloud, hypervisor membantu memvirtualisasikan perangkat keras fisik. Setiap VM kemudian berisi OS tamu, salinan virtual dari perangkat keras yang dibutuhkan OS untuk berjalan dan aplikasi serta pustaka dan dependensi terkait.
Alih-alih memvirtualisasikan perangkat keras yang mendasarinya, kontainer memvirtualisasikan sistem operasi (biasanya Linux). Setiap kontainer hanya berisi aplikasi dan pustaka serta dependensinya. Tidak adanya OS tamu adalah alasan kontainer sangat ringan dan, dengan demikian, cepat dan portabel.
Kontainer dan Kubernetes, platform orkestrasi kontainer sumber terbuka yang mengelolanya, telah menjadi unit de facto dari arsitektur cloud native dan layanan mikro modern. Meskipun kontainer paling sering dikaitkan dengan layanan stateless, organisasi juga bisa menggunakannya untuk layanan stateful. Kontainer merupakan standar dalam skenario hybrid cloud karena dapat berjalan secara konsisten di seluruh cloud publik, cloud privat, dan pengaturan tradisional on premises. Saat ini, sebuah organisasi mungkin menjalankan aplikasi di cloud privatnya, tetapi di masa depan, mereka mungkin perlu menerapkannya di cloud publik dari penyedia yang berbeda. Mengkontainerkan aplikasi memberikan fleksibilitas yang dibutuhkan untuk menangani banyak lingkungan perangkat lunak IT modern.
Penting untuk diingat bahwa bisnis dapat hidup berdampingan dengan kontainer dan mesin virtual. Misalnya, menjalankan kontainer di VM adalah hal yang lumrah karena banyak perusahaan memiliki infrastruktur berbasis VM.
Sebuah perusahaan dapat memilih kontainer untuk menjalankan aplikasi dan menggunakan virtual machine untuk menyediakan infrastruktur yang mendasarinya. Metode ini menggabungkan portabilitas dan kecepatan kontainer dengan keamanan virtual machine. Dalam skenario lain, suatu lembaga keuangan dapat menggunakan VM untuk sistem basis datanya, demi memastikan keamanan yang lebih ketat dengan isolasi sumber daya dan menggunakan kontainer untuk aplikasi front-end seperti aplikasi mobile yang berhadapan langsung dengan pelanggan.
Postingan blog “Containers versus VMs: What's the difference?” menjelaskan lebih lanjut.
Video berikut menguraikan dasar-dasar kontainerisasi dan perbandingannya dengan menggunakan VM:
Memilih mesin virtual dan penyedia cloud dimulai dengan meninjau kebutuhan beban kerja dan kebutuhan anggaran Anda, bersama dengan faktor penting lainnya. Di bawah ini adalah 10 hal yang perlu dipertimbangkan ketika memilih penyedia layanan mesin virtual.
IBM Cloud Virtual Server for VPC merupakan rangkaian server virtual Intel x86, IBM Z, dan IBM LinuxONE yang dibangun pada IBM Cloud Virtual Private Cloud.
Server khusus IBM Cloud menyediakan solusi hosting web yang dapat diskalakan dengan lalu lintas backhaul gratis tanpa batas dan opsi penyesuaian yang luas.
Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara menciptakan solusi dengan berkreasi bersama, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.