Virtualization Overview
Virtualization is a technology that enables the creation of virtual versions of physical resources like servers or network devices, allowing multiple virtual environments to run independently on a single physical machine.
Virtualization is typically used in data centers for server consolidation, disaster recovery, and testing environments and provides various benefits, such as optimizing resource usage, expanding scalability, and simplifying infrastructure administration.
Virtualization creates virtual machines (VMs) that emulate computer systems. Specialized virtualization software runs on physical hardware, simulating the necessary hardware components for each VM. VMs operate like independent systems with their own OS and software. In addition, VMs have hardware specifications, with some, like memory and CPU capacity, adjusting based on available physical resources, while others, like NICs and disk controllers, remain constant.
A hypervisor, or virtual machine monitor, handles the creation, management, and operation of VMs. There are two main types: Type 1, which directly operates on the hardware, and Type 2, which runs on top of a host operating system. Hypervisors allocate resources, maintain isolation between VMs, and facilitate the movement of VMs between physical servers.
Hosting three or more virtual servers on a single physical server in data centers is common due to varying workloads. In such environments, hundreds of virtual servers can coexist alongside physical servers.
Container Overview
Containers are like VMs in some ways. Both run on a host machine, offer customization, and isolate processes. However, unlike VMs, containers don't install a guest OS but only run necessary processes, utilizing host OS kernel features and a layered file system.
Containers are smaller, use fewer resources, and are more portable than VMs. They're stored as images, but container images are much smaller and can run consistently on systems supporting containers (Linux containers).
Virtualization of Cisco Devices
Cisco devices like routers and switches can be virtualized through technologies like Network Function Virtualization (NFV) and Software-Defined Networking (SDN). Virtualization allows these devices to run as software instances on standard servers or cloud platforms, offering cost savings, scalability, and flexibility.
One prominent use case is in providing network services. Virtualized routers and switches can efficiently deliver network services like routing, VPNs, or firewalls, making them cost-effective and adaptable for organizations. This approach minimizes hardware costs and simplifies network management, addressing modern networking challenges effectively.
Virtualization of Networking Devices
Network functions can be virtualized, allowing a single physical device to act as multiple independent devices. Examples include subinterfaces, VLANs for Layer 2 switches, switch virtual interfaces (SVIs), and Layer 3 virtual routing and forwarding (VRF) contexts.
Subinterfaces divide network interfaces logically, VLANs isolate traffic on Layer 2 switches, and SVIs act as virtual switches. VRFs separate routing and forwarding information, isolating each VRF with its own address space and independent routing decisions. This segmentation enhances network flexibility and control through device configuration rather than special virtualization software.