iners. From the end users' point-of-view, these contain- ers give the appearance and feel of a real server. With container-based virtualization, there is not the overhead associated with having each guest run a completely installed operating system. This approach can also improve performance because there is just one operating system taking care of hardware calls. A disadvantage of container-based virtualization, however, is that each guest must use the same operating system the host uses. Typically, corporate environments avoid container-based virtualization, preferring hypervisors and the option of having many operating systems. A container-based virtual environment, however, is an ideal choice for hosting providers who need an efficient and secure way to offer operating systems for customers to run services on (18, n.d.). Network Functions Virtualization Infrastructure The vision being that containers could be used as a replacement to a full stack that is defined with a HEAT template in OpenStack. This makes it possible for developers to drop their applications into the container-test, run, and deploy with the same configurations. Furthermore, deploying contain- ers on bare metal and controlling the environments with OpenStack would allow a service provider to treat the containers just as they treat cloud assets. 4.2.4.4 Hypervisor A hypervisor is a program that allows multiple operating systems to share a single hardware host. Each operating system appears to have the host's processor, memory, and other resources all to itself. However, the hypervisor is actually controlling the host processor and resources, allocating what is needed to each operating system in turn and making sure that the guest operating systems (VMs) cannot disrupt each other (19, n.d.). For the open AIC, the hypervisor of choice is KVM running on VMs because it is viewed as the industry's leading open-source hypervisor, particularly among users of OpenStack. 4.2.4.5 Storage Virtualization A SAN is a dedicated high-speed network (or subnet