Wednesday, January 25, 2012

The real deal - Services (Part Two)

If you have tested the deployment of services in VMM 2012, you`re most likely familiar with the Stock Trader Service. You`re able to import this service into your VMM Library. (Check this blog post)
Instead of just deploying this service and show you some screenshots, I`ve de-coupled the service so I`m able to create it from scratch using VMM 2012 and explain the details and see how the Stock Trader service is built and designed.
Remember that VMM 2012 has native support for Web applications, Server App-V applications and SQL data-tier applications.

Creating and deploying a multi-tier service

Let`s pretend that we`re working close with some of our developers and actually know how this application is meant to work.

We also know that this application would require a SQL database server, two middle-tiers and a web-tier. The web-tier should also be able to scale out since it`s stateless and would therefor need a load balancer.

Step 1Creating the VM templates

The big hitch in cloud computing is the software dependencies. But with VMM 2012 you`re able to have loosely coupled services like web applications and Server App-V applications. To summarize, you only need a sysprep`d VHD with for example Windows Server 2008 R2 installed.

The SQL Database server requires a Microsoft SQL Server and VMM supports SQL Server Profiles in the Library (containing SQL configuration, service accounts, defines SQL Authentication or/and Trusted Authentication, installation media, TCP/IP and Named Pipes ++) which means we can deploy SQL server as part of our service during the deployment. However, the VHD-file that is used must be sysprep`d with a sysprep`d SQL server as well. (Check this blog post)

To summarize again: Sysprep 2 Windows Server 2008 R2 VM`s where one of them also have a sysprep`d SQL server. Right click your VMs in the VMs and Services view in VMM and click ‘Create’ and ‘VM Template’. VMM will now sysprep your VMs and place them in the library share that you specify.

Step 2 – Preparing the applications

Ok, our developers have sequenced the applications for our middle-tiers by using Server App-V.

If we take a closer look at the packages, we can explore the manifest.xml-files.

These files will show which server roles, server features and any other components that`s required for our VM template to work. The good news is that VMM is able to detect this when you add the application to the template.

Tip: if you know exactly what you`re doing when you`re sequencing your applications, you can have a package ready in a couple of minutes and you`re good to go. However, you`ll most likely have to test the sequencing process again and again and again to be sure that you have done everything correctly. In some cases, your applications are not suited for the Server App-V. But since this would require some testing (I guess) you should create a VM, install the Server App-V sequencer agent – which is included in your VMM setup and available in the library, and use checkpoints/snapshots during your testing. This is a scenario where snapshots are very neat and helpful.

VMM also includes WebDeploy so that you easily can import web applications to your IIS servers. For more information about WebDeploy, click here.

Basically, you install the WebDeploy kit on your web servers, export the application in IIS, and then you`re able to import these applications in to another web server (IIS). In some cases, you can also virtualize these applications by using Server App-V.

Our applications would also require some data-tier applications as well, and VMM has support for this too. A data-tier application (DACPAC) is an entity that contains all of the database and instance objects used by an application. A DAC provides a single unit for authoring, deploying and managing the data-tier objects instead of having to manage them separately. A DAC allows tighter integration of data-tier development with the development of the associated application code. It also gives administrators and application level view of resource usage in their system.

You can extract the data-tier applications by using SSMS 2008 R2.

For more detailed information about SQL data-tier applications, check this site.

Step 3 – Working with Application Profiles

Some new improvements in VMM are related to the Library. When it comes to your applications, you can create application profiles that are loosely coupled with your virtual machines, so you`re able to use them over and over again, with no need for sysprepping your VMs with the applications already present and installed.

Your application packages must be stored in the library and indexed by VMM. The default refresh interval is set to 1 hour but you can do this on demand manually by right clicking your library server/share and click refresh.

So since the service we`re about to deploy is based on the native applications that VMM supports, we will create some application profiles that will install the Server App-V agent and WebDeploy.

WebDeploy and Server App-V is stored default in the library, and when you add a new library server, you have the option to import the default Application Frameworks into the library (which contains Server App-V sequencer and agent, WebDeploy and scripts that would install this automatically during service deployment.

To install these components, you must add a script to the application profile.
Since you would require either WebDeploy or Server App-V agent to be installed prior to the applications, you would normally create a Pre-install script.
Specify the executable and the parameters, and browse to the package located in one of your libraries. Select a Run as Account with proper permissions to install the package in the virtual guest OS.
In addition, you can specify advanced scripting logging for troubleshooting in case the deployment fails.

Once this is configured, you may add the applications and applications scripts required to get the applications up and running. It really depends which application you`re dealing with, and you should work closely with your developers/application owners to get this correct, and fill in the required parameters and instructions for the installation of the applications.

The example above shows the deployment of WebDeploy and a web applications with application scripts.
The same rules apply for the Server App-V applications and SQL data-tier applications.  

Step 4 – Working with the Service Template Designer

We`ve now got our application profiles and the VM templates configured and stored in the Library.
Navigate to the Library workspace and select Service Templates, right click and click Create Service Template.

This will launch the service template designer.

VMM ships with some patterns to get you started really quick. Either a single-tier template or a multi-tier template.

We will start from scratch in this example.

As you can see, you can drag your VM Templates into the designer. We need four VMs for this service, and will therefor use a VM template which contains the sysprepped SQL server, and an empty sysprepped VM for the rest of our tiers.

Let`s start by configuring our SQL Server VM.

This tier would require a SQL server and the SQL data-tier applications. From the service canvas we`re able to click on the ‘Add application’ button and select profiles and applications from our library. (You can also configure the HW and OS profiles for your VMs – directly from this view).

Now, let`s do the same for our middle-tiers and add the Server App-V applications

Now, we have to add our web applications to our web tier.
Since our web-tier should be able to scale out, we must also configure a load balancer. The good news is that Microsoft NLB is integrated into VMM by default, and the only thing you have to do is to create a VIP Template. In this example I`ve created a HTTP VIP Template and associated it with the NLB load balancer in Network in the Fabric view. Once you have done this, you only have to add the NLB feature in the OS configuration on your VM template – along with any other required Web-roles/features to get your web-tier up and running.

VMM knows immediately that this tier should be able to scale out, and during the deployment installs and configure NLB automatically, after you have added the load balancer into the service canvas and defined the connectivity, and set the scale limit.

After you have added all the required profiles, applications and configured the VMs, you should ask yourself: how would I normally deploy this service if I did it manually?

Eventually, this leads us to the Application Deployment order.
In this example, I want my SQL server to be deployed first so it`s able to receive connections and data from the other applications, since they rely on this tier. Second, I want my web-tier to be deployed, and my mid-tiers as number 3 and 4.

Once you have configured all this and feel quite satisfied, you can save and validate the configuration. If there are any errors related to the configuration, VMM will notice you before you go any further.
If everything seems fine, click Configure Deployment, give your service a name and place it either on a host group or a private cloud.

Once you click ‘OK’, intelligent placement will kick in and check where the service should be able to run. If everything is OK, you can start the deployment of your service.

I will most likely create a webcast that demonstrate the entire process in the near future. Please give me a note if you have any questions etc or want me to cover.

The next blog post will focus on the service lifecycle in VMM.

Monday, January 23, 2012

The real deal - Services (Part One)

I was wondering if I should try to create a white paper about «Services» in VMM 2012. But I found out that a bunch of blog post would be more suitable, and also less formal than a white paper.

What is a Service?

From the early beginning of Microsoft Private Cloud, they stated very loud and clear that they were able to focus on the real deal, - services.

If you`re familiar with Windows Azure, you may recognize the term ‘Service’ as in hosted services in the Windows Azure portal. It can be a VM Role, Web Role or a Worker Role. But that`s for Azure. There are some architectural differences between the service concept in Microsoft Private Cloud (VMM) and in Microsoft Public Cloud (Windows Azure).

Let`s talk shortly about both of them before we go any further.

In Windows Azure, you can create hosted services. These services are created in Visual Studio 2010, and as mentioned earlier, either a VM Role, Web Role or a Worker Role. For the Web and Worker Role, you`ll get a configuration file and a package. Upload these files to the Windows Azure portal (or you could simply use System Center App Controller for that) and you`re good to go. Prior to this, you must have signed up and created a Windows Azure Subscription.

The beauty of the Platform as a Service model is that Windows Azure will take care of everything. Define how many instances you`d like and Azure will configure the required VMs, and eventually place them behind a load balancer and a VIP template.

-          Ok, brilliant. But what about the storage?

That`s a very good question Kristian.
When you`re working with Windows Azure – think stateless, stateless and stateless. Also when it comes to the VM Role. You should use one of the storage options in Windows Azure, and there`s several options here as well. Binary Large Objects (Blobs), Queues, Tables and SQL Azure. Now, if you plan for a massive scalable storage solution, use Blobs. This is the cheap storage solution for you hosted services, and if you`re creating an application that will not update the content quite frequently, you can also take advantage of the Content Delivery Networks (CDN) – so that you`re closer to your users, which gives them a better user experience. If your applications require some sort of relational data storage, use SQL Azure.
That was a really short summary of the service architecture in Windows Azure.
And since I`ve got your attention: if you`re an ISV and have not considered Windows Azure as a platform for your developer projects in the future: shame on you. J

In the private cloud where Virtual Machine Manager 2012 plays the most important role, there is also a service concept.
Actually, I`ve blogged about this before. Get a quick introduction by reading this post first:

Welcome back.

As you can see, there are some similarities in both clouds. Reminder: think stateless!

If you plan to scale out, scale out the tiers that`s suitable for this scenario. Stateless!

In VMM 2012 – you can create Virtual Machine Templates, but also Service Templates. A service template is the starting point for your services where you configure virtual machines and connectivity requirements. The service template is more than just a template, because VMM is able to support the life cycle of your applications. So every deployed services are always linked to their templates so you can do servicing of the instances.

Now, what`s an instance?

An instance could be groups of machines that work together which includes machine definitions as well as applications. There is support for these native applications types in VMM: Web Applications (WebDeploy), Virtual Applications (Server App-V packages) and Database Applications (SQL DAC). You can create application profiles in the library so that you can use them over and over again.

For more information about the new improvements in the library of VMM 2012:

So before we go ahead and look closer at the service concept in VMM 2012, why would you consider using services in the first place?

A service can be a single tier service or a multi-tier service. And you are able to configure and manage multi-tier applications as a single entity.

Example, you may have an application that your organization has developed, or you are testing and doing some research on an application from a software vendor. Anyhow, this particular application is comprised of a web server, a database server and an application server which should be considered as critical for your business. Call it a line-of-business application – the one that your CEO really cares about.

Since this one is important, you want this application to be alive and kicking 24/7 – no matter what happens related to traffic and peaks. VMM enables you to handle fluctuations in capacity for your application, allow you to easily add or remove virtual machines (hey – please think ‘stateless’) needed to support the application.

This is the beauty of cloud computing, the cloud workload patterns:

The next blog post will discuss the service designer in detail.


Friday, January 20, 2012

Microsoft Private Cloud Campaign - Live

Alright, this blog post will hopefully explain why I`ve been a bit quiet lately.

A couple of months ago, I traveled to Microsoft HQ here in Norway, to shot some videos related to a Private Cloud campaign. You`ll find the result over here:

I enjoyed the recording and we had ourselves a laugh.
Anyhow, the purpose of this campaign is to enlighten the Norwegian technicians and explain the value of a private cloud, both the technical model and the business model.

I`ve done several interviews as well, related to this campaign. You`ll find those articles here:

Choose the correct Cloud for your organization:

Get more value of your infrastructure with Virtual Machine Manager 2012:

Watch out for the time thieves:

Note: Every video and article is presented in Norwegian

If you are missing some technical information about cloud, System Center etc, you can look forward to my blog post about the service concept in VMM 2012. Hopefully I`ll be able to post it during this weekend. If I won`t make it, look for an interesting blog post next week.

Also, please join "Virtualization and some coffee" on facebook and share your knowledge with the community


Thursday, January 19, 2012

Sessions from NIC 2012 – now available

As I recently wrote earlier this week, the NIC conference was held for the first time in January 2012 here in Norway in Oslo Spektrum.
I had 2 sessions, one session where I explained Cloud Computing and especially the Private Cloud, and one session where I introduced System Center App Controller with the cloud, explaining the service concept in both VMM 2012 (Private Cloud) and Windows Azure (Public Cloud).

You can watch the “App Controller session” here:

I will post my Private Cloud session once it`s available.

Tuesday, January 17, 2012

Microsoft Private Cloud (System Center 2012) Licensing FAQ

Together with Microsoft Private Cloud offering, there is some news related to the licensing.

System Center 2012 Server Management Licensing

1. What’s new with System Center 2012 licensing?

System Center 2012 server management licensing maximizes your private cloud value while simplifying purchasing.

License required only for endpoints being managed. No additional licenses needed for management servers or SQL Server technology.

Consistent licensing model across editions. Processor based license, covering up to two processors targeted at most common hardware configuration

Same capabilities across editions differentiated by virtualization rights. All server management licenses include the same components and the ability to manage any private cloud workload.

2. Can you describe the product editions offered with System Center 2012?

System Center 2012 management licenses will be released in 2 editions differentiated by virtualization rights only:

Datacenter: Maximizes cloud capacity with unlimited Operating System Environments (OSEs) for high density private clouds

Standard: For lightly or non-virtualized private cloud workloads.

To provide you with the capabilities you need to manage a private cloud, both Standard and Datacenter editions of System Center 2012 include all the System Center components relevant to managing servers:
Configuration Manager
Service Manager
Virtual Machine Manager
 Operations Manager

Data Protection Manager
App Controller
 Endpoint Protection

Download the PDF from here:

Microsoft Private Cloud - Some pretty big announcements!

I`ll been watching the virtual MS Event this evening – Transforming IT with Microsoft Private Cloud

Quite interesting right? Check out this page as well!

Not enough? You can now download all the System Center 2012 products – and each of them are now available in Release Candidate.

More to come…. :-)

Sunday, January 15, 2012

NIC 2012

I`ve just returned from a great conference in Oslo Spektrum - where I have been talking with many good friends and other skilled guys in the IT business. Olav Tvedt, the deployment hero from Norway, Nicolai Henriksen - our new MVP in Config Manager, Johan Arwidmark, the deployment hero from Sweden, Jan Egil Ring, the Powershell guru from Norway, and Ståle Hansen, the Lync MVP. +++

I had two sessions related to cloud computing. Agenda available here:
In the first session, we focused on cloud computing in general but also ran a bunch of demoes, using VMM 2012 to build and enable the private cloud.

In the second session, we focused on System Center App Controller, VMM and Windows Azure.
Trying to explain and show the service concept in VMM 2012 and Azure and how to harness the power with App Controller.

To summarize: a great event with great friends and colleagues!

Videos will be posted