Last updated by at .

  • Microsoft Azure
  • Virtual Machine Manager

Category: Private Cloud

AzureStartup

Microsoft Azure Update at Build 2014

At the Build Conference 2014 Microsoft already announced a lot of new stuff for the whole Microsoft or IT ecosystem. There is absolutely no time to cover all the changes and announcements Microsoft has made in the past 2 days. So I will just focus on the things I care about.

  • Prior to the Build Conference Microsoft announced that Windows Azure will be renamed to Microsoft Azure. This will show how Microsoft is not only building on top of the Windows platform, they also have opened up for other platforms an solutions a long time ago. One example for that maybe was the announcement of supporting Oracle Software in Microsoft Azure around a year ago.
  • Mark Russinovich announced some great new changes to Microsoft Azure IaaS. You can now capture and deploy images, you can Puppet and Chef as well as PowerShell DSC support, to configure you server environment. An this is great for developers, some of the features will show up directly in Visual Studio. Microsoft also did some work on the Networking site which was really important, for example you can now change the subnet for Virtual Machines.
    Microsoft Azure Announcements
  • Microsoft also launched a lot of new preview features like Azure Cache and a lot more. What I love the most is the new Microsoft Azure feature called Azure Automation. Azure Automation allows you to automate the creation, monitoring, deployment, and maintenance of resources in your Azure environment using a highly-available workflow execution engine. Orchestrate time-consuming, error-prone, and frequently repeated tasks against Azure and third party systems to decrease time to value for your cloud operations. This is basically Service Management Automation (SMA), which was released with System Center 2012 R2 as a on premise version, now running up in Microsoft Azure. For those how haven’t heard about SMA, SMA is a new automation engine and Runbooks in Service Management Automation and Microsoft Azure Automation are Windows PowerShell workflows.
    Microsoft Azure Automation
  • Microsoft also release a new preview of the Microsoft Azure portal. Since Microsoft released a huge number of new features in Azure, the “old” management portal didn’t really fit the requirements anymore. The new Azure management portal helps you to be much more organized and is using a lot of new concept like “blades” to help you navigate through your Azure environment. The new dashboard also gives you a quick overview about the Microsoft Azure datacenters and there service status, and the new touch friendly dashboard also allows you to customize it for your need. You can check it out on portal.azure.com
    New Microsoft Azure Portal
  • I am not a developer but I was really impressed what Microsoft did for developers. They are just generating a huge numbers of new opportunities with their new platforms not only in Microsoft Azure using IaaS, mobile Services or PaaS, Microsoft also announced a new concept of Universal Apps which allows developers to write apps which run on Windows Phone, Windows and Xbox One. Some days ago Microsoft also showed the new Kinect v2 hardware which I hope developers will use to write some really cool stuff. If we have a lot back at Microsoft Azure, what I really liked about the new Portal is the  integration of Team Foundation Server or “team projects”.
    Microsoft Azure Team Projects

This are just a few of the cool new things Microsoft announced at Build 2014, there is a lot more which is definitely worth to talk about.



Install Sysinternals from PowerShell

More about PowerShell OneGet

As already posted and as you can see on my blog, I really like the new feature called OneGet. With the Windows Management Framework 5.0 Preview, Microsoft released a new PowerShell module which is called OneGet.

OneGet is a new way to discover and install software packages from around the web. The way how this works is that you can connect to repositories around the web or you can just add new repositories by your self for example for internal use. In the preview you have the Chocolatey repository connected. I am pretty sure Microsoft will also add some own repositories to the list, so you can install Microsoft software and packages from a trusted source.

You can get all the different repositories with the Get-PackageSource cmdlet.

Get-PackageSource

You can than list all the packages available for you by using Find-Package, or you could use it to find a specific package.

Find_package

If you have found the right package you can also see all the versions available by using the Find-Package <Package> -AllVersions cmdlet.

Find Package Versions

You can now install the version you need or you can just use the Install-Package cmdlet to install the latest available version.

OneGet PowerShell

After you have installed packages you can of course list them by using the Get-Package cmdlet or uninstall a package by using Uninstall-Package.

But this is not everything, another great thing about OneGet is that it can be integrated in PowerShell Desired State Configuration (DSC). So think about it for a moment, you can now create simple server configurations with DSC and you don’t have to think about software repositories at all, OneGet does handle this for you.

By the way, Garrett Serack (Senior Open Source Software Developer at Microsoft) also pointed out to me that OneGet also has a place on the Microsoft Open Source Software site CodePlex.

 

 



Install Sysinternals from PowerShell

Install Sysinternals from PowerShell via OneGet

Microsoft just announced the Windows Management Framework 5.0 Preview. The Windows Management Framework V5 preview adds some cool new feature called OneGet.

OneGet is a new way to discover and install software packages from around the web. With OneGet, you can:
  • Manage a list of software repositories in which packages can be searched, acquired, and installed
  • Search and filter your repositories to find the packages you need
  • Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command

As I did some tests this is perfect to install new software packages very easily. So I started with one of my favorite tools called Sysinternals Suite.

Install Sysinternals from PowerShell

First I have check if there was a Sys internals Package available by using:

This checks online from different sources if there is a package available. After that I installed the package by using:

So this is really easy and guess what, it does not just work for Microsoft Software, there is a lot more of third party Software which can be installed with OneGet. So make sure you checkout the Windows Management Framework 5.0 Preview to get the new OneGet cmdlets.

 



OneGet PowerShell

Windows Management Framework V5 Preview

I know there is a lot of cool stuff going on right now and Microsoft announced a lot of new things. Like Windows Phone 8.1, Cortana, Windows 8.1 Update, Visual Studio 2013 Update 2, Windows Universal Apps, the Nokia Lumia 630, 635 and 930 and much much more. But there just was another announcement from Jeffrey Snover which is really interesting for us automation and management guys. Today Microsoft announced the Windows Management Framework 5.0 Preview, which brings some new stuff to PowerShell and PowerShell Desired State Configuration (DSC).

In the release 5.0 of the Windows Management Framework Microsoft did some work on DSC to make it more stable and reliable by addressing bug fixes, performance improvements and general optimizations. But there are coming the new feature to Windows PowerShell.

Windows PowerShell OneGet

OneGet is a new way to discover and install software packages from around the web. With OneGet, you can:
  • Manage a list of software repositories in which packages can be searched, acquired, and installed
  • Search and filter your repositories to find the packages you need
  • Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command

Network Switches

Microsoft will offere a new PowerShell module which brings the possibility to manage Network Switches. In this release Microsoft added a set of L2 Layer NetworkSwitch management PowerShell cmdlets to manage Certified for Windows network switches. This effort was part of the Data Center Abstraction (DAL) vision which was led by Microsoft working closely with industry leaders in this space such as: Arista, Cisco and Huawei. Using Windows Server 2012 R2, network switches that pass the Certified for Windows program can now be managed natively by System Center Virtual Machine Manager 2012 R2 (SCVMM) without the need to write custom plugins.

I think this is not just a small announcement, this is a pretty big one to me.

Get more Information on the Windows Server Blog about the Windows Management Framework V5 Preview.



Distinguished Judges for the UCS Power Scripting Contest

Cisco UCS PowerShell Scripting Contest

In the Microsoft world PowerShell is the tool to automate everything especially in your datacenter. I already mentioned that Cisco offers some great enhancements for the Microsoft Datacenter stack. If you are using a Cisco UCS solution you can integrate System Center Virtual Machine Manager, Orchestrator and others. But Cisco does also offer a PowerShell module for the UCS called Cisco UCS PowerTool. The UCS PowerTool allows you to automate management and deployment tasks very easily via Windows PowerShell. By the way, one of the coolest features in the Cisco UCS PowerTool is the ConvertTo-UCScmdlet.

Cisco announced the UCS Power Scripting Contest

Everyone is invited to share their scripts and possibly win some prizes by entering the UCS Power Scripting Contest on the Cisco Communities.  The contest will run until May 11th.  A distinguished panel of judges (Jeffery Snover, Rob Willis, Don Jones, Hal Rottenberg and Thomas Maurer) along with other members of the community will select the grand prize winner from a set of five finalists.

Distinguished Judges for the UCS Power Scripting Contest

I am proud to be one of the Distinguished Judges for the UCS Power Scripting Contest and I hope we will see some great solutions. To get more information about the contest check out the Cisco Blog from Bill Shields and the UCS Power Scripting Contest website.



WAP Register SPF

Windows Azure Pack – Virtual Machine Cloud

One of the big features of Windows Azure Pack right now is the integration of a Infrastructure as a Service offering or in other words Virtual Machine Cloud. VM Cloud allows you to integrate your existing System Center Virtual Machine Manager 2012 R2 and Hyper-V environment over SPF (Service Provider Foundation) API, so you can create a offering similar to the Windows Azure IaaS experience.

I had the chance working on several Windows Azure Pack projects where we have integrated the Virtual Machine Cloud and created offerings for service providers as well as for enterprise companies for internal use. Two parts of I really like about the solution in the integration of Hyper-V Network Virtualization and the integration of VM Roles, which are basically a solution to deploy services instead of just Virtual Machines. Microsoft also finally fixed the issue we had in App Controller and other products to connect to a Virtual Machine via the Hyper-V Console from outside your organization by using a Remote Desktop Gateway.

Architecture

To deploy the VM Cloud or IaaS offering in Windows Azure Pack you need several roles, services and components. If you want to know more about the Windows Azure Pack Architecture, check out the following blog post.

Windows Azure Pack VM Cloud Architecture

Picture Source: TechNet

  • Hyper-V – You need a Hyper-V environment for hosting virtual machines.
  • System Center Virtual Machine Manager – In a VM Cloud environment you need your Hyper-V resources to connect to a Virtual Machine Manager. You can connect multiple Virtual Machine Manager servers so called VMM stamps. If you are using Hyper-V Network Virtualization (NVGRE) make sure you build a highly available VMM Cluster for each stamp.
  • Service Provider Foundation – To bring those VMM stamps inside Windows Azure Pack you need an API solution called Service Provider Foundation. Every VMM stamp has to be registered in Windows Azure Pack trough a Service Provider Foundation Endpoint.
  • Windows Azure Pack Tenant Portal – The Portal for tenants/customers to manage Virtual Machines
  • Windows Azure Pack Admin Portal – The Portal for Administrator to register new VMM stamps and create offerings for customers.
  • Service Management API – You always need this if you deploy Windows Azure Pack.
  • SQL Server – SQL Server for Windows Azure Pack, SPF and Virtual Machine Manager
  • RD Gateway – Remote Desktop Gateway for the Console Connection to the Virtual Machine
  • System Center Operations Manager – If you just want to monitor your VM environment or you want to do chargeback you need Operations Manager and Service Reporting.

How to setup VM Cloud in Windows Azure Pack

After you have setup your environment you have to register your Service Provider Foundation and VMM in Windows Azure Pack. Enter the address of the SPF Endpoint and the address of the VMM Server.

WAP Register SPF

You can than add VMM servers or VMM Stamps to the Windows Azure Pack.

VMMStamp in WAP

You can now select the Cloud you want to use for your offering. If you create a new plan you can select which VMM stamp and cloud should be used for the offering. You can limit resources like Virtual Machine count, CPU cores, RAM, Storage, VM Networks, Templates and more inside plans and add-ons. You can than offer these plans and add-ons to your customers.

WAP VM Cloud Plan

As another part you can extend the solution by adding a SMA Web Service endpoint to the Windows Azure Pack and configure it for the Virtual Machine Clouds. With this solution you can link SMA Runbooks to actions in Windows Azure Pack VM Cloud, SPF and Virtual Machine Manager.

WAP Link SMA Runbook to VMM Action

If you need to enable Console access to the Virtual Machine to the tenant users, you also have to register a Remote Desktop Gateway. This will allow user to access the Virtual Machine without having a IP address set inside the VM.

Tenant VM Console Access WAP

Remember there are much more steps you have to do. For example configuring the fabric in System Center Virtual Machine Manager or configuring the Remote Desktop Gateway to have access to the Hyper-V hosts. And if you are doing NVGRE (Hyper-V Network Virtualization) you may also want to have NVGRE Gateways in place so customers can leave the Virtual Network and connect to the physical network or the internet. So setting this thing up is one part but having it designed and configured the right way is another.



PowerShell NetAdpater Advanced Property

Hyper-V Network Virtualization NVGRE: No connection between VMs on different Hyper-V Hosts

I have worked on some project with Hyper-V Network Virtualization and NVGRE, and today I have seen an issue with Encapsulated Task Offloading on some HP Broadcom Network adapters.

 

Issue

I have Hyper-V Hosts running with 10GbE Broadcom Network Adapters (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) with driver version 7.8.52.0 (released in 2014). I have created a new VM Network based on Hyper-V Network Virtualization using NVGRE. VM1 is running on Host1 and VM2 is running on Host2. You can ping VM2 from VM1 but there is no other connection possible like SMB, RDP, HTTP or DNS. If you are using a NVGRE Gateway you can no even resolve DNS inside those VMs. If VM1 and VM2 are running on the same Hyper-V host everything between those VMs works fine.

Advanced Driver Settings

If you are using Server Core, which you should by the way, you can use the following command to check for those settings:

PowerShell NetAdpater Advanced Property

 

Resolution

The Broadcom Network adapters have a feature called Encapsulated Task Offloading which is enabled by default. If you disable Encapsulated Task Offloading everything works fine. You can disable it by using the following PowerShell cmdlet.

After that connection inside the VMs started to work immediately, no reboot needed.