Personal tools

Virtual Machines

Gasthof_Schafberg_Alpe_Sankt Gilgen_Austria_Paul_Gilmore_101020A
[Gasthof Schafberg Alpe Sankt Gilgen, Austria - Paul_Gilmore]
 

- Virtual Machines (VM)

A Virtual Machine (VM) is a computing resource that uses software instead of a physical computer to run programs and deploy applications. One or more virtual "guest" machines run on physical "host" machines. 

Each virtual machine runs its own operating system and operates independently of other virtual machines, even if they are all running on the same host. This means, for example, that a virtual MacOS virtual machine can run on a physical PC. 

Virtual machine technology is used for many use cases in both on-premises and cloud environments. More recently, public cloud services are using virtual machines to provide virtual application resources to multiple users at once for more cost-effective and flexible computing.

In essence, virtual machines provide a flexible, efficient, and secure way to manage and utilize computing resources, enabling a wide range of applications and use cases. 

Here are a few ways to use a virtual machine: 

  • Build applications and deploy them to the cloud.
  • Try out new operating systems (OS), including beta versions.
  • Launching a new environment makes it easier and faster for developers to run dev-test scenarios.
  • Back up your existing operating system.
  • Access virus-infected data or run old applications by installing an old operating system.
  • Running software or applications on an otherwise unsuitable operating system.

 

- Applications and Use Cases of Virtual Machines

Virtual machines (VMs) are primarily used to run multiple operating systems and applications on a single physical computer, allowing for greater flexibility, efficiency, and security. 

They act as isolated, virtualized environments, enabling users to test software, access different operating systems, and consolidate server resources, among other things.

Here's a more detailed look at the uses of virtual machines: 

1. Software Testing and Development: 

  • VMs offer isolated environments for developers to test software on different operating systems and configurations without affecting the main system.
  • This allows for efficient testing of applications across various platforms, ensuring compatibility and functionality.


2. Server Consolidation and Resource Optimization: 

  • By running multiple virtual machines on a single physical server, organizations can consolidate their computing resources, reducing hardware costs and energy consumption.
  • This also allows for better utilization of server resources, as different VMs can be allocated specific resources based on their needs.


3. Disaster Recovery and Business Continuity: 

  • VMs can be easily backed up, migrated, and restored, making them ideal for disaster recovery solutions.
  • In case of a system failure, a VM can be quickly spun up on a different host, minimizing downtime and ensuring business continuity.


4. Running Legacy Applications and Operating Systems: 

  • VMs allow users to run software and applications that are not compatible with their current operating system or hardware.
  • This is particularly useful for accessing older software or running applications designed for specific operating systems.


5. Security and Isolation: 

  • VMs provide a layer of isolation, preventing malware or other malicious software from affecting the host system.
  • This allows for safe testing of potentially risky software or accessing potentially infected data without compromising the main system.


6. Cloud Computing:

  • Cloud providers use VMs extensively to offer computing resources to their clients.
  • Users can rent virtual machines with specific configurations and resources, paying only for what they use.


7. Edge Computing and IoT: 

  • VMs are increasingly being used at the edge of networks to run applications closer to data sources, reducing latency and bandwidth usage.
  • They can also act as gateways for Internet of Things (IoT) devices, providing a secure and manageable interface.


- Hypervisor

While virtual machines behave like separate computers with separate operating systems and applications, they have the advantage of being completely independent of each other and the physical host. 

A piece of software called a hypervisor or virtual machine manager allows you to run different operating systems on different virtual machines at the same time. This makes it possible to run Linux virtual machines on Windows operating systems, or run earlier versions of Windows on newer Windows operating systems. 

Also, since VMs are independent of each other, they are also very portable. You can almost instantly move a virtual machine on a hypervisor to another hypervisor on a completely different machine.

 

- Virtualization

In computing, virtualization is the act of creating virtual (rather than real) versions at the same level of abstraction, including virtual computer hardware platforms, storage devices, and computer network resources.

Virtualization began in the 1960s as a method of logically dividing system resources provided by mainframe computers among different applications. An early success example is IBM CP/CMS. The control program CP provides each user with a simulated stand-alone System/360 computer. Since then, the meaning of the term has broadened.

 

- Containerization

Containerization is a type of virtualization in which all components of an application are bundled into a single container image and can run in isolated user space on the same shared operating system. Containers are lightweight, portable, and great for automation.

Containerization is operating system-level virtualization or application-level virtualization over multiple network resources so that software applications can run in isolated user spaces called containers in any cloud or non-cloud environment, regardless of type or vendor.

 

[More to come ...]


 

 

Document Actions