identity of individual physi- cal servers, processors, and operating systems. The server administrator can divide one physical server into multiple isolated virtual environments using a software application, which results in an increase in utilization of assets through the reduction of compute cores. Utilizing VMs in hardware-assisted virtualization allows a transition from purpose-built net- work appliances to open, "white box" commodity hardware that is virtualized and controlled within AIC. It also allows the liberation of network functions from the same purpose-built "black box" appliances into stand-alone software components and manages the full lifecycle of these virtualized network functions within AIC, working in conjunction with local and DCP software controllers. This is the primary approach to virtualization because it enables efficient and full virtualiza- tion with help from hardware components such as host processors to simulate the entire hardware environment. Each VM guest runs on a virtual imitation of its surrogate hardware. This allows the guest operating system to operate without any needed changes or modifications. It also allows the administrator to create guests that use different operating systems. The guest has no knowl- edge of the host's operating system. The untouched guest operating system executes in complete isolation, using an identical instruction set used by the host server. It does, however, require real computing resources from the host-so it uses the hypervisor to manage and direct instructions to the underlying CPU. 4.2.4.3 Containers Operating system-level virtualization is a server virtualization technique where the kernel of an operating system allows the existence of multiple isolated user-space instances, instead of just one. Such instances, are typically referred to as containers or virtualization engines. In this approach, the operating system's kernel runs on the hardware node with several isolated guest VMs installed on top of it. The isolated guests are called conta