{"id":111248,"date":"2020-11-13T16:00:38","date_gmt":"2020-11-13T13:00:38","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/whats-the-difference-between-virtualization-and-emulation-why-it-matters-cloudsavvy-it\/"},"modified":"2020-11-13T16:00:38","modified_gmt":"2020-11-13T13:00:38","slug":"whats-the-difference-between-virtualization-and-emulation-why-it-matters-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/whats-the-difference-between-virtualization-and-emulation-why-it-matters-cloudsavvy-it\/","title":{"rendered":"#What\u2019s the Difference Between Virtualization And Emulation? Why it Matters \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a316b65e9be6\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a316b65e9be6\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/whats-the-difference-between-virtualization-and-emulation-why-it-matters-cloudsavvy-it\/#A_Matter_Of_Performance\" >A Matter Of Performance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/whats-the-difference-between-virtualization-and-emulation-why-it-matters-cloudsavvy-it\/#How_Does_Docker_Compare\" >How Does Docker Compare?<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#What\u2019s the Difference Between Virtualization And Emulation? Why it Matters \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure id=\"attachment_7956\" style=\"width: 700px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7956 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/1890ad8015b2db54712c9eb34bc9aadd\/p\/uploads\/2020\/11\/d0807106.png\" alt=\"\" width=\"700\" height=\"300\" data-crediturl=\"https:\/\/www.shutterstock.com\/image-illustration\/3d-rendering-abstract-highway-path-through-1493123198\" data-credittext=\"Shutterstock\/kkssr\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"imagecredit\"><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-illustration\/3d-rendering-abstract-highway-path-through-1493123198\">Shutterstock\/kkssr<\/a><\/span><\/figcaption><\/figure>\n<p>Both emulation and virtualization accomplish the same goal\u2014running another operating system inside a virtual machine. However, they each do this differently, and when it can be used, virtualization is much faster.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"A_Matter_Of_Performance\"><\/span>A Matter Of Performance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The short answer is that emulation is much slower than virtualization, and it all comes down to\u00a0<em>hardware optimizations<\/em>.<\/p>\n<p>Emulation is the most basic form of running an <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a> on an unintended host. An emulator takes commands intended for the target system and translates them into something the host computer can understand, and run. Usually this involves emulating CPU opcodes and registers.\u00a0A good example of this is emulating old <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/game\/\" data-internallinksmanager029f6b8e52c=\"7\" title=\"Game\" target=\"_blank\" rel=\"noopener\">game<\/a>s, like Nintendo N64, on a modern day PC. The PC can\u2019t run N64 games directly, but the emulator is able to take the instructions meant for the N64 and run them as close to perfection as possible.<\/p>\n<p>While \u201cEmulation\u201d is commonly used to refer to video game emulation, it\u2019s used just as often for business applications. For example, maybe you have a critical piece of legacy software, that must run on a system like DOS. Running it in an emulator on a new server can often be easier than running it on a machine from the time. It can also refer to a piece of software emulating the effects of legacy hardware, such as emulating old network controllers.<\/p>\n<p>However, emulation can be unnecessarily slow. An extremely common use case is running multiple Linux virtual machines on one host operating system. When the host machine is the same as the virtual machine, fully emulating the whole CPU is very slow compared to just running it normally.<\/p>\n<p>So instead, most virtual machines will use hardware optimized virtualization <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/technology\/\" data-internallinksmanager029f6b8e52c=\"4\" title=\"Technology\" target=\"_blank\" rel=\"noopener\">technology<\/a>. On Intel, this tech is called Intel-VT, and on AMD, it\u2019s called AMD-V. Both accomplish the same goal of virtualizing x86 applications. If you\u2019re running a desktop computer, you may have to turn these on in the BIOS if they aren\u2019t enabled by default.<\/p>\n<p>Virtualization is often used in combination with a Hypervisor, which is a barebones OS that handles multiple virtual private servers. If you\u2019re renting a VPS from a cloud compute company like AWS, it\u2019s likely running on a hypervisor like AWS\u2019s Nitro, Proxmox, or Hyper-V. Modern hypervisors can achieve performance very close to native (also called \u201cbare metal\u201d). While there\u2019s always a bit of overhead, it\u2019s better than having to emulate it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2149\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/a715d0379bf7924420a3fa4416f6ba1c\/p\/uploads\/2019\/10\/09e08ec3.png\" alt=\"\" width=\"700\" height=\"300\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Virtualization almost always works best if you\u2019re virtualizing the same architecture. For example, x86 CPUs from AMD and Intel will be able to virtualize x86 operating systems like standard Windows and Linux. While it\u2019s not technically impossible for an ARM CPU to virtualize an x86 CPU, it\u2019s <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/general\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"General\" target=\"_blank\" rel=\"noopener\">general<\/a>ly not a thing.<\/p>\n<p>This can be a problem, like in the case of <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.zdnet.com\/article\/windows-10-on-apples-future-arm-based-macs-its-not-an-option-via-boot-camp\/#:~:text=Apple%27s%20new%20Arm%2Dbased%20Macs,support%20Apple%27s%20Arm%2Dbased%20chips.\">Apple\u2019s new ARM based Macbooks<\/a> that run on their own M1 processors. Virtualization of x86 operating systems is not supported. While you can still run other OSes with programs like Parallels, it\u2019s going to be a lot slower since it will have to resort to emulation.<\/p>\n<p>So, in conclusion, if you\u2019re going to be running a program from another operating system, you\u2019ll want to make sure you\u2019re doing so using some sort of virtualization if you want to achieve anywhere close to 100% native speed.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"How_Does_Docker_Compare\"><\/span>How Does Docker Compare?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-503\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/576bdb68675c300a17d82c131b23c927\/p\/uploads\/2019\/06\/c454d054.png\" alt=\"\" width=\"700\" height=\"300\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Docker allows for running apps containers, which are isolated packages that contain all the code necessary for an app to run. It\u2019s also very secure; a host machine can run multiple Docker containers without fear of them breaking out of the container or messing with each other.<\/p>\n<p>In many ways, Docker achieves the same exact goal of running multiple applications in private Linux virtual machines, but under the hood, it does things a bit differently.<\/p>\n<p>Docker doesn\u2019t use emulation, or virtualization. It runs all code directly on the CPU and host system, with zero virtualization overhead. In order to isolate containers, it makes clever use of Linux namespaces, among other features that can isolate processes in their own \u201ccontainer jail.\u201d Processes inside the jail cannot see or interact with files, processes, or system resources not assigned to them.<\/p>\n<p>This achieves a system where multiple apps can run alongside each other on one host operating system without the overhead of a separate operating system for each virtual private server. For a provider like AWS, this saves<em>\u00a0a lot of money<\/em>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2083\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/96ffef27fdce1e01e3e395747c23ca19\/p\/uploads\/2019\/09\/993634a1.png\" alt=\"\" width=\"700\" height=\"300\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>If you\u2019re looking into virtualizing, but are concerned about performance, Docker has next to no overhead compared to running apps on the bare metal. You can read our guide to getting started with it to learn more.<\/p>\n<p><strong>RELATED:<\/strong> <strong><em>How to Package Your Application&#8217;s Infrastructure with Docker<\/em><\/strong>\n<\/div>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener noreferrer\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/7952\/whats-the-difference-between-virtualization-and-emulation-why-it-matters\/\" target=\"_blank\" rel=\"noopener noreferrer\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#What\u2019s the Difference Between Virtualization And Emulation? Why it Matters \u2013 CloudSavvy IT&#8221; Shutterstock\/kkssr Both emulation and virtualization accomplish the same goal\u2014running another operating system inside a virtual machine. However, they each do this differently, and when it can be used, virtualization is much faster. A Matter Of Performance The short answer is that emulation&#8230;<\/p>\n","protected":false},"author":1,"featured_media":111249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/11\/d0807106.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-111248","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/111248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=111248"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/111248\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/111249"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=111248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=111248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=111248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}