Something I’d like to start off with this Guest Blog post is the ability to get to know some of the fantastic speakers and partners in the technology space here in Canada. I created / participate in the LinkedIn group called Canadian IT Folks – thought the name was a good fit for this series – one thing lead to another and bang – here ya go.  Colin Smith was more then happy to help out with this post on the topic he`s rather passionate about.  If you didn’t have a chance to catch his sessions at TechDays – they will be available ONLINE at once we flip the switch to the Online mode.

headshot150x150Here’s Colin’s Bio and Post.

Colin Smith is an IT professional with over 20 years of experience deploying Microsoft-based solutions for the private and public sector with a focus on desktop and data center management.

Colin has been a consultant, solutions architect, and systems engineer with Microsoft, Statistics Canada, Configuresoft, and is currently the Manager of the Microsoft Consulting Practice at Cistel Technology Inc., a Microsoft Gold Partner in Ottawa, Canada.

Public cloud providers have been touting the many financial, flexibility, and agility benefits of their offer for quite some time. Many organizations are salivating at the potential to reduce costs and increase efficiency but regulatory, security, and jurisdictional issues are preventing them from taking advantage of the public cloud offerings.

Public clouds are the necessary first wave of cloud services. It is in these large scale environments with thousands of customers and stiff competition that consolidation and maturation will occur and standards (de facto and formal) will emerge. Additionally, toolsets that increase efficiency will be created to help create an edge in the competitive public marketplace. We are seeing the emergence of these tools and technologies right now and they can bring some of the benefits of the public cloud to on premise data centers.

Benefits of Cloud Computing

So what are some of the benefits of Cloud Computing? The following table outlines some of them.



Reduced Cost

Cloud technology is paid incrementally, saving organizations money and shifting Capital costs (CapEx) to operational costs (OpEx)


IT departments that anticipate a change in load can add and subtract capacity as needed.

Easy Implementation

Without the need to purchase hardware, software licences, or implementation services, organizations can react quickly


Cloud computing offers increased flexibility because follows a utility model in which service costs are based on consumption.

More Mobility

Employees can access information wherever they are, rather than having to remain at their desks.

Allows IT to Shift Focus

No longer having to worry about constant server updates and other computing issues, IT organizations will be free to concentrate on innovation that drives business value

Table 1 – Benefits of Cloud Computing

In the rest of this post I will describe some of the technologies available from Microsoft[1] right now to help your organization realize some of the benefits of the cloud in your on-premise data center. You may even find that you already use many of these tools today and have a private cloud in the closet just waiting to emerge.

Definition of Cloud Computing

First of all, let’s review the five essential characteristics of cloud computing according to the NISTdefinition:



On-demand self-service

A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.

Broad network access

Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).

Resource pooling

The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth.

Rapid elasticity

Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

Measured service

Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

Table 2 – NIST Definition of Cloud Computing[2]

So how do we provide these five essential characteristics in our on-premise data centers? The following sections illustrate how they can be achieved using existing off the shelf Microsoft products and technologies. In some cases, a product may address more than one characteristic while in other cases, more than one product or technology can be used to address the same issue while achieving slightly different results.

Broad Network Access

Broad network access has been available for a long time. Remote access to an application, platform or infrastructure can be accomplished in many ways including a web browser/server (http(s)) or a remote session using protocols that have been around for over a decade such as RDP, VNC, and RFB. The extension of these types of protocols to mobile devices and the build out of wireless networks has created a computing environment that can easily provide broad network access if it is desirable and appropriate. Microsoft has been providing web browser (IE), web server (IIS) and remote desktop protocols (RDP) for well over a decade.

On-Demand Self Service

System Center Virtual Machine Manager (SCVMM or VMM) has a self-service portal that can be used to provide system administrators and developers, (or anybody that has a need) a quick and easy way to request a virtual machine. It can be setup to use quotas based on resource or licence “points” to help manage the impact to infrastructure and can even have VMs that time out after a specified period of time. If templates are used, to configure VMs as they are provisioned (E.g. Windows Server 2008 R2, SP1 x64 with SQL 2008 R2), a fully working environment can be provisioned with no human intervention once a valid request from the self-service portal is received. In case you didn’t know, SCVMM can also be used to help manage VMware hosts.

Resource Pooling

Using SCVMM and clustered Hyper-V hosts, gives you the ability to dynamically move workloads between clustered hosts based on current resource requirements based on Performance and Resource Optimization (PRO) settings . Additionally, SCVMM provides the ability to manage the “fabric” that the VMs share. Although this is not a fabric in the sense that resource nodes can reside on physically separated hosts, this further decouples computing resources from the actual hardware and is move towards a true fabric.

Rapid Elasticity

In a similar fashion to how a VM created from the self-service portal, exceeding a threshold in System Center Operations Manager (SCOM - see the next section for more) or System Center Orchestrator (formerly Opalis) can trigger SCVMM to provision a VM. If the threshold is designed to be predictive, then a VM can be provisioned and left dormant until a second threshold is exceeded at which time the VM is brought online. Of course, a simpler option would be to always have a dormant VM on had but this is a less scalable solution, when dealing with many different server configurations. Additionally, the task sequence tools found in the Microsoft Deployment Toolkit (MDT) and System Center Configuration Manager (SCCM) can be used to automate the provisioning, updating and deployment tasks to the point where it takes less than 10 minutes to provision a server from start to finish.

Measured Service

The ability to measure the resource usage of systems has been around for a long time. There are dozens of products that have been around for decades that measure performance, availability and resource usage. Microsoft has had such a product for over a decade. System Center Operations Manager (SCOM previously known as Microsoft Operations Manager or MOM) can monitor workloads and provide both real-time and historical reports on how resources are consumed by specific users or workloads. While this is not a true bill-back solution, coupled with the SCVMM quota system, it is still a powerful way to measure and control service usage.


Using currently available products and technologies it is possible to build an on-premise data center solution that meets all of the definitional requirements to be called a cloud service. The table below summarizes the essential characteristics of a cloud from the NIST definition and the corresponding technology or product that can be used to provide it.


MS Technology / Product

Broad Network Access


On-Demand Self-Service

Self-service Portal/ SCVMM Templates

Resource Pooling


Rapid Elasticity


Measured Service


Table 3 – Cloud enabling Technologies

To take some of these ideas to the next level, you might find it interesting to look at the Dynamic Data Center Toolkit that is intended to help hosting providers build cloud solutions based on Windows Server and Hyper-V.

If you are trying to build efficiencies into your data center using the Microsoft System Center suite of products, you may have already built a private cloud.

[1] Microsoft is not the only vendor offering solutions in this space. I am limiting this post to examples of Microsoft technologies because their wide deployment and familiarity helps to illustrate the point that these technologies are already in place in many data centers and available from a single vendor

[2] NIST Special Publication 800-145 The NIST Definition of Cloud Computing, Peter Mell & Timothy Grance, Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology, Gaithersburg, MD 20899-8930, September 2011, U.S. Department of Commerce