Sanal Makine (Virtual Machine) Nedir, Nasıl Çalışır?

Sanal Makine (Virtual Machine) veya kısaca VM; dizüstü bilgisayar, akıllı telefon, sunucu vb. fiziksel bilgisayarlardan tamamen farklı değildir. Sanal Makine de tıpkı klasik bir PC gibi dosyalarınızı depolayabilmek için CPU, bellek ve disklere sahiptir.

İnternete de bağlanabilen Virtual Machine, bilgisayarları oluşturan parçaların yani donanım aygıtlarının fiziksel ve somut olmasından dolayı genellikle fiziksel sunucular içerisinde sadece kod olarak yer alan sanal bilgisayar ya da yazılım tanımlı bilgisayar olarak ifade edilebilir.

Sanal Makine Nasıl İşlev Gösterir? (Çalışma Mekanizması)

Sanal Makine (VM), fiziki bir bilgisayarda çalıştırılmak istenen belirli bir yazılımın çalıştırılabilmesi amacıyla kullanılan bir bilgisayar olarak tanımlanabilir. Zira Sanal Makine, tıpkı fiziksel bir makinede olduğu gibi kendine ait işletim sistemine, depolamaya, ağa, konfigürasyon ayarlarına ve yazılıma sahiptir. Birincil bilgisayarda çalışan diğer sanal makinelerdense bütünüyle izole edilmiştir.

Sanal makinenin nasıl bir çalışma standardına sahip olduğunun anlaşılabilmesi için öncelikle “sanallaştırma” kavramını izah etmek gerekir. Sanallaştırma, kişisel bilgisayarınız gibi fiziki bir bilgisayardan veya bir bulut sağlayıcısının veri merkezinde bulunan bir sunucu gibi uzak bir sunucudan ödünç alınan, ayrılmış miktarlarda CPU, depolama ve bellek ile bir PC’nin yazılım tabanlı veya “sanal” bir versiyonu oluşturma işlemidir.

Sanal makine ise tıpkı gerçek bir bilgisayar gibi hareket edebilen bir bilgisayar dosyasıdır. Söz konusu dosyaya ise “görüntü” denir. Görüntü adlı bu dosya pek çok kullanıcının iş bilgisayarında yaygın şekilde olduğu gibi, bir pencerede, çoğu zaman farklı bir işletim sisteminin çalıştırılması amacıyla veya kullanıcının tüm bilgisayar deneyimi olarak işlev görmesini sağlamak için ayrı bir bilgi işlem ortamı şeklinde işlev gösterebilir.

Sistemin geri kalan kısmından bölümlenmiş olan VM, ana bilgisayarın birincil işletim sisteminden izoledir ve bu sisteme müdahil olmaz.

Sanal Makine (VM) Neden Kullanılır?

Bireyleri sanal makine (Virtual Machine) kullanımına yönlendiren pek çok neden mevcut olmakla birlikte başlıca sebepler şu şekilde sıralanabilir:

  • Mevcutta kullanılan işletim sisteminin yedeklenmesi,
  • Uygulamaların bulut üzerinde derlenmesi ve dağıtılması,
  • Yeni bir işletim sistemi (OS) denemesi (beta sürümler dahil),
  • Virüs bulaşmış verilere ulaşılması ya da eski bir işletim sistemi kurarak eski bir uygulamanın çalıştırılması,
  • Geliştirme uzmanlarının geliştirme ve test senaryolarını çalıştırabilmesini pratik, kolay ve hızlı kılmak amacıyla bir yeni ortam oluşturulması,
  • Uygulama ve/veya yazılımlarım, başlangıçta hedeflendikleri işletim sistemlerinde çalıştırılması.

Çok fazla sayıda küçük iş yükünün bir tek fiziki bilgisayar üzerinde birleştirilmesi, verimliliğin maksimize edilmesini sağlar. Bu birleştirme işlemi ise sanallaştırma sayesinde mümkündür. Sanallaştırmanın sağladığı verim maksimizasyonu ise BT giderinde düşüş yaşanmasına katkı sağlar.

Sanal Makine Kullanımı Ne Gibi Kazanımlar Sunar, Avantajları Nelerdir?

Sanal makine kullanımı ile elde edilebilecek önemli ve bazı senaryolarda alternatifsiz kazanımlar söz konusudur. Birbirinden ve fiziksel konak makineden tamamıyla ayrı kalma avantajına sahip olan sanal makineler, ayrı işletim sistemleri ve uygulamalarına sahip ayrı bilgisayarlar gibi işlev gösterebilirler.

Sanal Makine Yöneticisi (Hiber Yönetici) adı verilen yazılım parçası sayesinde farklı işletim sistemlerini eşzamanlı olarak farklı sanal makinelerde çalıştırmak mümkündür. Örneğin işletim sistemi olarak Windows kullanılırken bu sistemde Windows’un geçmiş bir sürümü çalıştırılabilir.

Sanal makineler birbirinden bağımsızdırlar. Bu sayede oldukça pratik taşınabilme özelliği gösterirler. Bir Sanal Makine Yöneticisinde bulunan bir VM’yi tamamıyla farklı bir makine üzerinde, eşzamanlı olarak bir başka hiper yöneticiye yani Sanal Makine Yöneticisine taşımak mümkündür. Bunların yanı sıra;

  • Maliyet Tasarrufu

Birden fazla sayıda sanal ortamı bir tek altyapı parçası yardımıyla çalıştırmak, fiziki altyapı ayak izinin ciddi oranda azaltılmasını sağlar. Bu sayede, çok sayıda sunucunun korunması ve bakımı için ayrılacak maliyetlerin ve elektrik giderinin düşürülmesine katkı sağlar.

  • Hız ve Çeviklik

Oldukça pratik, kolay ve hızlı bir şekilde kurulabilen VM’ler, çeviklik ve hız kazandırır. Bunun yanı sıra geliştiriciler için baştan sona yeni bir ortam oluşturmaya göre çok daha kolaydır. Ayrıca sanallaştırma, geliştirme ve test senaryolarının çalıştırılma sürecini son derece kolay kılar

  • Ölçeklenebilirlik

Sanal makinelerin bir başka önemli özelliği ise uygulamalarınızın kolay ölçeklendirilebilmesine olanak tanımasıdır. Zira Sanal Makineler, birden çok VM arasında iş yükü paylaştırmak amacıyla daha fazla fiziki ya da sanal sunucu entegre edilerek uygulama ölçeklendirmeyi mümkün kılar. Sonuçta, uygulamalar kullanılabilirlik ve performans bakımından maksimize edilir.

  • Optimize Edilmiş Kapalı Kalma Süresi

Son derece taşınabilir olması ile öne çıkan VM’lerin farklı bir makinede bir hiber yöneticiden bir başkasına kolaylıkla transfer edilebilir. Bu özellik, beklenmeyen durumlarda konağın aniden kapanması ihtimalinde yedekleme bakımından sağlıklı bir çözüm sunar.

  • Güvenlik

Sanal makinelerin bir diğer avantajı ise birincil (ana) bilgisayar işletim sisteminin şüpheli uygulamalar sebebiyle yaşanabilecek güvenlik açıklarından korunması için gerekli imkanı sunmasıdır. Zira sanal makineler birden fazla işletim sistemi üzerinde çalışabilir. Bu nedenle, bir VM’de konut işletim sisteminin kullanılması, güvenlik zafiyetleri bulunan uygulamalar birincil işletim sistemine aktarılmadan test edilebilir.