Catalog
concept#Architecture#Software Engineering#System Administration

Virtual Machine (VM)

A virtual machine is a software implementation of a computer that runs on physical hardware.

Virtual machines allow multiple operating systems to run on a single physical hardware platform.
Established
Medium

Classification

  • Medium
  • Technical
  • Technical
  • Advanced

Technical context

Cloud servicesNetwork management toolsDatabases

Principles & goals

Isolation of applicationsEfficient resource utilizationCost-effectiveness
Build
Enterprise

Use cases & scenarios

Compromises

  • Security risks from multiple applications
  • Cost estimation is difficult
  • Maintenance effort can be high
  • Regularly perform security updates
  • Monitor resource usage
  • Perform backups regularly

I/O & resources

  • Physical hardware
  • Operating system images
  • Network configurations
  • Running virtual machines
  • Deployed applications
  • Diagnostic data

Description

Virtual machines allow multiple operating systems to run on a single physical hardware platform. They provide isolation between applications and can utilize resources more efficiently.

  • Better resource utilization
  • Increased flexibility
  • Easier management

  • Performance bottlenecks in resource-intensive applications
  • Increased management overhead
  • Dependency on the underlying hardware

  • Resource Utilization

    Percentage of used resources versus total resource capacity.

  • Performance Metric

    Measurement of response time and throughput of applications.

  • Availability Rate

    Percentage of time the virtual machine is online and operational.

AWS EC2

Amazon EC2 enables the creation and use of virtual machines in the cloud.

VMware vSphere

VMware vSphere is a platform for managing virtual machines and data center resources.

Microsoft Azure VMs

Microsoft Azure provides virtual machines for running applications in the cloud.

1

Install the hypervisor

2

Create virtual machines

3

Install and configure applications

⚠️ Technical debt & bottlenecks

  • Outdated hypervisor versions
  • Inadequate security updates
  • Vulnerable network configuration
Performance bottleneckComplex managementSecurity vulnerability
  • Using unsupported operating systems
  • Insufficient security configuration
  • Neglecting updates
  • Excessive virtualization can degrade performance
  • Misunderstandings about licensing fees
  • Lack of documentation for configurations
Knowledge in system administrationFamiliarity with virtualization technologyNetworking knowledge
ScalabilitySecurityReliability
  • Required hardware resources
  • License requirements for software
  • Dependencies on other system-critical points