Kevin Remde's IT Pro Weblog

  • Full of I.T.

    So good. Must share.

    • 2 Comments

    As a Microsoft employee and as a $MSFT stockholder, I have to confess that I was THRILLED last night when I saw this commercial for the first time on TV…

     

     

    So, if you were thinking of buying that iPad..you should think again and get a real Windows 8 tablet! 

    (Here’s the one in the commercial, if you’re interested: ASUS VivoTab Smart.)

  • Full of I.T.

    Need a place to build and test your apps, but can’t afford the hardware?

    • 0 Comments

    Start your FREE TRIALIf you are a developer, or if you are a member of an IT organization which supports a software development organization, then you know that sometimes you need more hardware than you can realistically afford.  And if you do buy the hardware, it becomes obsolete all-too-soon, or just sits there idle because the need for it was short-lived. 

    Windows Azure Infrastructure Services can actually help with this.  Now you have a place to create machines that can host your development tools, and your test environment for quickly spinning up new machines for various configurations and scenarios. 
    (HINT: Get your FREE TRIAL HERE)

    “One of the roadblocks to building a Windows 8 new interface application is that you need Windows 8 or Server 2012 to develop on. It just so happens that Microsoft has this great virtual server environment, called Windows Azure, where we can remote into a 2012 Server and build Windows 8 applications.”

    That quote comes from today’s article by my friend Brian Lewis.  He covers this topic in today’s entry of our “20 Key Scenarios with Windows Azure Infrastructure Services” series. 

    CLICK HERE READ HIS EXCELLENT ARTICLE

  • Full of I.T.

    Cloud-Based SCCM Distribution Point? Why yes! – 20 Key Scenarios with Windows Azure Infrastructure Services

    • 0 Comments

    Try Windows Azure for FREEWelcome to another main installment of our “20 Key Scenarios with Windows Azure Infrastructure Services”.  For those of you who are just now starting to follow along, make sure to start your FREE TRIAL of Windows Azure, so that you can follow along.

    Those of you who are familiar with System Center 2012, and in particular the Configuration Manager component, are already familiar with the concept of Distribution Points.  But for those of you who are new to it, here is a very brief definition that will make it all clear:
    Ahem… :  A Distribution Point is a point from which things are distributed.

    “Oh yeah, crystal-clear, Kevin.”

    You’re welcome.

    Get your free evaluation of System Center 2012 HEREIt’s really not complicated (or at least, the idea isn’t complicated).  In a large organization, with centralized IT Management, and perhaps with many locations around the globe, it’s important to be able to define locations from which those far-flung users are getting their software or updates from.  So System Center 2012 Configuration Manager has

    But consider this: What if I were able to use Windows Azure – a cloud-based, highly available and globally scalable service - to act as my distribution points? 

    “You mean, give immediate, secured, authenticated global reach to your organization’s operating system deployments and software distributions?  That would be amazing, Kevin.”

    I knew you’d like it.  This capability is new in System Center 2012 SP1, and was first announced on the System Center Configuration Manager Team Blog here : New Distribution Points in Configuration Manager SP1.

    It is further documented at TechNet here: Install Cloud-Based Distribution Points in Windows AzureNOTE: The cloud-based distribution point is going to be used deployments other than Microsoft updates.  Updates are already available “in the cloud” through Microsoft Update, and it’s just as easy to configure your company’s devices to use Microsoft for operating system and application updates.

    For the rest of this article, I’ll break the task of installing and testing this into these steps:

    • Install System Center 2012 SP1 Configuration Manager
    • Certificates
    • Create the Distribution Point
    • Considerations for Client Access
    • and we’ll wrap things up with a Summary

    Install System Center 2012 SP1 Configuration Manager

    To test creating a cloud-based distribution point, I installed the evaluation of System Center 2012 SP1 Configuration Manager on a local virtual machine in my test domain.  My installation was a new Configuration Manager standalone primary site:

    Available Setup Options

    (Prior to this installation I had installed the evaluation of SQL Server 2012 on the same machine, but I could have used the “typical installation” option to also install SQL Express to use as the local database.  For a good write-up on installing a test machine like this as a Windows Azure Virtual Machine, read THIS EXCELLENT ARTICLE by Keith Mayer.) 

    After installing and configuring the prerequisites, I also just took the defaults from that point on.

    Certificates

    Of course to make an authenticated, secured (SSL) connection between your Configuration Manager installation and your Windows Azure subscription, you’re going to need to generate use a management certificate.  And like most situations where we’re just trying new capabilities out that require certificates, there is a simple way, and there is a recommended-for-production way.  The recommended-for-production way is to use a PKI, and use the templates and certificate types for Server and Client authentication as described in this document:
    PKI Certificate Requirements for Configuration Manager

    For my purposes, just to get the distribution point created and the trust established between my local Configuration Manager site server and the Azure subscription, I exported both a .CER and a .PFX file from the local machine certificate that was created for my SCCM server and its relationship with SQL Server.  It was already of the proper type (from the proper template), so worked fine for my test.  Here’s how I did that…

    Open MMC (On the start screen, type MMC and run MMC.EXE).

    On the File Menu, choose Add/Remove Snap-in…  then in the left-hand list, select Certificates, and click Add.

    image

    When prompted for what your want to manage certificates for, select Computer Account, click Next, and then click Finish.  Click OK to close the Add/Remove Snap-ins form.

    Now, in the MMC, navigate to Certificates (Local Computer) –> Personal –> Certificates.  You should find a Server Authentication certificate there with the name of your server in the Issued To column. 

    image

    We’re going to do two export operations on this certificate; one to get a .cer file that we’ll upload to Windows Azure, and the other to create a password-protected .pfx file that we’ll use to configure the connection from our local Configuration Manager to create the cloud-based distribution point. 

    First we’ll export a .cer file:

    1. Right-click on the certificate, select All Tasks –> Export…
    2. On the Certificate Export Wizard welcome page, click Next.
    3. On the Export Private Key page, leave “No, do not export the private key” selected.  Click Next.
    4. On the Export File Format page, leave “DER encoded binary X.509 (.CER)” selected.  Click Next.
    5. On the File to Export page, browse to and select a file system location that you can easily remember and navigate to later; either your desktop or documents folder, and give your file a name.  Make sure it’s saving as a *.cer file. Click Save, then click Next.
    6. On the Completing the File Export Wizard page, click Finish.  Click OK on the resulting “The export was successful.” message.

    Now we’ll export a .pfx file:

    1. Right-click on the certificate, select All Tasks –> Export…
    2. On the Certificate Export Wizard welcome page, click Next.
    3. On the Export Private Key page, change the selection to “Yes, export the private key”.  Click Next.
    4. On the Export File Format page, leave “Personal Information Exchange – PKCS #12 (.PFX)” selected.  Click Next.
    5. On the Security page, check the check-box next to Password, and then enter a password in the Password and Confirm password fields.  Click Next.
    6. On the File to Export page, browse to and select a file system location that you can easily remember and navigate to later; either your desktop or documents folder, and give your file a name.  Make sure it’s saving as a *.pfx file. Click Save, then click Next.
    7. On the Completing the File Export Wizard page, click Finish.  Click OK on the resulting “The export was successful.” message.
    8. You can now close the MMC.  We’re done with it.  We have the exports we need.

    Upload the .cer file to our Windows Azure subscription.  (If you don’t have one, it’s easy to START A FREE TRIAL HERE.):

    1. Login to your Windows Azure subscription, and at the bottom of the list on the left, select Settings.
    2. At the bottom of the browser window, click the UPLOAD icon.
    3. In the Upload a management certificate form, click Browse for a file, browse for and select the .cer file that you exported earlier, and then click the check-box at the bottom right. 
    4. You will now see a job running message that says “Uploading…” followed shortly by a “Successfully uploaded..” message, and your certificate now shows up in the Management Certificates list.
    5. Before we move over to Configuration Manager, this is a good opportunity to copy and then paste (maybe in Notepad) the value in the SUBSCRIPTION ID column for your certificate.  It is a very long value that we’ll need later when we’re configuring Configuration Manager.

    And there you go.  The certificate for our test is in place.  Now we’re ready to create and connect Configuration Manager to a new cloud-based distribution point.

    Create the Distribution Point

    1. Open up Configuration Manager.
    2. On the lower-left, click Administration, and then in the section above under Overview, expand Hierarchy Configuration and select Cloud.  (Yes, Cloud!)
    3. Right-Click on Cloud and then click on Create Cloud Distribution Point.
    4. image 
    5. On the Specify details for this cloud service page, this is where we’ll use the copy/pasted Subscription ID we saved, as well as the .pfx file that we exported earlier.  In the Subscription ID: field, pasted the subscription ID you saved.
    6. Next to the Management Certificate field, click Browse.  Navigate to and select the .pfx file that you saved earlier.  After you select it and click Open, you'll be prompted for the password you used to protect it.  Enter the password and click OK.
    7. Click Next.
    8. On the Specify additional details for this distribution point form, note the various regions of the world where you could put your distribution point.  For your Certificate file, click Browse and again navigate to and select your .pfx file, entering the password.  Notice that this also fills in the Service FQDN value that was found in the certificate. Click Next.
    9. On the Configure alerts for this distribution point page, make note of the different alert thresholds that can be set.  We’ll leave the defaults and click Next.
    10. On the Summary page, review the Details, and then click Next
    11. If all goes as it should, you should quickly see a successful completion.  Click Close.

    And now you’ll see your new Cloud Distribution Point listed in the main part of the page, that will have a status of Provisioning.  Eventually that status will change to Ready.

    image

    Go back to your browser and to your Windows Azure administration page.  Navigate to the Cloud Services section on the left.  It will take several minutes but eventually you will see a new cloud service with a long-and-ugly name show up. 

    image

    Note toward the right that you have a value in the URL column.  That value (which is essentially <your service name>.cloudapp.net) is the DNS name that your clients will use for connecting to the distribution point and getting their software.

    Below Cloud Services, find and click on Storage.  Here you’ll see that a new storage account has been created with the same ugly name that the new cloud service has. 

    image

    As I’m sure you’ve guessed, this is the storage account that will hold all software and other items that you’ve deployed to your distribution point.

    And now you’re ready to distribute some software to your new distribution point in the clouds.  Try it out by distributing the Configuration Manager Client Package up to the your distribution point.

    1. In Configuration Manager, click Software Library on the bottom left.  In the section above, under Overview –> Application Management click Packages.
    2. In the details pane, right-click on Configuration Manager Client Package, and select Distribute Content.
    3. image
    4. On the Review selected content page, click Next.
    5. On the Specify the content destination page, click Add.  In the resulting drop-down list, click Distribution Point
    6. In the Add Distribution Points list of available distribution points, check the box next to your cloud-based distribution point.  Click OK, and then click Next.
    7. On the Summary page, click Next.  The distribution should complete successfully, so click Close.

    Now let’s see if that package is being distributed. 

    1. In Configuration Manager, on the bottom left, click and open the Monitoring section.  In the section above, under Overview –> Distribution Status click Content Status.
    2. In the details pane, select your Configuration Manager Client Package, and note below that the completion statistics show that the distribution is In Progress.  Eventually that yellow circle will turn to green when the distribution is complete. 

    image

    Another way to show that you’ve succeeded is to go back to your Windows Azure administration page, click on Storage, click on the your storage account, and select the Containers tab.  You’ll see new containers being created that you can drill-down into and actually see the files and their URLs.

    image

    Good stuff!

    Considerations for Client Access

    “So.. is that it?”

    Almost, but not quite.  The Planning for Content Management in Configuration Manager document has an important section describing how and when clients will access your cloud based distribution points: Client to Cloud-Based Distribution Point Communication.  Make sure you read and understand the points made there.

    Summary

    System Center 2012 SP1 Configuration Manager adds the ability to configure and use a Windows Azure-base service to hose a Distribution Point as what is now known as a “Cloud-Based Distribution Point”.  Once certificates are in place, the actual creation of the distribution point in your Windows Azure subscription is fairly straight-forward, and for distributing content, it becomes just another option when choosing where to distribute your deployed applications and packages.

    ---

    What do you think?  Are the wheels turning as you’re now envisioning all of the flexibility that this new capability will give you?  If not, you’d better read this article again.  Smile

  • Full of I.T.

    (Episode 17) Windows 8 Tips: Security and Privacy

    • 0 Comments

    In part 5 of our Windows 8 Tips and Tricks series, Principal Technical Account Manager Lex Thomas  and I briefly introduce you to some of the new security-centric improvements in Windows 8.

    There’s never been a better time to build for Windows!  Join the App Builder Program and learn about the Windows ecosystem opportunity, design and monetization tips and partner development frameworks.

    Windows 8 Virtual Summit

    Resources:

    Video/Audio Downloads:

  • Full of I.T.

    WordPress blog hosted on Windows Azure? Yes! It’s easy! – 20 Key Scenarios with Windows Azure Infrastructure Services

    • 0 Comments

    Get started with your free Windows Azure trialPerhaps you’re not aware of this, but Windows Azure supports web sites.  In fact, it makes it very easy to create and run any web site – from the most simple to the most high-end, complex web application scaled for global reach.

    To show off how easy it is to get started, my friend Brian Lewis has submitted today’s article for our “20 Key Scenarios with Windows Azure Infrastructure Services”, in which he demonstrates – in great detail - what he’s done to build a WordPress blog hosted with Windows Azure Web Sites.

    READ HIS ARTICLE HERE

  • Full of I.T.

    Do you want to test SharePoint 2013 without dedicating your own hardware?

    • 0 Comments

    Well, do you?

    About Keith Mayer ...“Yes!  And I bet you’re going to tell me to use Windows Azure.”

    You’re catching on!  In today’s article in our “20 Key Scenarios with Windows Azure Infrastructure Services”, my friend Keith Mayer shares some excellent tips, resources, and a step-by-step for building a SharePoint 2013 lab housed completely in Windows Azure.  All you need is a Windows Azure Free Trial subscription.

    READ HIS EXCELLENT ARTICLE HERE

  • Full of I.T.

    Put your ADFS in the Cloud - 20 Key Scenarios with Windows Azure Infrastructure Services

    • 4 Comments

    Welcome to another installment of our May series of articles – “20 Key Scenarios with Windows Azure Infrastructure Services”. 

    Today I’m going to describe a scenario, a problem, and then propose a solution. 

     

    The Scenario: Single Sign-On support using Active Directory, Windows Azure Active Directory, ADFS (Active Directory Federation Services), and Office 365 and/or Windows InTune.

    Relying party trust with Windows Azure AD

    For those of you who may not be familiar with it, you have the ability to set up a federated identity relationship between your local Active Directory and your Office 365 authentication.  In this way, your people, simply logging in with their local domain accounts, are able to be automatically authenticated against Office 365, because Office 365’s use of Windows Azure Active Directory, and you have the ability to set up an ADFS relationship between the authentication in Office 365 and your company’s Active Directory domain.  So, you manage one set of user accounts locally, just like you always have, and Office 365 can grant access based on the “claim” that the user account is known and valid.  Your client (laptop, tablet, or other mobile device) gets the claim from your Active Directory (preferably by accessing an ADFS Proxy in your company’s perimeter network), and then passes that acquired claim up to Office 365.

    In short – Your users are either already authenticated, or just have to set up the authentication parameters one time for their use of the cloud-based services such as Office 365, Windows InTune, or other such services. 

    For details on setting up Single Sign-On for Office 365, see “Plan for and deploy AD FS for use with single sign-on

    So this is great.  No matter where I am, or where my people are in the world, they can use their domain account and local profile and just open up Outlook or access the cloud-based SharePoint or their SkyDrive Pro storage, and they’re authenticated.  And even if they’re using a non-domain machine or a mobile device, they’ll use the same company credentials they’re already familiar with to connect to their company e-mail or other resources.

    The Problem: I’m outside the office, and the connection to my ADFS Proxy is unavailable.   Sad smile  What happens then?

    “Yeah.. what happens then?!”

    I’ll tell you what happens then.  It’s a problem, because, your device needs to get to the ADFS (STS) proxy to verify that you are who you say you are, and to give you the claim token that is passed up to Office 365.  If it is unavailable, then your users can’t be trusted by their cloud-based resources.  Outlook won’t be able to connect to the Office 365 Exchange server.  Yeah.. a big problem.  That’s why so much documentation (and even the promise of Microsoft support) is devoted to the configuration of a load-balanced farm of servers to keep that proxy service high-performing and highly available. 

    Granted, it’s an even bigger problem for the people who are sitting in that office.  Presumably they can’t access the Internet at all.  So assuming that your company, like most others, is becoming more and more dependent upon that Internet connection being live in order to get their work done, you’ve probably already addressed alternatives.  And many people nowadays have multiple personal paths to the Internet that would restore some amount of personal access.  But that doesn’t fix their problem of not being able to get Outlook to connect.

    The Solution: Put a copy of your domain in “the cloud”!

    Think about it: If I have a replicated copy of my domain up on a virtual machine running in Windows Azure, then that domain controller can also serve as the trusted location where Office 365 and the ADFS trust can be connected!

    “Sounds like an interesting idea.  But what if I don’t want a copy of my domain up in the cloud?”

    Then another option would be to Windows Azure virtual machines as your ADFS Proxies.  Basically think of Windows Azure as an alternative to (or an extension of) your Perimeter network (DMZ).  Of course in this case if the availability of your home datacenter goes down, you’re still going to have authentication issues. 

    Here’s a thought: Do both!  Have an AD site up in Windows Azure, with a secured/authenticated/encrypted connection back to the corporate network.  And then build an externally available, load-balanced set of machines in a separate “perimeter” network in Windows Azure as well.  In this way, even if your connection back to your main office and the local AD DCs goes down, you still have AD authentication available “locally” within your Windows Azure subscription.

    Here’s a document that describes the process in great detail: 

    Office 365 Adapter: Deploying Office 365 Single Sign-On using Windows Azure

    ---

    What do you think?  Do you have any other ideas or suggestions?  Any concerns?  I’d love to hear about them in the comments.  Let’s discuss!

    And if you’ve missed any of our ““20 Key Scenarios with Windows Azure Infrastructure Services” series, please click on this link to find all of the other great articles.

  • Full of I.T.

    Deploy Web Server Solutions in the Cloud – 20 Key Scenarios with Windows Azure Infrastructure Services

    • 0 Comments

    Another kind of web server...Windows Azure Infrastructure Services allows you to build complex solutions, hosted in Microsoft datacenters, as readily a you would have them running in your own lab or datacenter. 

    For today’s article in our “20 Key Scenarios with Windows Azure Infrastructure Services”, my friend Matt Hester gives us a detailed lab assignment which, in the end, will result in you having a load-balanced web application supported by a SQL Server database; all without having to use any of your local computer’s resources.  Yep, we’re doing it all in “the cloud”.

    READ HIS ARTICLE and DO THE LAB, HERE

  • Full of I.T.

    Deploy a WebDAV File Server in the Cloud – 20 Key Scenarios with Windows Azure Infrastructure Services

    • 0 Comments

    Get your free 90 day trial of Windows Azure HEREIf you can extend your datacenter into the cloud using a secured network path and Windows Azure, it sure should follow that you can take advantage of cloud-based virtual machines to perform some of your more common infrastructure tasks.  For example: File Servers.

    “Yeah, I get it, Kevin.  You have a secured network connection, and you can just treat it like any other server.”

    Ah.. but what if you want to use something like WebDAV for storage on a server instead?  (WebDAV = Web-based Distributed Authoring and Versioning.)  Perhaps you want to map a drive to a WebDAV connection to a cloud-based server?  That doesn’t require anything other than HTTP to access Windows Server-based storage.

    “I’m listening…”

    In today’s article in our “20 Key Scenarios with Windows Azure Infrastructure Services” series, my friend Brian Lewis describes the scenario, and then provides a detailed step-by-step on how to install and configure WebDAV on a Windows Server 2012 running in Windows Azure, how to configure the proper endpoint and firewall rules, and then how to map a drive letter on a local machine and make the connection. 

    CHECK OUT HIS EXCELLENT ARTICLE HERE

  • Full of I.T.

    NEW! Hands-On Datacenter Scenarios and Windows Azure Events

    • 0 Comments

    This just in…

    This is you, after you've learned all about what Windows Azure can do for you.The demand has been so great for more information about using Windows Azure Infrastructure Services as an extension of your datacenter and IT Operations, that we’ve decided to schedule a few more FREE events to close out the end of our fiscal year here in Central Region Microsoft US DPE.  The four of us (Brian Lewis, Keith Mayer, Matt Hester and I) are holding events at four locations at the end of this month (and one in mid-June):

    • Southfield, MI (Detroit), May 21, 2013, and
    • Irving, TX (Dallas), May 30, 2013
    • Edina, MN (Minneapolis), May 31, 2013, and
    • Downers Grove, IL (Chicago), June 13, 2013

    Each of these days will be made up of two half-day events on two different topics, giving you three different registration options.

    “Huh?”

    You can register for the morning session.  You can register for the afternoon session.  OR you can register for the full-day.

    “Cool.  What are the topics?”

    I’m glad you asked…

    Morning Topic: Using Windows Azure as a server and datacenter backup solution – Windows Azure Backup.  We’ll talk briefly about, and then walk through a hands-on example (you will follow along and do this on your own computers) of enabling, configuring, and leveraging Windows Azure Backup.

    Afternoon Topic: Building a Microsoft SharePoint 2013 lab entirely in Windows Azure.  Again, at the end of this you will have a Microsoft SharePoint 2013 lab configured in your own cloud based lab in Windows Azure.

    As I said, you can register for either one, or register for the full day.  PLEASE just register one time, so that we can get an accurate estimate of attendance.

    Okay, here are the registration links:

    May 21 – Southfield, MI

    OR

     

    May 30 – Irving, TX

    OR

    May 31 – Edina, MN

    OR

    Downers Grove, IL

    OR

     

    Space is limited, so register early.  And make sure you heed the requirements prior to coming.  You’ll need at least some Internet and Remote-Desktop capable hardware, and a Windows Azure subscription.  (Get a free 90-Day Trial here)

    See you there!

  • Full of I.T.

    SQL Database Mirroring to the Cloud - 20 Key Scenarios with Windows Azure Infrastructure Services

    • 0 Comments

    Put your mirror in the cloud!“Hey Kevin… I would like to use Windows Azure as a location where I set up a SQL Server database mirror.  Is this something I can do?”

    Absolutely, yes!  In fact, it doesn’t even require anything fancy as far as setting up special connectors or site-to-site VPN in order to try this out (though in production you should consider a more secured connection).

    As a really great tutorial and example, I point you to this TechNet resource: Tutorial: Database Mirroring for Disaster Recovery in Hybrid IT

    This tutorial shows you how to implement SQL Server database mirroring for disaster recovery end-to-end in a hybrid IT environment. In this configuration, the principal database server runs on-premise and the mirror database server runs in Windows Azure. You can implement this scenario without a VPN connection between Windows Azure and your on-premise network if you use server certificates. Furthermore, it is possible for your principal database server to run behind a NAT device on-premise if you forward the appropriate ports on your NAT device to the server.

    To try this out, I created a new Windows Server 2012 (using the free evaluation) server as a Hyper-V virtual machine named SQLOnPrem, and had a downloaded .ISO of the SQL Server 2012 evaluation installation connected to it (in the virtual DVD drive).  I didn’t even have to manually install SQL on that box, since the tutorial actually gives you the scripts to do all the heavy lifting.  And as long as you can redirect port 5022 through your NAT/firewall to your local VM, it’s really easy to set up.

    I also used my Windows Azure subscription.
    HINT: If you need one of those, you should get the 90 Day FREE Trial.

    The tutorial provides PowerShell code to build the Windows Azure based virtual machine, which is an evaluation SQL Server 2012 running on Windows Server 2008 R2.  Note however that, like the SQL Server AlwaysOn High Availability tutorial I discussed and used last week, the PowerShell code in the tutorial is a little out-of-date and won’t work as provided.  In particular the PowerShell command for the creation of the Azure-based “SQLinCloud” server should be:


    New-AzureVMConfig `
        -Name $sqlServerName `
        -InstanceSize Large `
        -ImageName $sqlImageName.ImageName `
        -MediaLocation "$storageAccountContainer$sqlServerName.vhd" `
        -DiskLabel "OS" |
        Add-AzureProvisioningConfig `
            -Windows `
            -AdminUserName $vmAdminUser `
            -Password $vmAdminPassword `
            -DisableAutomaticUpdates ` |
            Set-AzureSubnet `
                -SubnetNames $subnetName |
                Add-AzureEndpoint `
                    -Name "SQL" `
                    -Protocol "tcp" `
                    -PublicPort 1433 `
                    -LocalPort 1433 |
                    Add-AzureEndpoint `
                        -Name "SQLMirroring" `
                        -Protocol "tcp" `
                        -PublicPort 5022 `
                        -LocalPort 5022 |
                        New-AzureVM `
                            -ServiceName $serviceName `
                            –AffinityGroup $affinityGroupName `
                            -VNetName $virtualNetworkName

    Notice how this is essentially one-line of PowerShell that creates a VM in a specific Affinity Group, creates the Azure Service, connects the Machine to your Azure Network and subnet, sets up two TCP endpoints!  Amazing!

    Another fix needed to be made in the script to configure the firewall on the SQLonPrem machine (your local SQL Server).  It should read:

    [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
    [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")
    $wmi = new-object ("Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer") $env:COMPUTERNAME
    $wmi.ServerInstances['MSSQLSERVER'].ServerProtocols['Tcp'].IsEnabled = "True"
    $wmi.ServerInstances['MSSQLSERVER'].ServerProtocols['Tcp'].Alter()
    $svc = Get-Service -Name 'MSSQLSERVER'
    $timeout = New-Object System.TimeSpan -ArgumentList 0, 0, 30
    $svc.Stop();
    $svc.WaitForStatus([System.ServiceProcess.ServiceControllerStatus]::Stopped,$timeout)
    $svc.Start();
    $svc.WaitForStatus([System.ServiceProcess.ServiceControllerStatus]::Running,$timeout)

    (The highlight is what I had to correct.)

    I’ve put my copy of the corrected PowerShell that I used to create the Windows Azure VM up on SkyDrive for you.  GET IT HERE.

    Other than that, it works great, and is a very useful tutorial.  In the end you’ll have a database installed locally, and a mirror up in your server running under Windows Azure.

    "Oh yeah?  Prove it?”

    (sigh)  Okay… here’s my local SQL Server…

    image

    …and here’s my SQL Server in the cloud.

    image

    For those of you not familiar with SQL Server Database Mirroring, I recommend you look at this page: Database Mirroring (SQL Server)
    Important note: Database Mirroring is a feature that is being phased out in favor of the newer SQL Server 2012 AlwaysOn Availability Groups for the purpose of High Availability (See my blog post HERE).  But.. if you want to mirror, you can.  And now you can mirror to the cloud.

    ---

    What do you think?  Are you considering using the cloud and Windows Azure as part of your storage and disaster recovery solutions?  Give us your comments or questions!

  • Full of I.T.

    Extend Your Private Cloud with Windows Azure Virtual Networks and Windows Server 2012 - 20 Key Scenarios with Windows Azure Infrastructure Services

    • 0 Comments

    Get your 90 Day Free trial of Windows Azure HERESo now that we’ve been talking about building virtual machines in Windows Azure, and extending your datacenter into “the cloud”, we need to actually make the connection.  But how does one actually build the Windows Azure Network, and then that subnet our local subnets?

    Keith Mayer gives us the answer today in our latest “20 Key Scenarios with Windows Azure Infrastructure Services” article.  He delivers an excellent step-by-step, showing you exactly how it’s configured.  For his sample scenario, basically all you need is a Windows Server 2012 server connected to the external network, and a Windows Azure subscription.  So…

    1. Get your Windows Server 2012 evaluation,
    2. Start a free 90-day Windows Azure trial, and
    3. CHECK OUT HIS ARTICLE HERE
  • Full of I.T.

    20 Key Scenarios with Windows Azure Infrastructure Services – The Complete Series

    • 0 Comments

    Get started with your Cloud Trial hereAs many of you may already know, this month my Microsoft US DPE Central Region teammates (Matt Hester, Brian Lewis, and Keith Mayer) and I are blogging about “20 Key Scenarios with Windows Azure Infrastructure Services”.  Throughout this month I’ll be adding links, making any updates or changes.  So keep checking back for more, or keep watching my blog.  As before, I plan on adding my own blog post every day, either introducing the day’s topic, or providing the article myself.

    HINTS:

    • You might want to get your 90 Day FREE TRIAL of Windows Azure, if you haven’t already,
    • You should get your System Center 2012 SP1 trial (to start fully managing all of your clouds), and
    • You should also LIKE my “Kevin Remde is Full of I.T.” page on Facebook, and FOLLOW me on Twitter; whatever is your preferred method of keeping in touch with what I and my teammates are doing, or on general Microsoft news as it pertains to all things I.T.

    That said, here are the articles!

     

    Date Title / Topic Author
    1-May  Getting Started!  Matt Hester@matthewhester
    2-May  Leveraging the Cloud  for Backing Up Your Data  Matt Hester@matthewhester
    3-May  Step-by-Step: Tired  of Tapes? Backup your SQL Databases to the Cloud!  Keith Mayer@KeithMayer
    6-May  Step-by-Step:  Accelerating the Cloud with “BranchCache” in Windows Server 2012  Keith Mayer@KeithMayer
    7-May  DR–Extend Active  Directory to the Cloud with Windows Azure  Brian Lewis@BrianLewis_
    8-May  Replicate File Server  Content to the Cloud with DFS-R  Matt Hester@matthewhester
    9-May  SQL Server 2012  AlwaysOn in the Cloud  Kevin Remde@KevinRemde
    10-May  Extend Your Private Cloud with Windows Azure Virtual Networks and Windows Server 2012  Keith Mayer@KeithMayer
    13-May  SQL Database Mirroring to the Cloud  Kevin Remde@KevinRemde
    14-May  Deploy a WebDAV File Server in the Cloud  Brian Lewis@BrianLewis_
    15-May  Deploy Web Server Solutions in the Cloud  Matt Hester@matthewhester
    16-May  Put Your ADFS in the Cloud  Kevin Remde@KevinRemde
    17-May  Step-by-Step: Build a FREE SharePoint 2013 Lab in the Cloud with Windows Azure Infrastructure Services  Keith Mayer@KeithMayer
    20-May  Build a WordPress Blog on Windows Azure for FREE  Brian Lewis@BrianLewis_
    21-May  Build a Disaster Recovery Plan Repository with WordPress Azure Web Sites for Free  Brian Lewis@BrianLewis_
    22-May  Build a System Center 2012 SP1 Configuration Manager Cloud Distribution Point  Kevin Remde@KevinRemde
    23-May    Brian Lewis@BrianLewis_
    24-May     
    27-May    
    28-May    Matt Hester@matthewhester
    29-May  Migrating VMs from Hyper-V to Windows Azure  Kevin Remde@KevinRemde
    30-May    Keith Mayer@KeithMayer
    31-May    Keith Mayer@KeithMayer

     

    Useful?  I hope so!  Drop a line in the comments if you have a question or comment, please!

  • Full of I.T.

    More Free Online Training on May 16 - Windows Azure for IT Professionals Jump Start

    • 0 Comments

    image

    This is going to be good!  The folks at the Microsoft Virtual Academy are once again hosting a full-day online training event on May 16, 2013 from 9am to 5pm Pacific Time. 

    The title: Windows Azure for IT Professionals.

    Make Windows Azure Your Datacenter! This Jump Start will help you understand how you can use Windows Azure Infrastructure Services, such as Virtual Machines and Virtual Networks, to migrate, extend, run, manage and monitor common workloads in the cloud. The jumpstart will be led by Microsoft Lead Azure Technical Evangelist David Tesar and Azure Group Technical Product Manager David Aiken. Get ready for a live online interactive experience highlighting the latest and greatest via numerous scenarios and demos all while answering questions from the audience.

    The event will be delivered by David Tesar and David Aiken, so you know it’s going to be a good one.  Check out the event main page, or skip it and just click here to register

    David TesarDavid Aiken

  • Full of I.T.

    20 Key Scenarios with Windows Azure Infrastructure Services (IaaS): SQL Server 2012 AlwaysOn in the Cloud

    • 2 Comments

    Highly Available Clouds of Rainbow Colored SQL Data!“Hey Kevin.. How do I get high availability out of my SQL Server?”

    Cluster.  Shared Storage.  Windows Failover Clustering supports that.

    “But… I want my SQL Servers running in Windows Azure.  And I don’t have shared storage in “the cloud”.  But I still need the benefits of clustered high availability.”

    Wow.. you sure want a lot.  Thankfully, I have a great solution.  SQL Server 2012 has a new high availability feature called SQL Server 2012 AlwaysOn.  With AlwaysOn configured, you can have two or more (up to 5) complete copies of a database that are maintained by each of the participating SQL Servers.  Each SQL Server could be hosting the database on it’s local storage, or at some other location (SMB 3.0 file share?  You bet!), but from the perspective of SQL Server 2012 AlwaysOn, it’s a copy of the database served up by each of the SQL Servers.  The SQL Servers in turn are nodes in a Windows Server Failover Clustering cluster.

    “And, because it’s not a cluster using shared storage, I can run these SQL Servers up in Windows Azure Infrastructure Services as Virtual Machines?”

    Yes!  Windows Azure is a great place to run these!  As long as you have an Active Directory domain controller available, your servers can be cluster nodes in a Windows Failover Cluster, and SQL Server 2012 AlwaysOn can be configured.

    “Sounds terrific, Kevin!  How do I get started?”

    You’re in luck!  There’s are two very detailed step-by-step walkthroughs on how to build an example up in Windows Azure.  One describes how to build the machines manually, and the other actually uses PowerShell and other command line scripting to configure everything.  In the end you have 4 servers:

    1. ContosoDC (Domain Controller)
    2. ContosoQuorum (Cluster Quorum Server)
    3. ContosoSQL1 (SQL Server), and
    4. ContosoSQL2 (SQL Server)

    The examples also walk you through how to create the required Azure networks, the Availability Group for your machines, the configuration of the cluster, and the creating and configuration of a database that is highly available.

    Here are the links:

    For my own learning, I used the scripted option.  Unfortunately, some of the commands listed needed to be tweaked a little bit to work with the most recent version of the Windows Azure Powershell module, and there were several typos in the text.  But once I worked out the kinks, I was able to consistently create the machines and configure the cluster and the SQL Servers.

    “Prove it!”

    Okay…

    Here are my servers in Windows Azure…

    image

    And here’s looking at my Availability Group “AG1” on one of the SQL Servers…

    image

    And looking in the Failover Cluster Manager I can see the clustered “AG1” service, currently being served by “CONTOSOSQL1”.

    image

    And I can manually move that clustered service…

    image

    …so that it’s failed-over and now being served by “contososql2”.

    image

     

    TRY IT: I’ve created and uploaded a .txt file containing my modified snippets of PowerShell used to configure my Windows Azure subscription and to create the storage, the networking and the four Virtual Machines. 
    YOU CAN FIND IT HERE.
    I strongly suggest that you change the file extension to .PS1, and open it with the PowerShell Integrated Scripting Environment.  Read the notes at the top, and only run the specific segments at the time they’re asked for in the tutorial.

    ---

    For the official details about AlwaysOn Availability Groups in SQL Server, check out the main documentation page on TechNet.

    John Joyner did a very good write-up on SQL Server 2012 AlwaysOn for TechRepublic.  Read his article: SQL Server 2012 AlwaysOn: High Availability database for cloud data centers

    Don't forget to sign up for your free 90-day trial of Windows Azure, to start working with SQL Server 2012 AlwaysOn!

    And you can find all of the articles in the complete "20 Key Scenarios with Windows Azure Infrastructure Services" series HERE.

  • Full of I.T.

    (Episode 16) Windows 8 Tips: New Options and Features

    • 0 Comments

    In part 4 of our Windows 8 Tips and Tricks series, Principal Technical Account Manager Lex Thomas and I (Kevin Remde) show off some of the newer and useful features found in Windows 8.

    There’s never been a better time to build for Windows!  Join the App Builder Program and learn about the Windows ecosystem opportunity, design and monetization tips and partner development frameworks.

    ReApp Builder Virtual Summitsources:

    Download

  • Full of I.T.

    Just For Fun: I’m Loving the New Lumia Windows Phone Ad

    • 2 Comments

    Last night while watching TV I was thrilled to finally see another good ad for the best phone I’ve ever owned – my Lumia 920.  As my wife will attest, I literally did ROFLMAO.

     

    Sure… I’m a Microsoft Employee.  But seriously, it’s a great phone.(Mine’s the red one.)

    Also – if you do find yourself moving to Windows Phone from Android, “…let the Switch to Windows Phone app help you match your Android apps with their Windows Phone counterparts.”

  • Full of I.T.

    Service Templates in System Center 2012 SP1 VMM: Build Your Private Cloud (Series)

    • 2 Comments

    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 last of our 5-part mini-series we’re calling “Deploying Private Cloud Workloads”.  This week we (Tommy Patterson, Blain Barton and I) gave you the details and demonstrated 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)
    4. VM Templates (Thursday)
    5. Service Templates (Friday) <—Today, by Blain Barton  

    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 my “Floridated” friend Blain Barton delivers our article on creating and using Service Templates in System Center 2012 SP1 Virtual Machine Manager.  He shows you a very useful step-by-step, and leaves you with some very useful resources for further learning.

    READ HIS ARTICLE HERE.

    Blain's Article

    ---

    Have you found our series 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)

  • Full of I.T.

    VM Templates in System Center 2012 SP1 VMM: Build Your Private Cloud (Series)

    • 0 Comments

    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 fourth 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)
    4. VM Templates (Thursday) <—Today, by Tommy Patterson
    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 article, written by my friend and ATL-based coworker Tommy Patterson, goes into detail about Virtual Machine (VM) Templates, and gives us detailed a step-by-step on how they are created and used in System Center 2012 SP1 Virtual Machine Manager.

    CHECK OUT HIS ARTICLE HERE

    VM Templates

    ---

    Have you found our series 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)

  • Full of I.T.

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

    • 0 Comments

    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.

  • Full of I.T.

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

    • 0 Comments

    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 second 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) <—Today!
    3. Application Profiles (Wednesday)
    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 a Guest Operating System Profile?

    Similarly to we discussed yesterday when I told you about Hardware Profiles, a Guest Operating System Profile “specifies the operating system settings that you want the virtual machine to use when a virtual machine is created and deployed.”  It’s a named definition that represents some desired configuration that can be applied to new virtual machine templates.

    Notice that I didn’t say “you can apply a Guest Operating System Profile directly to a new virtual machine”.  These profiles are first associated with Virtual Machine Templates, from which virtual machines can then be created.  You won’t have an option to add a Guest OS Profile to a machine that you’re creating from scratch (unlike you could with the Hardware Profiles we talked about yesterday).

    Why are Guest Operating System Profiles Useful?

    Think of a scenario where you need to create many (several, dozens, hundreds, thousands) of virtual machines that all are pretty much going to be doing the same thing.  They all have the same OS, have similar names, administrator passwords, product keys.  They are all web servers which require various features of IIS to be installed.  They all join the same domain.  These items “in common” relating to the configuration of the virtual machine’s operating system are perfect reasons to use Guest OS Profiles.

    IMPORTANT: Let’s consider what this implies.  Unlike other virtualization solutions that would require me to pre-build and install separate disk images containing various optional operating system configurations, each with roles and features installed differently, I now have the ability to use just one disk image, or one generic OS installation, and then apply different configuration choices dynamically, and at the time of VM creation and deployment.  We can define these differences in the Guest OS Profile section of the virtual machine’s properties as we’re creating them, and we can pre-build these Guest OS Profiles to represent those different machine options.  That’s huge.

    How do I create a Guest Operating System Profile?

    Guest Operating System Profiles are created in the Profiles area of the Library section in Virtual Machine Manager.

    Guest OS Profiles

    Right-Click on Guest OS Profiles to launch the creation of your new Guest OS Profile.

    General 

    As you can see from the name and description, I’m creating a common Guest OS profile for Contoso’s web servers.

    After you’ve given your profile a name, click on Guest OS Profile, and you can see all the areas we are going to potentially configure.  (I’ve collapsed all but the first area to make it easier to see what we’re talking about.)

    Operating System

    The General Settings area allows you to configure the items you see here.  For example, the Guest Operating System selection you make here will shape how the rest of this configuration works for you.  For example, if I select Windows XP, I’m not going to be able to add Roles or Features.  It doesn’t make sense.

    Expand the list to see the many choices that you have.  I’m going to leave “64-bit edition of Windows Server 2012 Standard” selected.

    Under Identity Information

    Identity Information

    …we can specify the name we want to give our computer.  This name is the actual machine name (and just not the VM name used in Hyper-V Manager or Virtual Machine Manager); which means it should probably be unique.  And which is why you have a wildcard ‘*’ option for allowing VMM to generate a new unique name with each new machine based on this Guest OS Profile. 

    But that’s not the only option.   You can also use ### characters to set up a portion of a recognizable name to have a numeric incrementing value to make them unique.  In my case, I’m going to use Contoso-WEB-## to generate computers named Contoso-WEB-01, Contoso-WEB-02, and so on.

    Under Admin Password

    Admin Password

    …I’m going to use my pre-defined Run As account “Admin” to be configured and used as the administrator account on these new machines.  Notice that you also have the option of not specifying an account, or defining one for the local Administrator specifically here.

    (For more information about Run As accounts in VMM, CHECK OUT THIS ARTICLE – Configuring Run As Accounts in VMM)

    Click on Product Key

    Product Key

    …which is (you guessed it) where we can add a product key for this operating system.  This is optional.  And no.. I’m not going to show you my product key.  Sorry.

    That “Product key provided by answer file.” option is greyed-out because I haven’t added an answer file under the Scripts section.  If I had done that, we could then check the box to grab the product key from that answer file.

    Time Zone

    Best Time Zone

    …is of course where we can set the time zone for this machine.  Personally, I’m partial to the BEST place to live: The GMT -6:00 Central Time Zone (US and Canada). 

    Okay.. now let’s click on and expand Roles and Features.

    image

    This is where, in my opinion, things get really interesting.  We can actually pre-determine which roles and features are to be added to a machine.  If machines based on this Guest OS Profile are going to need certain .NET framework versions installed, or have IIS installed, I can define that here.  The image or installation that I base the deployment of these machines on doesn’t have to have these pre-loaded.

    NOTE: the configuration of roles and features here is only used if this Guest OS Profile is used in a VM Template, which is in turn used in a Service Template.  You will get a warning reminding you of this if you configure these here, and then try to create a VM directly off of the VM Template.  The proper way to get this to work is to create a Service Template.  Even if you only have a one-machine Service Template, the deployment of the service will configure the roles and features you’ve specified (along with adding applications and SQL Server configurations, which we’ll talk about tomorrow); whether coming from the Guest OS Profile, or directly in the VM Template.

    Click on and expand Networking.

    Networking

    This is where, if I choose, I can pre-define the domain membership that machines using this Guest OS Profile should have.  In my example I am again using my pre-configured Run As account “Admin” to join these machines to my Remde.home domain.

    (For more information about Run As accounts in VMM, CHECK OUT THIS ARTICLE – Configuring Run As Accounts in VMM)

    Finally, click on and expand Scripts.

    Scripts - Answer File

    Here is where I can point to an answer file that might have been built manually, or by using the Windows System Image Manager tool (a part of the Windows Assessment and Deployment Toolkit (ADK)).

    The [GUIRunOnce] Commands

     

    …give you the powerful opportunity to add a command or script to be launched the first time a user logs on to machines based on this profile.  So, if there is further customization or other scripted installations that need to take place once the machine is first used, you can have that launched automatically by configuring it here.

    When I finally click OK, I now have my new Guest OS Profile. 

    Right-Click the new profile and select Properties to make changes or view other information about the profile.  For example, you have a Dependencies area…

    Dependencies

    …which shows you if there are any items that this profile is dependent upon.  (Hence the name.)  In my example I used the Admin RunAs account two times in the profile, so this is reminding me that that definition needs to remain in place for this Guest OS Profile to function properly.

    The other new area is Access

    Access

    …which, like it did in Hardware Profiles, allows us to add self-service users or roles here to grant use-rights for this profile.

    (For more information about Self-Service Users and Roles, CHECK OUT THIS ARTICLE on Configuring Self-Service in VMM

    Creating a Virtual Machine Template

    To use my new profile, I’ve created a new virtual machine template called Contoso-WEB-Server Template, which uses a modified version of the Hardware Profile we created yesterday, and the Guest OS Profile that I created just now.  In the creation of the VM, I also pointed to the Windows Server 2012 evaluation .VHD as the base image for this machine.  (You can start playing with this evaluation .VHD by choosing the “Download the Evaluation VHD” option on my Server 2012 evaluation download page.)

    In the interest of keeping this blog post short (?!), I’m going to leave the details of working with VM Templates to my friend Tommy Patterson’s post this coming Thursday.

    Creating a Virtual Machine

    If you’re looking at the Templates area under Library, you can now create a new virtual machine by right-clicking on the template…

    Create Virtual Machine

    …and selecting Create Virtual Machine.

    For the Virtual Machine’s Identity

    Identity

    …I can leave it blank.  If you do that, it will create the name from what you’ve specified in the “Configure Operating System” area of the wizard (which, as you’ll see, we’re going to get from our newly created Guest OS Profile).

    Click Next

    For the Hardware Profile, I’ll select one that I recently created (based on the one we built yesterday). 

    Configure Hardware

    Click Next

    For the Guest OS Profile, I’ll select our new Contoso Web Server Profile.

    image

    Click Next.

    destination

    For the Destination, I’m going to put my new machine on a host.  Notice that I could also choose to deploy to a supporting Cloud, or to the library as a stored machine.

    Click Next.

    The Intelligent Placement algorithm kicks in and, for my machine, determines that there are only two of my three servers that are viable candidates to host my machine.  I’ll choose the first option.

    Host Placement

    Click Next.

    Reviewing the settings let’s me see what the defaults were that are about to be assigned, and gives me an opportunity to change them.

    Configure Settings

    For example, I had tested this deployment before, so the computer name ## was incremented higher than I wanted.  Otherwise things look good.

    Click Next.  I’m going to leave the Add Properties alone.  I’m fine with those defaults.  Click Next again…

    Summary

    … and then click Create.

    Several minutes later, you should have a new virtual machine!  Notice that it completed with warnings – mainly reminding me that because I used a VM Template (and not a Service Template) to directly create the virtual machine, it wasn’t able to modify the roles or features as I had specified in my Guest OS Profile.

    Warning

    When start up, connect to my machine, and log-on, I can see that it has joined the domain as I had configured in our Guest OS Profile…

    Server Manager

    …and all is as I expected!

    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)

  • Full of I.T.

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

    • 0 Comments

    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 first 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) <—Today!
    2. Guest OS Profiles (Tuesday)
    3. Application Profiles (Wednesday)
    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 Hardware Profiles in System Center 2012 SP1 Virtual Machine Manager.

    What is a Hardware Profile?

    According to TechNet, “..a hardware profile is a library resource containing hardware specifications that can be applied to a new virtual machine or a virtual machine template. A hardware profile can contain specifications for CPU, memory, network adapters, a video adapter, a DVD drive, a floppy drive, COM ports, and the priority given the virtual machine when allocating resources on a virtual machine host.”  So, like any template, it’s a starting point.  It’s a named definition that represents some desired configuration that can be applied to a new virtual machine or virtual machine template.

    Why are Hardware Profiles Useful?

    As you’re creating many new virtual machines, you probably have a pretty good idea of what the hardware should look like.  Particularly with items like the network adapter or video configuration, you’re likely going to be defining them in a consistent way among many different machines.  Doing this once in a named configuration (a profile) and then using it over and over again is certainly much more efficient than having to re-specify those configurations each and every time you build a new virtual machine. 

    How do I create a Hardware Profile?

    Hardware Profiles are found in the Virtual Machine Manager Library section under Profiles.

    Hardware Profiles

    Create a new Hardware Profile by using the “Create” tool, or by right-clicking Hardware Profiles and selecting Create Hardware Profile

    When you first create it, you’re really only required to give your new Hardware Profile a name. 

    New Hardware Profile

    Other than that, you could just leave the default hardware configuration as it is.

    “But what would that be good for?”

    Exactly.  You’ll want to click on Hardware Profile on the left, and then modify the definitions found there.  (NOTE: I’ve collapsed the five sections in the list so that you can see all of them before we dive into each one.)

    image

    Notice that at any time we can create new hardware objects such as virtual SCSI adapters, DVD drives, or Network Adapters to include in our profile.  And we can also click View Script to view the current contents of the actual PowerShell Script that will be launched to create the hardware profile when we click OK.

    Click on and expand Compatibility, and click on Cloud Capability Profiles.  I’m going to select HYper-V. (and you should, too)

    Compatibility & Cloud Capability Profiles

    Cloud Capability Profiles are used to help limit the options when rolling out a new virtual machine.  For example, if I say that a machine based on this profile is only meant to run on vSphere, then those hosts are the only ones that have the capability to run this “hardware”.   Note that you aren’t limited to just those three.  Like Hardware Profiles, you can add your own custom Capability Profiles and use them to specifically allow or limit how or where machines can be deployed.  (See Capability Profiles just two up the list from Hardware Profiles?)

    Now let’s click on and expand General.

    General

    Under General we have options for pre-defining how many virtual processors and how much memory (with startup memory and the range of dynamic memory) this virtual machine requires, plus options for other virtualized hardware.  It’s important to remember here that, not only are we defining what machines based on this profile will have, but we’re also helping to determine to which virtualization hosts the machine is able to be created on or later migrated to.  For example, if this VM requires 8 virtual CPUs, then I’m not going to be able to run it on a host with only 4 logical processors; and that host won’t be a valid candidate when looking at the intelligent placement results.

    In my example, I’m going to say that this machine needs 2 processors, will be able to migrate between different processor versions (my lab laptops are all Intel-based, but have different processors), and I’m going to enable and configure Dynamic Memory.  I’m going to leave the other hardware as it is.

    General - Memory

    Now click on and expand Bus Configuration.

    image

    This is where you can add or remove hardware that supports storage devices.  By default this profile says that I’ll have a virtual DVD drive in machines based on this profile, but there is no media associated with it.  You can add as many as four IDE DVD Drives and four SCSI Adapters by clicking either option above next to “New”.  And as this silly screenshot example shows, you can use this to be more specific about the the SCSI adapter type, also.  (Remember, this isn’t actually only limiting you to 4 iSCSI disks.  Each SCSI adapter can have as many as 64 disks, giving you a maximum of 256 drives!)

    SCSI Adapter Types

    You can use this area to pre-define associations with physical DVD drives or mounted .ISO files, but you can’t use this for pre-creating or connecting to hard disks. 

    For my Hardware Profile I’m going to leave these settings as they are by default.

    Now let’s click on and expand Network Adapters.

    image

    Here is where you can specify the number of NICs your VMs based on this profile will have.  Notice in my example that I have one adapter, and that I’m specifying that these machines will connect to a previously defined “Contoso” network, getting their IP addresses from a static pool of addresses associated with that network. 

    “Hey Kevin.. What’s a ‘Port Profile’?”

    Port Profiles

    That’s a good question, and is a bit beyond the scope of this article.  “A native port profile for virtual network adapters specifies capabilities for those adapters, and makes it possible for you to control how bandwidth is used on the adapters. The capabilities include offload settings and security settings. ”  I recommend you look at THIS ARTICLE under “Native port profile for virtual network adapters” for more details.

    Now let’s click on and expand the Advanced area.

    Advanced

    The settings under Advanced have to do with various performance and reliability requirements for machines based on this profile.  In the screenshot above, you see that not only can I require that this machine only be deployed to clusters (because it must be “highly available”), but I can also give it a priority relative to other VMs on the  same host as far as how quickly this machine should restart.

    Under BIOS

    BIOS

    …we have the ability to choose the startup order of virtual bootable devices or methods, plus determine whether or not the all-important Num Lock is enabled. 

    “’All-important’?  Really?”

    I was being sarcastic.

    Under CPU Priority

    CPU Priority

    …we can specify relative priority for CPU resources for these machines.  So, if the host hardware is being heavily utilized, machines with a higher relative priority will get earlier access to resources than those of a lower priority.   And using the choices under Resource Control will further specify a minimum and maximum percent of CPU cycles these machines should have.

    Clicking on Virtual NUMA

    NUMA

    …reveals the choice to either allow Hyper-V to optimize (and allow the OS and applications to optimize) thread allocations based on NUMA topology on the hardware, or to be more specific about processors and virtual NUMA nodes for these machines.

    Check out this TECHNET MAGAZINE ARTICLE – Virtualization: Optimizing Hyper-V Memory Usage for a good description of NUMA (Non-Uniform Memory Access) and how it is used to improve a virtual machine’s performance.

    And finally, when we click on Memory Weight

    Memory Weight

    …we see that we can further prioritize the memory that these machines will need to run.  When memory resources on a virtualization host are running low, this is a good way to help ensure that your most important machines are able to run; even at the potential exclusion of other less important machines.

    So that’s it!  I click OK, and now you can see my new hardware profile in the list. 

    Right-Click on the profile, and select Properties

    image

    …you see that there are some additional options that you can configure now that weren’t a part of the original creation of the profile.

    I can, for example, see if there are any detected dependencies.  For example, if I had decided to attach a library-based .ISO file as disk in the virtual DVD drive, we would have seen it in this list of dependencies.

    If we click on Access

    Access

    …we can add self-service users or roles here to grant use-rights for this profile.

    (For more information about Self-Service Users and Roles, CHECK OUT THIS ARTICLE on Configuring Self-Service in VMM)

    And finally, we can click on Validation Errors

    image

    …to see if there are any, um, validation errors.  Smile  If something in the configuration is not quite right, or something that this profile depended upon has been removed or is otherwise unavailable, you might be able to troubleshoot it by looking here.

    And that’s it! 

    To use my new profile, I’ll create a new virtual machine called Contoso-SQL-01.

    Notice that when I get to the Configure Hardware portion of the wizard, I’ve selected my Contoso SQL Server Profile profile from the drop-down selection. 

    Configure Hardware

    This is where I now have the ability to add and define virtual hard disks to my IDE and SCSI bus adapters, or add additional devices.

    In any of these areas I can also change my choices.  That’s important.  The Hardware Profile is just a starting point, but it doesn’t mean I can’t make individual tweaks and changes for the sake of the virtual machine or the VM template that I’m creating with it.

    I complete the wizard, watch the job complete, and presto!..

    Machine Created

     

    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 Hardware 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)

  • Full of I.T.

    BREAKING NEWS: Windows Azure Infrastructure Services are in GA today!

    • 0 Comments

    “Georgia?”

    No!  GA means General Availability!  It’s like RTM, but better. 

    Celebrate!  Windows Azure VMs are now a reality!We’ve been talking about Windows Azure virtual machines, and using Azure as “Infrastructure-as-a-Service” (IaaS) for many months now.  We’ve been promoting the heck out of the 90-day free trial of Windows Azure to IT Pros all over the world; but with the caveat that the capability to create (or upload) virtual machines with persistent storage and high availability up in Windows Azure datacenters was still “in preview”.  Well, the preview is at an end.  We’ve “shipped” it! 

    Starting today, Windows Azure Infrastructure Services are ready for production.

    “I can start using it in a supported way, for my production workloads?”

    Yes.  You have my permission.  And Microsoft’s. 

    “So.. will I see any changes today?”

    Well.. one thing that was pointed out to me (Thank you, David Tesar) was that the word “preview” has come off of the screen when you create a new virtual machine…

    Sweet!

    …so that’s pretty cool. 

    Another thing that has changed is that the prices are now official; and are not the same as what they were during preview.  THEY’RE LOWER!  I hope that’s not too much of a shock.  Smile 

    And if you’d like a really simple summary of Windows Azure Infrastructure Services, check out this video:

    “Bring it!”

  • Full of I.T.

    The Replica Broker: 20+ Days of Server Virtualization (Part 15)

    • 0 Comments

    FREE Hyper-V Server also supports Hyper-V ReplicaBack in October of last year, in Part 5 of our “31 Days of our Favorite Things” series, I wrote about Hyper-V Replica.  “With Hyper-V Replica you can easily create and maintain an off-line copy – a replica – of a virtual machine on a separate virtualization host.  This means, for example, that if your main location or host for an important virtual machine goes down becomes unavailable, you can easily fail-over to the replica.”

    “Is it necessary to use quotes if you’re just quoting yourself?”

    I don’t know.  Better safe than sorry.  I don’t want to get into trouble with myself.

    Anyway, when using Hyper-V Replica capability in a clustered set of virtualization hosts, there is an additional consideration: Where does the replica come from?  Where does it go to?

    What I mean is – a set of virtual machines running on clustered hosts could be running on any of those hosts at any given time.  So how do I refer to the cluster, whether as the source or destination of the replication, as an individual entity?

    The answer: The Replica Broker.

    In part 15 of our “20+ Days of Server Virtualization”, my friend Yung Chou gives us a great rundown of what the Replica Broker is, what it does, and how to configure it for using Hyper-V Replica in a clustered environment.

    READ HIS ARTICLE HERE

  • Full of I.T.

    A whole ‘nuther level of high availability – Guest Clustering: 20+ Days of Server Virtualization (Part 14)

    • 0 Comments

    You can try out guest clustering by downloading the Windows Server 2012 evaluation Did you know that virtual machines can also be clustered? 

    “Really?”

    Yep.  We call it “guest clustering”, where a cluster of application-hosting computers, sharing storage, are actually virtual machines.  In this way we provide a “whole ‘nuther level of high availability” in the fact that if an application can benefit from and take advantage of being cluster-aware, then we can support that availability even while the application is running on virtual machines. 

    In part 14 of our “20+ Days of Server Virtualization” series, Keith Mayer describes the benefits and operations of virtual machine guest clustering in great detail, as well as some of the improvements to Hyper-V in Windows Server 2012 that make it even more powerful.

    CHECK OUT HIS EXCELLENT ARTICLE HERE

Page 1 of 53 (1,320 items) 12345»