This document is the first part of a collection of documents that will make up the
System Center 2012 Integration Guide. The purpose of the Integration Guide is to provide an overview of each System Center component in its role as a programmable platform to be leveraged for the Microsoft Private Cloud. It is intended to provide an abstraction
layer that guides partners and customers on their decision process for methods to build automated solutions across System Center components and between System Center and other systems.
This guide is a community project to analyze the different options for integration with the components of Microsoft System Center 2012. Please feel free to edit this document to improve its quality.
System Center 2012 – Virtual Machine Manager (VMM), including Service Pack 1 (SP1) is a management solution for the virtualized datacenter. It enables you to configure and manage your virtualization host, networking, and storage resources in order to create
and deploy virtual machines and services to private clouds.
The following diagram shows the different technologies for integrating with VMM from other software, hardware, and System Center 2012 components. Each of these technologies is discussed in the following sections.
The following table briefly introduces the capabilities that VMM provides as part of the
Microsoft Private Cloud Reference Model. Further details are provided in
Mapping Private Cloud Capabilities to the Microsoft Private Cloud Platform.
All VMM functionality is available through Windows PowerShell cmdlets. Cmdlets are used for both automation of administrative functions and are the primary means of integration from applications written with managed code.
VMM does not have an SDK that is used for external applications that require access to its data and functionality.
If you have an application that requires access to VMM, then you should use the VMM cmdlets which expose all functionality and data held by VMM.
In addition to the cmdlets being available for command line and script operations, they can also be called from applications written in languages such as C# and C++.
In order to use PowerShell cmdlets from managed code, you use the
PowerShell class which is part of the
For the administrator, a complete
scripting guide is available that provides guidance on performing VMM functions using Windows PowerShell cmdlets and scripts.
The VMM Cmdlet Reference provides the help content for each of the cmdlets.
Console Add-Ins allow you to provide custom buttons in the ribbon bar of the VMM console.
The button can either launch an external application or display a custom view in the console.
This allows you to provide such functionality as launching an alternate console or providing data from a related management tool directly in the VMM console.
There are two kinds of Console Add-Ins. Simple Add-Ins launch an external application or URL.
This can be implemented with an
XML file that specifies the name and the path to the application to launch.
User Interface Extensions allow you to display a custom view directly in the right pane of the VMM console.
This requires the creation of a custom user interface using Windows Presentation Foundation.
Console Add-Ins require
2012 Service Pack
System Center 2012
fully automates the assignment of storage to a Hyper-V host or Hyper-V host cluster.
In order to access a particular storage device in Windows Server 2008 R2, VMM storage automation uses
Storage Management Initiative - Specification (SMI-S) providers for working with iSCSI and Fiber Channel storage devices. No additional software is required since Microsoft Storage Management Service installs with VMM.
SMI-S is part of Microsoft’s standards based management.
Windows Server 2012 introduces a new
WMI-based API called the Storage Management API (SMAPI) which allows you to work with direct attached storage, SMI-S, and a new provider model called Storage Management Provider (SMP). System Center
2012 Service Pack 1 (SP1) works with SMAPI, so it will support both SMI-S and SMP providers.
Partners that already have an SMI-S provider should continue to invest in SMI-S moving forward. SMI-S is supported with System Center 2012 and will continue to work Windows Server 2012 and System Center 2012 SP1.
Partners that do not have any providers are encouraged to evaluate both SMI-S and SMP
but only need to build one provider to work with System Center 2012. The same functionality in System Center 2012 is supported with either provider since SMAPI is the top level API surfacing the capabilities of the provider. From a VMM perspective,
an SMI-S provider allows you to support the current versions of Windows Server and System Center in addition to future versions. SMP is only supported with Windows Server 2012 and System Center 2012 SP1.
The storage management service in Windows Server 2012 includes a cache that improves discovery performance with SMI-S providers.
Any provider automatically takes advantage of this cache without any specific integration with it.
There is no such cache available for SMP, and the provider would need to provide their own.
If a load balancing device is integrated with VMM, then it can be automatically configured as a VMM resource. In order to work with a particular local balancer, VMM requires a Windows PowerShell module that provides the commands specific to the particular
device. This module must be based on the interface for a load balancer in VMM. In order for a customer to use this particular module, the author must provide an installer that places the module on the VMM server and sets the required registry keys.
Out of Band management (OOB) uses a dedicated management channel to access a system whether or not it is powered on or whether or not it has an operating system installed. With VMM, OOB can be used to discover a server for a bare metal installation, but
it is most commonly used to power a system on and off in order to optimize power consumption in a VMM cluster.
VMM supports any OOB system that implements Intelligent Platform Management Interface (IPMI) or System Management Architecture for Server Hardware (SMASH). If a system already implements one of these interfaces, then no changes are required for it to be accessed
by VMM. If it does not implement either of these but instead uses another interface, then they would need to create custom integration into VMM to access this interface.
Hyper-V in Windows Server 2012 has been updated to allow third parties to add functionality to
virtual switches. Partners can create virtual switch extensions that provide such services as monitoring, filtering, or forwarding of packets received by the switch. In addition to the
extension itself, the partner must provide support profiles that instruct VMM on how to configure the extension.
Virtual switch extensions require System Center 2012 Service Pack 1.
Virtual Gateways in
Hyper-V in Windows Server 2012 are similar to virtual switches in that they allow third parties to add additional functionality.
Virtual gateway extensions require System Center
2012 Service Pack
In System Center 2012, VMM integrates directly with Operations Manager in addition to using the
System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager for monitoring of the health of all resources in a VMM environment. This additional integration is what
allows VMM to update Operations Manager with health and performance data of VMM managed resources. You can also manage the installation of management packs through VMM rather than performing this installation directly in Operations Manager as you do with
the other components. Guidance on configuring this integration is provided in
Configuring Operations Manager Integration with VMM.
VMM performs some actions using the Operations Manager SDK that are typically performed with management packs for other products.
For example, several VMM objects are created without using object discoveries.
One example of this is the Virtual Machine object. If you select this class in the Object Discoveries node in the Authoring workspace of the Operations Manager, no object discoveries are listed.
Instead of relying on a discovery in the management pack, VMM creates these objects through the Operations Manager SDK whenever a new virtual machine is created or modified.
There is nothing that the vendor of resources that are used by VMM must do to have those resources discovered and monitored.
If the resource is recognized by VMM, then it will be discovered and monitored by the monitoring pack.
Vendors are still encouraged to create monitoring packs for their own resources though to provide any deep monitoring specific to their product.
While the VMM monitoring pack may be able to identify that the resource is offline, it would be unable to provide detailed analysis to the root cause of the problem at potential remedies.
Physical Resource Optimization (PRO) allows you to expose data collected by Operations Manager in the VMM console and to perform automated actions in response to particular conditions.
For example, PRO can load-balance virtual machines between physical hosts when specific thresholds are exceeded, or it can migrate virtual machines to a host on a different physical computer after a hardware failure.
You implement PRO through the creation of a PRO-Enabled management pack.
Management pack libraries that include base classes and modules required for this functionality are provided with the
System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager.
Any alert targeted at a class based on one of the PRO classes will be raised in the VMM console as a PRO tip.
The libraries also include modules that will run PowerShell scripts that you provide that will run in response to specified conditions.
You perform automated actions in a PRO-Enabled management pack by writing a PowerShell script that includes the process to run and then including that script in a Recovery in the management pack.
The PRO management pack libraries include modules that can be used for this purpose.
Guidance on creating a PRO-enabled management pack for VMM 2012 is available at
System Center 2012 - Virtual Machine Manager: PRO-Enabled Management Packs.
Service Manager integrates with VMM through a
System Center Virtual Machine Manager Connector that is created and configured in the Service Manager console. Most of the virtualization related data is discovered by Operations Manager through the
System Center Monitoring Pack for System Center 2012 - Virtual Machine Manager and then imported into SCSM by an
Operations Manager Connector. The function of the VMM Connector is to import library content that is not discovered by SCOM. Further information on the specific objects that are imported by
the VMM Connector are discussed in the blog entry
FAQ: What Classes of Objects Does the SCVMM–SCSM Connector Bring In?.
The System Center Integration Pack for System Center 2012 Virtual Machine Manager includes activities that allow you to create a workflow in System Center 2012 Orchestrator that interacts
with VMM. You can perform many of the functions that you can perform with Windows PowerShell cmdlets only within the context of an Orchestrator runbook.
The activities in the VMM Integration Pack connect from the runbook server to a computer with the VMM console installed using PowerShell Remoting.
The VMM console and cmdlets do not need to be installed on the runbook server since the activities are able to use the cmdlets installed on the VMM console computer.
The VMM Integration Pack allows you to create one or more connections to VMM servers that can be used by its activities.
Each connection holds the security configuration required to access a particular VMM server.
You can create a runbook with multiple activities that share a single configuration so that you don’t have to maintain separate credentials and connections for each activity.
If you need to perform a VMM action from a runbook that doesn’t have an activity, then you write a script can using one or more of the
VMM Windows PowerShell cmdlets and then run this script from a Run .NET Script activity.
In this case, the VMM cmdlets would need to be installed on the runbook server.
The script would also need to include a connection to the VMM server using the Get-VMMServer cmdlets.
If the account used for the Orchestrator Runbook Service does not have authority to the VMM environment, then alternate credentials would need to be provided to this connection.
In this case, the name and password could be stored as encrypted variables in Orchestrator so that they would not have to be hardcoded into the script.