NETV 301 introduces the theory and application of virtualization. Virtualization is an increasingly ubiquitous feature of current computing architectures. This course is an introduction to virtualization concepts and technologies. It delves into advanced virtualization concepts including containerization, microservices, software defined architectures, and virtualization security. Topics to be covered include: basics of virtual machines, containers and microservices; CPU, memory, storage and network virtualization; paravirtualization, hardware virtualization, and OS-level virtualization (containers); hardware features supporting virtualization and nested virtualization. Actual virtualization software will be used to provide hands-on experience with virtualization.