This chapter has been designed to provide an understanding of the underlying Virtual Machine Manager (VMM) modular architecture, which is useful to improve the implementation and troubleshooting VMM.
The first version of VMM was launched in far 2007 and was designed to manage virtual machines and to get the most efficient physical server utilizations. It has been dramatically grown from the basic tool to the one of the most advanced tool, with abilities to work even with different type of clouds.
The new VMM 2016 allows you to create and manage private clouds, retain the characteristics of public clouds by allowing tenants and delegated VMM administrators to perform functions, and abstract the underlying fabric to let them deploy the VM's applications and services. Although they have no visibility into the underlying hardware, there is a uniform resource pooling which allows you to add or remove capacity as your environment grows. Additionally, it supports the new Windows Server 2016 capabilities including software-defined storage, networks and shielded VMs (simply put, Software-Defined Datacenters (SDDC's)). VMM 2016 can manage private clouds across supported hypervisors, such as Hyper-V and VMware, which can be integrated with Azure public cloud services as well.
The main strategies and changes of VMM 2016 are as follows:
- Application focus: VMM abstracts fabric (hosts servers, storage, and networking) into a unified pool of resources. It also gives you the ability to deploy web applications and SQL Server profiles to configure customized database servers along with data-tier applications. However, virtual application deployment based on Server App-V, which was available in older versions of VMM, is no longer existing in VMM 2016. Although, if you upgrade VMM 2012 R2 to VMM 2016, your current service templates with Server App-V will continue to work with some limitations related to scale-out scenarios.
- Service deployment: One of the powerful features of VMM is its capability to deploy a service to a private cloud. These services are dependent on multiple VMs tied together (for example, web frontend servers, application servers, and backend database servers). They can be provisioned as simply as provisioning a VM, but all together.
- Dynamic optimization: This strategy will balance the workload in a cluster, while a feature called power optimization can turn off physical virtualization host servers when they are not needed. It can then turn them back on when the load increases. This process will automatically move VMs between hosts to balance the load. It also widens and replaces the VM Load Balancing feature that is available for Windows Server 2016 Failover Clusters.
- Software-Defined Datacenter: Network virtualization (software-defined networking or simply SDN) was introduced in VMM 2012 SP1 and quickly became popular due to a possibility to define and run multiple isolated networks on a single physical network fabric. It was based on NVGRE abstraction mechanism. VMM 2016 goes beyond and brings Azure's network model closer to your datacenter by introducing network controller as a central point, VXLAN for abstraction from the underlying physical network and integration with software load-balancers and gateways. In addition to SDN, Windows Server 2016 features like Storage Spaces Direct (S2D), Storage Replica, and Quality of Service (QoS) complement each other and are also supported by VMM 2016.
- Advanced Security: Modern data center requires protection for customer's sensitive data from hackers and even technical staff or other persons who can somehow access such data without your permission. To help protect against that problem, VMM supports managing and creating a new guarded fabric with a set of shielded VMs, guarded hosts and hosts with guardian services.
- Multivendor hypervisor support: If we compare the list of managed hypervisors in VMM 2012 R2 to VMM 2016, it's been cut. VMM 2016 now manages only Hyper-V and VMware, covering all of the major hypervisors on the market so far. Support for Citrix XenServer has been removed: