SYS-CON MEDIA Authors: Stackify Blog, Zakia Bouachraoui, Elizabeth White, Pat Romanski, Liz McMillan

Blog Feed Post

Application Profiles in System Center 2012 SP1 VMM: Build Your Private Cloud (Series)

This guy is happily evaluating System Center 2012 SP1 as the foundation for his Private CloudToday’s installment of our “Build Your Private Cloud in a Month” series is the third of a 5-part mini-series we’re calling “Deploying Private Cloud Workloads”.  This week we (Tommy Patterson, Blain Barton and I) are going to detail and demonstrate some of the key areas in System Center 2012 SP1 Virtual Machine Manager that support the foundational concepts and objects in your Private Cloud arsenal:

  1. Hardware Profiles (Monday)
  2. Guest OS Profiles (Tuesday)
  3. Application Profiles (Wednesday) <—Today!
  4. VM Templates (Thursday)
  5. Service Templates (Friday)

To follow along, make sure you have installed a test lab with Windows Server 2012 and the Virtual Machine Manager component of System Center 2012 SP1.  (Click the links and download the evaluations, please.)

---

Today’s topic is Guest OS Profiles in System Center 2012 SP1 Virtual Machine Manager.

What is an Application Profile?

From the TechNet entry on the subject: “An application profile provides instructions for installing Microsoft Server Application Virtualization (Server App-V) applications, Microsoft Web Deploy applications, and Microsoft SQL Server data-tier applications (DACs), and for running scripts when deploying a virtual machine as part of a service.”

So, there are three Application Profile application types, and each will be used (and re-used) when we want to add a deployable Web Application, Server App-V application, and SQL Server DAC to virtual machine templates that are being deployed as a part of a service template.

And that last part – service template – is important.  Like some of the properties of the Guest OS Profile we talked about yesterday, Application Profiles will only be deployed when used in a virtual machine is a part of a service deployment.

Why are Application Profiles Useful?

Just like any other template, if we have a way to define and implement  something that will be used over-and-over again, there is a benefit of creating it once and then re-using as needed.  It saves time, and reduces the opportunity for user-errors.  (PEBKAC*, or ID-10-T** errors.)

How do I create an Application Profile?

We’ll find Application Profiles under the same section of the Library as we did the other two profiles we’ve discussed.

Application Profiles in the Library

Right-Click it, and create a new one.

Give your Application Profile a name and a description…

New Application Profile

Notice that under Compatibility you have some choices:

  • For deploying any application type, or a combination of Web Apps, Virtual (Server App-V) Apps, or SQL DAC apps, leave the default selection, General.
  • For deploying SQL Server DAC packages or SQL Server scripts to an existing SQL Server in your environment, click SQL Server Application Host.  (If you click SQL Server Application Host, you can add only SQL Server DAC packages and SQL Server scripts to the application profile.)
  • For deploying web applications to a server running Internet Information Services (IIS), and if you are running System Center 2012 Service Pack 1 (SP1), click Web Application Host.  (If you click Web Application Host, you can add only Web Deploy packages and associated scripts to the application profile.)

For this example, I’m going to choose General.

Now click on Application Configuration

App Configuration

…and notice that I’ve already selected “64-bit edition of Windows Server 2008 R2 Enterprise”.  You of course will choose the operating system version onto which this application will be installed.

Now click Add

Add an Application

…and you’ll see that I can add any of our three application types, plus add some scripting.  And in fact, because I selected “General” Compatibility earlier, I can add more than one of these to the same application profile.

For the rest of this example, I’m going to open up a pre-built Application Profile to show you how one might be configured for a Web and then an App-V application.  Here is one for the web tier of a sample “Stock Trader” application..

ST Web Application Profile

You can see that this Application Profile includes two web applications (Trade Web and Config Web), one each of pre-install and post-install scripts for the Trade Web application, and one pre-install script that will run before anything else runs. 

NOTE: I have application packages that have been saved in the VMM Library, and clicking on Browse allows me to select the packages or custom resources required.  The creation of the applications, packages, and custom resources are beyond the scope of this article. 

Settings for an application are surfaced here and variable values can be edited.  In some instances, you’ll use placeholders so that, when the service is finally being deployed, you can fill in values that will be used when the applications are finally installed or the scripts are finally run.

Notice what options you have for configuring this script…

Script Options

I can specify the type of script command it is, from a number of options.  I also enter what the executable program will be (in this case just the command engine cmd.exe), command parameters, and a script resource package.  I also specify the Run As account – which is the security context that this command should be run in.

Let’s look at an example of an Application Profile that defines the installation of a Server App-V application:

App-V App

This is an application that was packaged using Server App-V that I pulled from the library.  (Click the link for details on Server App-V).  Again, this is an application that contains variables that will contain values during the configuration of the application.   And we’ve also defined some scripting to configure the server with the application; both pre and post-installation.

How do I USE an Application Profile?

For my example, I’m going to build the Middle Tier VM Template of a four-tier service.  And I’m going to include the “ST Order Processing” Application Profile as I build the machine template.  (I’ll also use a Hardware Profile and Guest OS Profile that I’ve already created.)

And then when I’m done building the VM Template, I’ll create a new Service Template that includes all four of my VM Templates. 

VM Templates are found in Templates, at the very top of the Library section (above Profiles):

VM Templates

I’ll start by creating a brand new VM Template that uses the Windows Server 2008 R2 Enterprise Evaluation as its source .vhd image.

Select Source

Click Next.  in the VM Template Identity form, I’ll name my VM Template “Stock Trader Mid OP Tier”, since it will be the template that builds the machines running the middle-tier Order Processing application in my Stock Trader service.

VM Template Identity

Click Next.  Here’s where the work of the last couple of days pays off.  For the description of the hardware, I can use a previously created Hardware Profile.  Mine is called “Stock Trader Server HW Profile”.  It has everything about the hardware for the VM pre-configured; including the networking configuration.

Configure Hardware

Click Next.  Similarly, I can pull in a pre-created Guest OS Profile that I named “Stock Trader Guest OS Profile”. 

Configure Operating System

You can see that it comes pre-configured with OS, Administrator account, product key and domain membership information already defined.  Note that in my desire to keep the Guest OS Profile more generic, I didn’t enter anything unique about the Computer Name in the profile.  But now that I’m using the profile for a specific machine type, I can edit it here.  I’m going to use “ST5MidOp###”, so that the machines will all be named uniquely but similarly, and will have incrementing 3-digit numbers at the end of their names.

Computer Name

Notice also that I didn’t add any roles or features in its definition.  This is fine for this VM Template, but there are others (the Web Tier machine, for example) that I have added things like Application Server and IIS components.

Click Next.  Here’s where I can select and use my ST Order Processing Application Profile

Configure Applications

I’ll click Next, click Next again to skip over the addition of a SQL Server application to this template, and then on the Summary page I’ll click Create.

The Jobs window opens, and in short order the “Create Template” job completes successfully.  And hen I look back at my list of VM Templates, I now see this:

VM Templates

Now I’m ready to use these in the creation of my Stock Trader Service Template, and then to deploy the Stock Trader Service based on that service template.

Wow!  A Service Template

See “Creating Service Templates in VMM” for more information on how that’s done.

For More Information

For more details, I recommend the following articles and locations for expanding your knowledge of System Center 2012 SP1, Virtual Machine Manager, and VMM Guest OS Profiles:

---

Was this useful?  I hope so!  Let me know in the comments if you have any questions, concerns, clarifications, or cheap shots at me or Microsoft.  (Hit me with your best shot!  I can take it! Smile)

---

* “Problem Exists Between Keyboard And Chair”

** Telling the user it’s an “ID 10 T” error is just another way to call them an ID10T.

Read the original blog entry...

More Stories By Kevin Remde

Kevin is an engaging and highly sought-after speaker and webcaster who has landed several times on Microsoft's top 10 webcast list, and has delivered many top-scoring TechNet events and webcasts. In his past outside of Microsoft, Kevin has held positions such as software engineer, information systems professional, and information systems manager. He loves sharing helpful new solutions and technologies with his IT professional peers.

A prolific blogger, Kevin shares his thoughts, ideas and tips on his “Full of I.T.” blog (http://aka.ms/FullOfIT). He also contributes to and moderates the TechNet Forum IT Manager discussion (http://aka.ms/ITManager), and presents live TechNet Events throughout the central U.S. (http://www.technetevents.com). When he's not busy learning or blogging about new technologies, Kevin enjoys digital photography and videography, and sings in a band. (Q: Midlife crisis? A: More cowbell!) He continues to challenge his TechNet Event audiences to sing Karaoke with him.

Latest Stories
The benefits of automated cloud deployments for speed, reliability and security are undeniable. The cornerstone of this approach, immutable deployment, promotes the idea of continuously rolling safe, stable images instead of trying to keep up with managing a fixed pool of virtual or physical machines. In this talk, we'll explore the immutable infrastructure pattern and how to use continuous deployment and continuous integration (CI/CD) process to build and manage server images for any platform....
AI and machine learning disruption for Enterprises started happening in the areas such as IT operations management (ITOPs) and Cloud management and SaaS apps. In 2019 CIOs will see disruptive solutions for Cloud & Devops, AI/ML driven IT Ops and Cloud Ops. Customers want AI-driven multi-cloud operations for monitoring, detection, prevention of disruptions. Disruptions cause revenue loss, unhappy users, impacts brand reputation etc.
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native applications. However, sharing a Kubernetes cluster between members of the same team can be challenging. And, sharing clusters across multiple teams is even harder. Kubernetes offers several constructs to help implement segmentation and isolation. However, these primitives can be complex to understand and apply. As a result, it’s becoming common for enterprises to end up with several clusters. This...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Public clouds dominate IT conversations but the next phase of cloud evolutions are "multi" hybrid cloud environments. The winners in the cloud services industry will be those organizations that understand how to leverage these technologies as complete service solutions for specific customer verticals. In turn, both business and IT actors throughout the enterprise will need to increase their engagement with multi-cloud deployments today while planning a technology strategy that will constitute a ...
GCP Marketplace is based on a multi-cloud and hybrid-first philosophy, focused on giving Google Cloud partners and enterprise customers flexibility without lock-in. It also helps customers innovate by easily adopting new technologies from ISV partners, such as commercial Kubernetes applications, and allows companies to oversee the full lifecycle of a solution, from discovery through management.
Using serverless computing has a number of obvious benefits over traditional application infrastructure - you pay only for what you use, scale up or down immediately to match supply with demand, and avoid operating any server infrastructure at all. However, implementing maintainable and scalable applications using serverless computing services like AWS Lambda poses a number of challenges. The absence of long-lived, user-managed servers means that states cannot be maintained by the service. Lo...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Using serverless computing has a number of obvious benefits over traditional application infrastructure - you pay only for what you use, scale up or down immediately to match supply with demand, and avoid operating any server infrastructure at all. However, implementing maintainable and scalable applications using serverless computing services like AWS Lambda poses a number of challenges. The absence of long-lived, user-managed servers means that states cannot be maintained by the service. Lo...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Signs of a shift in the usage of public clouds are everywhere. Previously, as organizations outgrew old IT methods, the natural answer was to try the public cloud approach; however, the public platform alone is not a complete solution. Complaints include unpredictable/escalating costs and mounting security concerns in the public cloud. Ultimately, public cloud adoption can ultimately mean a shift of IT pains instead of a resolution. That's why the move to hybrid, custom, and multi-cloud will ...
Docker and Kubernetes are key elements of modern cloud native deployment automations. After building your microservices, common practice is to create docker images and create YAML files to automate the deployment with Docker and Kubernetes. Writing these YAMLs, Dockerfile descriptors are really painful and error prone.Ballerina is a new cloud-native programing language which understands the architecture around it - the compiler is environment aware of microservices directly deployable into infra...