Developing Windows Azure, Cloud-Based Applications With Windows 8-What you need and how to get there


Introduction – Cloud Development on Windows 8
I am now doing most, if not all my development on Windows 8. Don’t get me wrong I am a die-hard fan of Windows 7. I go weeks without rebooting – through airports, the back of a motorcycle. But now that Windows 8 is working so well, I’m just spending all my time there. Windows 8 feels like a brave new, re-imagined world, yet with some familiar, feel-at-home features that make the upgrade feel really smooth. Because I do a lot of presenting, I am hesitant to adopt Consumer Preview software. But I am perfectly at home in Windows 8 – even as I write this post.

The convincing argument was that I could easily run Visual Studio 2010 and Visual Studio 2011 at the same time, on the same machine. I've also got all my familiar databases and tooling as well.
Windows 8 Metro and Windows Azure Developer Tooling on the same machine - delightful

Yes, you heard me right. It works great to run both Visual Studio 2010 and Visual Studio 2011 at the same time. I use Visual Studio 2010 to do the back-end Azure http servers. And I use Visual Studio 2011 to do the Windows 8 Metro client application.

You can go back and forth between both environments, client and server. You can hit breakpoints in the server when a Windows 8 Metro Client makes a service request.

Can you do it? Can Windows 8 be your only machine?

For me it is working out well. I haven't been hit with any obstacles that prevent me not to be a 100% on Windows 8. Some of my friends are running Macs with Windows 8 and simultaneously dual booting into MacOS.     I am about to show you a cloud project on Windows Azure that runs on Windows 8. I've even had multiple debugging sessions with both Visual Studio 2010 and Visual Studio 2011 running at the exact same time.

Regarding the needed database support, SQL Server 2008 R2 installed just fine.

My custom, hand-built utilities that I use every day came to the Windows 8 world without a single hitch. I am not going to bore you with the long list of things are that are going well.


Task 1 - Migration Underway

My old projects have all opened, compiled, with little or no hassle. I have some low level API code in C++, even like keyboard hooks that ported right over. I also have some LiveWriter plugins. I've written that work great with LiveWriter on Windows 8. I am delighted at the level of compatibility. I personally see no reason to just be 100% on Windows 8.

I focus on the cloud quite a bit so I obviously want to run my previous cloud projects on Windows 8. It turns out this is working great for me. My samples just work.


Task 2 - Installing Visual Studio 2010/2011 and Windows 8 You can develop Windows Azure applications on Windows 8. But you will need to manually install and configure your development environment. This means you cannot use the Web Platform installer to install all the Azure-related tooling.

First off, you will need to add Visual Studio 2010. This is quite easy. I haven’t tried the Express versions, but my Visual Studio 2010 Ultimate works and I expect most, if not all, versions of Visual Studio should work.

Visual Studio 2011 does not yet support the Azure SDK and tooling. But Visual Studio 2010 works great, luckily. No learning curve there, things work just as you'd expect. Here is how to get things started. First, there is the OS, which is Windows 8 and is the point of this post. Second,

  1. Install Windows 8
  2. Make sure Visual Studio 2011 is downloaded and installed. You won’t use Visual Studio 2011 for cloud development. You will use Visual Studio 2011 for Windows 8 Metro application development.
  3. Press the Windows logo key to show the Start area in the Windows shell.
  4. The Start Menu will appear.
  5. Type in Control Panel
  6. Type in Windows Features
    • Follow the directions in Task 4 to install the needed features
  7. Install Visual Studio 2010 ( Express versions available ). This is what you’ll use for cloud development.
  8. Install the Windows Azure SDK and Tooling. It is CRITICAL you install in the order below.
    • 32-bit:
      • WindowsAzureEmulator-x86.exe
      • WindowsAzureSDK-x86.exe
      • WindowsAzureLibsForNet-x86.msi
      • WindowsAzureTools.VS100.exe
    • 64-bit:
      • WindowsAzureEmulator-x64.exe
      • WindowsAzureSDK-x64.exe
      • WindowsAzureLibsForNet-x64.msi
      • WindowsAzureTools.VS100.exe

Task 3 - Activating the Appropriate IIS Features

The next task is to configure IIS to run cloud applications. These are the settings that are required. Task 4 will give you a visual representation.

  1. .NET Framework 3.5 (includes .NET 2.0 and 3.0)
    • Windows Communication Foundation HTTP Activation
  2. .NET Framework 4.5 Advanced Services
    • ASP.NET 4.5
    • WCF Services ->
      • HTTP Activation
      • TCP Port Sharing
  3. Internet Information Services
    • Web Management Tools -> IIS Management Console
    • World Wide Web Services ->
      • Application Development Features ->
        • .NET Extensibility 3.5
        • NET Extensibility 4.5
        • ASP.NET 3.5
        • ASP.NET 4.5
        • ISAPI Extensions
        • ISAPT Filters
      • Common HTTP Features ->
        • Default Document
        • Directory Browsing
        • Tracing
      • Security -> Request Filtering

Task 4- Visual Representation of Windows Features

The previous steps in Task 3 can be seen below.

win8AzureIIS-Full


Additional Resources


Window Azure Toolkit for Windows 8

It is focused on leveraging push notifications for Windows 8 Metro applications. This means it doesn’t yet support all the typical features of the Azure SDK and related tooling. As stated previously, you need to use Visual Studio 2010 for the traditional Azure cloud projects.

  1. It can be found here at CodePlex.
  2. It is focused on building a cloud service to support rich Windows Metro style apps.
  3. The toolkit includes Visual Studio project templates for a sample Metro style app and a Windows Azure cloud project.
  4. It is designed to accelerate development so that developers can start enabling Windows 8 features, such as push notifications, for their app with minimal time and experience.

The following links should help you find what you need.

Download center page for Windows Azure SDK - November 2011 (follow the exact order as discussed above) https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=28045#
SQL Server 2008 R2 Express with SP1 https://www.microsoft.com/download/en/details.aspx?id=26729#
Windows Azure online forums https://www.windowsazure.com/en-us/support/forums/#
Windows 8 download https://windows.microsoft.com/en-US/windows-8/download
Visual Studio 2011 https://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090703
More detailed directions https://www.windowsazure.com/en-us/develop/net/other-resources/windows-azure-on-windows-8/

Download for Azure SDK