Happy Birthday Windows Azure!

Windows Azure Turns 1 Year Old Today! (General Availability was February 1, 2010)

To Celebrate, I’ve created this Birthday Cake!

Happy-Birthday-Windows-Azure

Enjoy! I look forward to many more Windows Azure Birthday Parties [in the cloud]!

I Propose a Change!

Many of you may have heard, when reading a fortune cookie, you should append ‘in bed’ to the end of the fortune.

I stand here today before you proposing a change. With everything moving towards Cloud Computing, I ask of you my fellow readers, to follow me in my efforts to change the appended ‘in bed’ to ‘in the cloud’.

fortune_cookie

Change is coming… in the Cloud.

Changing the Windows Azure Compute Emulator IP Address

While monitoring twitter tonight I noticed a tweet from Ryan Graham looking for a solution to change the Host Headers for the Windows Azure Compute Emulator (formerly known as DevFabric). With a little bit of investigation I figured out a solution to change the default IP Address that the Compute Emulator is bound to.

Navigate to %ProgramFiles%\Windows Azure SDK\v1.3\

Windows Azure SDK 1.3

This is the home of the Windows Azure SDK Version 1.3 [Unfortunately, SDK Versions cannot be installed side-by-side].

Navigate to the bin folder. The bin folder contains all of the Command-Line Tools for the Windows Azure SDK which includes:

  • CSPack – For Packaging Deployments into CSPKG Files.
  • CSRun – For Deploying your application to Windows Azure Compute Emulator.
  • CSUpload – For Uploading VHDs to a VM Role.

Navigate to the DevFabric Folder, this is the home of the newly named Compute Emulator.

WindowsAzureSDK13DevFabricFolder

You’ll notice IISConfigurator.exe which bootstraps the Role into IIS. You’ll also notice that there is a IISConfigurator.exe.config which contains the configuration for the Executable.

WindowsAzureSDK13IISConfiguratorConfig

Changing the Value for the FixedSiteBindingIpAddress will change the IP Address that the instance is bound to within IIS.

Once you have changed the IP Address to something more appropriate or unused by other websites on your local machine you can then change the Windows Hosts file to assign a URL to the IP Address that was just assigned to your new compute instance.

The Windows Hosts file is located in %windir%\System32\drivers\etc

WindowsHostsFile

By following the instructions in the hosts file to associate a URL to the IP Address that you set in the IISConfigurator.exe.config file.

Happy Clouding!

Windows Azure Troubleshooting Glossary

One of the hardest things we face as developers is Troubleshooting and Debugging code in different environments and scenarios, this continues to hold true in the Cloud. This Blog post will outline some of the resources available to developers that are trying to troubleshoot Windows Azure.

Developers, Developers, Developers... Code with Microsoft

Troubleshooting the Environment in Windows Azure

Troubleshooting Windows Azure Operating System Issues

Even though the Cloud attempts to limit diversity amongst it’s hardware, the Operating System is something that will always need to be able to adapt new features or emerging security threats.

One thing that Microsoft has done particularly well is keeping Operating System upgrades very Abstract in Windows Azure by releasing a new Virtual Machine (VM) Image (OS Guest) with every set of new upgrades. The VM images are controlled in the Cloud Service Configuration (cscfg) file by setting the osFamily and osVersion attributes.

OS Guest Resources

VM Role Resources

Troubleshooting Windows Azure Deployment

Deployment is the stage of development in which you have the least amount of control. A number of Debugging paradigms are not available unless the Role Initializes and is created successfully. Once the Role is created, you will be able to debug using Remote Desktop Access to Windows Azure (if configured), or Download Intellitrace Diagnostics Information (if enabled).

With the introduction of Start-Up Tasks, many new scenarios that may involve debugging have been introduced. Be sure to test your startup scripts using RDP before trying to deploy your application with the Tasks configured in the Cloud Service Definition (csdef) file.

Deployment Resources

Service Management Resources

Windows Azure Diagnostics Resources

Troubleshooting Windows Azure Platform

This includes both the Tools & SDK as well as support for .NET Libraries & Technologies.

Windows Azure Platform Resources

Windows Azure

Troubleshooting SQL Azure

SQL Azure is a Relational Database System in the Cloud. Microsoft’s Cloud approach to the cloud does not limit support for Popular Programming Languages and therefore was a need for a Management Component for SQL Azure to allow those who are not using the Microsoft Stack a way to manage their SQL Azure database without the need to install SQL Server Management Studio (SSMS).

SQL Azure Database Troubleshooting

When Microsoft started Venturing down the road of Creating SQL Azure they had a number of security concerns to address exposing a full features SQL Server instance in the Cloud. With this in mind, there were a number of features that were pulled out of SQL Azure from your typical install of SQL Server 2008.

Along the same lines of feature support for SQL Azure, there were a number of commands that needed to be cut from T-SQL in the Cloud.

SQL Azure Resources

Transact-SQL (T-SQL) Resources

SQL Azure Manager Troubleshooting

Formerly Project Houston, the Database Manager for SQL Azure is a new service offering (Released at PDC 2010).  An extremely compelling offering being able to manage a database from any computer that has internet connectivity, with one limitation, a dependency on the Silverlight Browser Plugin (which in my opinion *everyone* should have).

Database Manager for SQL Azure Resources

security-graphic

Troubleshooting Windows Azure Security

Security is one of the Major concerns in the Cloud, Hopefully you aren’t using these to troubleshoot someone breaking into your application on Windows Azure, but actually reading them while you’re preparing your architecture plans for your system.

Windows Azure Security Resources

How To Suggest a Feature for Windows Azure?

One of the great things that the Windows Azure Team and SQL Azure Team are doing is accepting public suggestions for features to be implemented on the Windows Azure Platform.

WinAzure_web
My Great Windows Azure Idea

SQL-Azure_rgb_2_2
My Great SQL Azure Idea

Many product teams do have a feedback loop by using Microsoft Connect, but Connect is typically used more for bug tracking rather than Feature requests.

Here are a few features that I’d like to see supported:

Happy Clouding!

The Future is Here: 2010 in Review

When planning for the future, studying one’s past achievements can help organize and motivate an individual. With 2011 upon us, I’m taking this opportunity to reflect on my experiences, goals and achievements from 2010.

The Blog Sphere

Although I didn’t get the chance to blog every month this year, this is my first full year that I’ve been writing on my own blog. This in itself is an achievement that I’m rather proud of and I look forward to continue to provide some great content into 2011.

Here’s a few stats on this years blog posts:

Blog Entries 56
Unique Visitors

7 020

Page Views

11 704

RSS Feed Subscribers 33 [Subscribe for SyntaxC4.Net Blog]
My Favourite Blog Post Life Refactored: Going from 9-5 to Dedicated Technologist
Most Viewed Post

You asked, Microsoft Delivered. Free Time on Windows Azure

Least Viewed Post

Windows Azure Firestarter Event: April 6th

Public Speaking

In 2009 I started Speaking at Technical Communities and Events. I continued the trend in 2010 and finished the year off with 8 presentations (that I could track down). What an amazing experience! The majority of my talks were in Ontario, but I was also lucky to have travelled to Quebec and Regina to speak at 2 different events.

Public Speaking combines two things I enjoy most: Talking about my Passion for Software Development and meeting new and interesting people.  I will continue down the path of speaking at events in 2011.

Here’s a list of Events I presented at over the course of this year (hopefully I didn’t forget any):

Event Topic Date Follow-up Entry
CTTDNUG Windows Azure February 24  
FCDNUG Windows Azure February 26  
Confoo Windows Azure
SQL Azure
March 10-12 Everybody was Confoo Fighting
TVBUG Windows Azure May 13th Windows Azure Chat at TVBUG
PrairieDevCon Windows Azure
SQL Azure
June 3-4 Clouds as far as the eye can see
TechDays 2010 Windows Azure October 26-27 Presentation Notes from TechDays 2010 Toronto
Windows Phone 7 Developer Briefings XNA on WP7 December 2, 9  
AzureFest Windows Azure December 14 Post #AzureFest Follow-up Videos
Part1 | Part 2

Unforgettable Moments

Takeaways

Reviewing the past is not only about achievements, it’s also about learning from your experiences. Although 2010 seems like an epic year from my accomplishments above, I also experienced hardship and sleepless nights.

Know Your Limits and Work Within Them

Between working a typical work day, writing blog entries & presentations, presenting and other learning; my schedule got rather hectic at times. I’ve always worked hard and taken the time to learn Best Practices and other  Technologies at home after hours, but I’ve never really burnt out before this year.

Although it was a rather painful experience, I feel that hitting my breaking point was completely necessary. I now know the importance of time off, even if it’s taking a weekend off to hang out with friends, or just take some much deserved “Me  Time”.

Appreciate Your Accomplishments

When you’ve made a career out of something that you love, sometimes you forget that the work you do is still a series of accomplishments.

Stop, Take a Breath, Step Back, Recognize and Reward your Accomplishments!

Happy 2011!