Author Bio: Angela Cataldo is a subject matter expert and Lead Instructor for SQL Server and System Center courses at Firebrand Training. For over 10 years Angela specialized in SQL Server, delivering training and consultancy services to a number of companies throughout the UK and Europe guiding and mentoring customers to follow Microsoft Best Practice and assist in their understanding and adoption of SQL innovative features.
Microsoft System Center 2012 allows IT professionals to deliver IT as a “Service”; by providing Application Management, Self Service Delivery and Infrastructure Management. The concept of an application as a service is fundamental to understanding how to deploy an instance of a cloud-style application, along with all its associated configuration and virtual infrastructure.
The diagram below shows how by using Microsoft System Centre 2012, we can provide IT as a service and deploy application services to the business.
Benefits of Service Delivery and Automation
The concept of Services, and allowing IT Administrators to define them through Service Templates to deliver Applications, has many benefits:
- A Service Template and the configured settings can be re-used across multiple tiers and are centrally configurable, making authoring easier and less prone to error for administrators.
- Some information may not be available at the time of authoring. Service Templates provide the flexibility to defer a value assignment to deployment time, and as a result makes it possible to deploy multiple services with different settings from the same template. This allows users to provide and override values.
In simple terms, a Service Template is a blueprint which is Reusable and Configurable.
Prepare and initiate an application deployment
Now I’ll demonstrate how to prepare an application deployment and then initiate the deployment:
- Create a virtual machine template, add an application to the template, and use the Service Designer tool.
- Initiate the deployment
- Use App Controller to deploy an application and stay within delegated resources.
First we need to create a new virtual machine template, where we can specify roles and features that will be configured on deployment when the virtual machine template is part of a service.
- In Virtual Machine Manager on the Home Tab, select Library and then Create VM Template
By using templates, we can specify Server App-V packages, MS Deploy or SQL DAC packages for ease of application deployment. These help speed-up and simplify the service deployments, by automating application installation as well as pre-install and post-install tasks.
Using the Create VM Template Wizard we can next select the Source for our new Virtual Machine Template .
- On the Select Source page click on Browse to view a list of virtual hard disks and existing VM templates
- A number of existing VM templates are shown for the organisation such as “Bare Metal- Large” and “CD-Web Tier” including some pre-configured Virtual Hard Disks. For this step I am going to Select Windows Server 2008 R2 Enterprise Evaluation Edition VHD.
Once selected we will provide a Name and Description for the New Virtual Machine and continue through the Wizard to configure Hardware, Operating System, Application and any SQL Server requirements.
- On the Configure Hardware page we can create a new hardware profile, or use an existing one to specify virtual machine settings.
- I can then select a Cloud Compatibility Profile having opted for Hyper-V but as you can see we can also enable profiles against both Hyper-V and VMware.
- I can also ensure that the virtual machine is Highly Available and Virtual Machine Manager will attempt to deploy a virtual machine to a host cluster by selecting under the Advanced options: Make this virtual machine highly available.
- Next I need to Configure Operating System, opting to either create a new profile or choose an existing one – enabling options such as Admin Password, Product key and configuring Roles and Features.
- You can select Roles and Features that will be automatically installed when a virtual machine is deployed using this template.
- Next, I can Configure Applications to deploy to the virtual machine. In this example I will add a Virtual Application to the template.
- I am opting to deploy a Virtual Application called CD Business Service v1, browsing to the location where the virtual application manifest file is located. You can also review the variables used in configuring the application
I can also choose to Configure SQL Server as part of the template, for this example I will not be configuring SQL Server.
- Before you save the template you can preview the PowerShell script that will be executed. On the Summary page select View Script.
- Create a service template from the Virtual Machine Template I have just created by selecting from the Home Tab Create Service Template
- First we need to specify a Name and a Release number for the Service Template and select a Template Pattern. I have chosen a Three Tier Application deployment pattern.
- For this Customer Demographics template we have a First, Second and Third tier that I need to configure by Adding Applications. From the VM Templates pane I can Drag & Drop the correct template to the relevant tier.
- I have adding the following VM Templates to the relevant tiers:
- CD-Web Tier to the First Tier
- Customer Demographics 01 Business to the Second Tier
- CD- SQL Tier to the Third Tier
I can also select, on the relevant tier, to not scale out the tier by Deselecting the checkbox This computer tier can be scaled out. At the moment I am getting warnings relating to not being connected to any logical network and a valid domain which will be resolved in the next step.
- Next I need to drag the individual NIC Cells underneath each tier and then the Contoso Cell underneath the NIC cells to connect them to the tiers. Now each tier is connected to a valid Domain and Logical Network.
- I can next add a new machine tier by Selecting on the Home Tab the option to Add Machine Tier the Create Machine Template Wizard enables me to Select a source for the new tier template but browsing for an existing VM template or Customizing a copy of an existing one.
- I have selected an existing VM template called Order Processing Tier to add to the Service Template.
- Finally we Create and we have added a new tier to the Service Template. Save and Validate the template.
At this stage of the process I have shown a representative example of how using System Centre 2012 we can create a standardised approach to virtual machine and service deployments, making it possible to create and handle interdependencies across layers and application tiers.
- Next I need to configure deployment by Selecting on the Home Tab Configure Deployment
- Select a Name for the deployment and a Destination for the new service. I have opted for the Contoso –Staging Cloud.
- Job status is showing as Completed for the Create Service Instance to the Contoso-Staging Cloud.
By using System Centre 2012 and Virtual Machine Manager we can use service templates to configure repeatable deployment applications that are consistent and robust.
Using App Controller in System Centre 2012, you can tightly control resource delegation to application owners providing a convenient self-service model for deployments.
I am currently logged-on as a Cloud User and will in this example experience quote controls stopping me from deploying to the Customer Demographics Service Template previously created.
- Select Services and select Deploy to create a new service deployment.
- Select Configure to configure the environment for deployment.
- Select a Cloud from the list to which I have been given access rights to. We can see the available quota of pooled resources that I have been delegated to for this environment. Notice the number of Virtual Machines is only one.
- The next step is to select a Service Template.
- I have selected the Customer Demographics Template and you can see an error is raised for Virtual Machines and Memory available after deployment. My access rights as Cloud User will not enable me to use this template.
- When selecting the Single Tier Staging Template no errors are shown.
- On the New Deployment diagram view I need to Select Configure for the Service
- On the Properties of Single Tier Staging Template service I need to configure a Service Name and Description. I can also assign it to a Cost centre.
- Next I need to Configure the Instance for the Machine Tier 1.
- On the Properties of new virtual machine a number of options can be configured such as Computer Name and Cost Centre.
- Select OK on completion
- Once completed Select Deploy to save New Deployment configuration and make available to the private cloud.
- Deployment is successful
- Once deployed I can then set properties such as sharing with other self-service users and roles. Select the Deployed Service PC101-CDS and Select Open Diagram.
- As the Owner of the Service I can choose to share this Service with other self-service users and roles by selecting Add and choosing Users or Groups from Active Directory. Select OK when completed.
- Select Close to complete changes made.
Using App Controller, it makes it simple and fast for Application owners and Cloud users to quickly deploy and update applications using the self-service model. IT Administrators can still have the control they need to ensure that applications operate robustly, securely and within a defined resource allocation.
Microsoft clearly has provided a service-centric approach to help manage application components.
What else do I need to know?
If you configure System Centre 2012 on Datacentre edition; licensing covers unlimited virtual machines, which means you can continually increase your virtual machine density without any additional licensing costs. I wonder how this will impact on business decisions to opt for VMware Private Cloud over Microsoft Private Cloud solutions, only time will tell.