Application deployment models in a Private Cloud

Hi everyone

We have previously looked at how we enable application self-service, a standardized approach to deploying applications, and how we monitor applications across private and public clouds.  And today we are going to explore the various application deployment models that are available when you have a private cloud.

Understanding the underlying infrastructure templates

In todays datacenter, you are most likely deploying individual virtual (or physical) machines by leveraging either a standardized installation routine, a vanilla (sysprep) OS image or a virtual machine template.  This is a great start to leverage virtualization and standardized deployments, however even a well-managed virtualization solution has its limitations and requires you to continue operating within the practices you use today for the configuration, deployment, monitoring and operating of your applications. 

As you move to a private cloud, one of the things we focus on is the standardization of service deployment, and we provide a way to transition from where you are today and leverage these new opportunities for consistency and standardization.

There are 3 potential options that are provided for in the Microsoft private cloud for deploying the underlying OS components for the application, or the application as a service.  These can be considered a progression, however you can pick the one that best suits your needs!

  • VM Templates – a consistency model for deploying a single virtual machine.  They add additional capabilities beyond just a virtual machine image by allowing the definition of hardware specifications including hypervisor support, OS configurations such as joining domains, product keys, time zones and the dynamic configuration of Windows Server Roles and Features.  Additionally you can include application packages and SQL deployments and configurations.
  • Single Tier Service Template – this is not a specific feature, but allows you to do everything in the VM Template but with the additional capabilities for scale, upgrading and minimum/maximum instances.
  • Service Template – the encapsulation of all elements of an application so it can be delivered as a service. 

The screenshots below show visual representations of each of these:

image image


VM Templates allow for standardized individual virtual machine deployments Single tier Service Templates add additional options like scaling and upgrading Service Templates encapsulate the entire application specification and the agreement on the applications scale and performance requirement.


Anatomy of a Service Template

The diagram below shows an example of a service template and how all the components come together to form the service.  Capturing the specifications for the hardware, OS and application profiles means that you drive consistency in the model and also allow you to leverage these profiles across applications for reuse of the information.


I look at this model, and believe in the very near future that this will be the preferred method of developers and ISVs handing off applications to their customers.  Imaging receiving a service template like this that is all configured and ready to go, and all you have to do is enter your company or business unit specific information at deployment time!

Deploying Applications in a private cloud

So now that we have looked at the different underlying structures for deploying our applications, lets take a look at the configuration and deployment models for the applications themselves.

As in the graphic below, we look at application deployment modes being in one of three models:

  • Traditional – this is the world today, we have an OS with an application installed on top of it, typically deeply embedded into the OS
  • Consistent – as you move to the models above, you gain the ability to ensure consistency of the underlying structures, and leverage standard application deployment and configuration tools such as Configuration Manager 2012 and Orchestrator 2012.
  • Abstracted – Microsoft Server Application Virtualization (Server App-V) is the virtualization of the application installation into a package, abstracting it away from the OS.  Once you move to this model of deployment, you can ensure that the application is delivered the same way every time, as well as start leveraging the updating capabilities in service templates.


And with that, we have covered this topic on the application deployment models in a private cloud!

Calls to Action!

There are several things you can be doing today to get started with applications in your private cloud:

  • Get involved in the Community Evaluation Program (CEP). We are running a private cloud evaluation program where we will step you through the entire System Center 2012 solution, from Fabric and Infrastructure, through Service Delivery & Automation and Application Management. In January we will be running a topic on delivering consistent application deployment.  You can sign up here.
  • Investigate Server App-V and start testing if your applications are suitable for capturing.  More information here.
  • Download the Virtual Machine Manager 2012 Release Candidate here
  • Download the App Controller 2012 Beta here
  • Download the Operations Manager 2012 Release Candidate here

I hope that was useful for you.