Anything ‘virtual’ means it is existing but not physically. It exists and can be experienced by any one or more than one of your senses. Does it make any sense?
I’ll give you another one. A virtual machine is a machine, usually a computer that exists as a software program. It can do anything and everything that a flush and blood computer does, (If computers had flush and blood. But they have chips and wires) but without having a physical form.
Still don’t get it?
It is computer that exists inside a computer. As a software. It can do anything that a computer can. And it also acts like a separate computer.
Why do we need virtual computing?
Anyone with a computer knows that you cannot run the same program as two instances at a time. What will you do if you have to run a program with different set of values? You can run the program with the initial set of values one time, and then run it again with the second set. What if you are on a tight schedule and want to run both at the same time? You only have one computer. Then you can make use of a virtual machine. You can have two or more computers sharing the same hardware and running the programs simultaneously.
Virtual Machines only exist as codes.
Experts and programmers have a different set of uses for virtual machines:
- You can build and deploy apps to the cloud.
- To beta test a new operating system. Or any other program that might be risky.
- To test run new software. (By the developers) New environment means less interference and bugs from other previously installed software.
- They can back up your existing OS.
- Help install an older version of the OS
- To run virus infected data
- They run applications on software they are not intended for
Hypervisor (virtual machine manager)
If you have ever searched about Virtual Machines online, you might have come across this term. A hypervisor is technically a virtual machine manager. It helps you run different OS at different Virtual Machines at once.
That means you can run Linux or Unix or Windows on the same hardware with different virtual computers.
Some of the benefits of virtual machines are:
- You don’t need to have different set of hardware to own another computer. You can technically have multiple computers running with the same hardware. Hence making virtual machines Cost Efficient. You also cut the cost of maintaining the hardware as well as electricity charges.
- Faster dev tests scenarios.
- They are portable and hence a great backup in case the host goes down unexpectedly
- You can divide the workload within different machines running on the same server.
- It can protect your machines from viruses and bugs since you can run programs with questionable security on these machines.
Different virtual machines undergo different functions. They can be broadly classified as two as per their functions.
-
System Virtual machines
System virtual machines provide full virtualization. That means it is the whole machine but virtual. System virtual machines can operate an entire Operating system and crates a new environment by sharing the hardware. These environments are separate from each other. These environments are separate from each other.
-
Process Virtual machines
They run as a single program within the host OS with a single process. The machine is created as the program starts running and ends when the program is terminated. This allows the program to run in the same manner on different platforms.
Java virtual machine is a popular example of this.
A process virtual machine can also be used to allocate single tasks per physical machines so that a cluster of machines can be used like a single system.
For example, Parallel virtual machine, Message passing interface use such virtual machines(VM)
What is virtual machine in cloud computing?
Cloud service providers often provide VMs on their servers to the consumers. This lets them run their program on a VM hosted on cloud servers. virtual machines on cloud lets the user use them in ways that is not possible when running them on a locally-hosted-server.
-
It lets you run Software-as-a-Service applications (SaaS)
virtual machines on the cloud do the computations for software when the software is served over to the user via the internet rather than on their devices. This is known as Software-as-a-Service (SaaS).
-
To back up data
Cloud based virtual machines can back up your data. For example, google photos that lets you store your photos in cloud, google docs that lets you upload documents to the cloud, all runs on virtual machine-like software.
Also, cloud virtual machines provide better redundancy and requires less maintenance than physical data centers.
-
 To host Emails
Do I need to say much?
-
To host browsers for safe access of data.
Virtual machine security in cloud computing
Virtual machines are not as squeaky clean as one might imagine. With a new technology comes new threats. Cloud computing may not be as transparent as it would like.
How virtual machines process the data is unknown to the user . They have no control over how its processed
The service providers don’t know what is the data that is being processed.
Between this, Hackers can pop up to attack these cloud servers. Hence the need for virtual security in cloud computing.
Benefits of virtual machine security products
- Hence there are several OS running on the same hardware, VMware provides layered security.
- It increases the ROI of virtual computing by securing the server.
Other integrated benefits of virtual machine security software are:
- Unlike traditional security options, a virtual machine security software do not require reconfiguration.
- It has no presence in the guest OS
- Only one security provider per server. (1: many ratio)
- It has a holistic presence on the network
- Protection as new virtual machines come online
- Protection for guest OSs
Virtual machine monitor in cloud computing
Virtual machine monitor or VMM for short is a program that lets you create, manage, and govern virtual machines. It also manages the virtualized environment on top of a physical host machine.
virtual machine monitors are responsible for allocating the necessary computing, memory, storage, and I/O processes among the different VMs running on a server.
It also gives a centralized interface to interact with the different virtual machines running on a host or across multiple, interconnected hosts.
Virtual machine migration in cloud computing
virtual machine migration in cloud computing is the process of moving a virtual machine from one hardware to another. It can also move the workloads of multiple virtual machines on a single server.
The concept of migration was floating around since the 1980s. However, since it was difficult to migrate different modules from system to system, it was seldom implemented.
But since Virtual machine migration now can migrate whole operating systems among hardware, the problem is now nonexistent.
There are different ways to migrate virtual machines:
-
Pre copy migration:
The hypervisor copies the whole memory from one physical machine to the other while the virtual machine is running. There are two stages for this process.
some memory pages change in action during copying, since the source machine CPU is active. These memory pages are called dirty pages. Warmup phase is the process of recopying these dirty pages onto the destination device.
The warmup phase is repeated till all the files are copied to the destination system. CPUs of both the source and destination are suspended as warmup is completed. This is known as the downtime phase.
-
Post copy migration
Virtual machine at the source is suspended. Its execution state is transferred to the target. Both the virtual machines run in parallel and remaining memory pages are send. This is pre-paging. When the destination virtual machine tries to access data not yet transferred, this returns a page fault. The source responds by sending these pages.
Frequently Asked Questions
-
What is virtual machine and how it works?
AN: A virtual machine is a machine, usually a computer that exists as a software program. It can do anything and everything that a flush and blood computer does, (If computers had flush and blood. But they have chips and wires) but without having a physical form.
Virtual machines work as code sharing the hardware from your existing OS.
You need a hypervisor and a virtual machine monitor to run virtual machines on your system.
A hypervisor is technically a virtual machine manager. It helps you run different OS at different Virtual Machines at once.
That means you can run Linux or Unix or Windows on the same hardware with different virtual computers.
virtual machine monitor or VMM for short is a program that lets you create, manage, and govern virtual machines. It also manages the virtualized environment on top of a physical host machine.
virtual machine monitors are responsible for allocating the necessary computing, memory, storage, and I/O processes among the different VMs running on a server.
It also gives a centralized interface to interact with the different virtual machines running on a host or across multiple, interconnected hosts.
-
How do we use virtual machines?
AN: Experts and programmers have a different set of uses for virtual machines:
- You can build and deploy apps to the cloud.
- To beta test a new operating system. Or any other program that might be risky.
- To test run new software. (By the developers) New environment means less interference and bugs from other previously installed software.
- Help back up your existing OS.
- They help install an older version of the OS
- Â To run virus infected data
- They can run applications on software they are not intended for
-
What are the different types of virtual machines?
AN: Different virtual machines undergo different functions. They can be broadly classified as two as per their functions.
- System Virtual machines
System virtual machines provide full virtualization. That means it is the whole machine but virtual. System virtual machines can operate an entire Operating system and crates a new environment by sharing the hardware. These environments are separate from each other.
- Process Virtual machines
They run as a single program within the host OS with a single process. The machine becomes live when the program is running. It terminates when it ends. This allows the program to run in the same manner on different platforms.
Java virtual machine is a popular example of this.
A process virtual machine can also be used to allocate single tasks per physical machines so that a cluster of machines can be used like a single system.
For example, Parallel virtual machine, Message passing interface use such virtual machines (VM).
-
Why are virtual machines so important for the cloud?
AN: Cloud service providers often provide VMs on their servers to the consumers. This lets them run their program on a VM hosted on cloud servers. virtual machines on cloud lets the user use them in ways that is not possible when running them on a locally-hosted-server.
- It lets you run Software-as-a-Service applications (SaaS)
Virtual machines can run software on the internet. When a software is provided via internet and do not run on your hardware, this is known as Software-as-a-Service (SaaS).
- To back up data
You can back up your data with cloud based virtual machines. For example, google photos that lets you store your photos in cloud, google docs that lets you upload documents to the cloud, all runs on virtual machine-like software.
Also, cloud virtual machines provide better redundancy and requires less maintenance than physical data centers.
- Â To host Emails
Do I need to say much?
- They can host browsers for safe access of data.
Also Read: