Tuesday, June 29, 2010

Azure Bootcamp Prerequisites

Updated 7/5/2010 with download link to SQL Server 2008 R2 Management Studio Express.

For those attending the Virginia Beach Azure Bootcamp, July 7 is only a week away! Kevin Griffin and I are going to hit the ground running, so you’ll want to spend some time getting all needed software installed. Here’s the list of what you’ll need, along with download links for each product.

For more information about the bootcamp, please leave a comment.

Kevin and I are both available via twitter. Kevin is @1kevgriff. I’m @dmakogon.

Visual Studio

First, there’s the development environment. You’ll need one of the following:

  • Visual Web Developer 2010 Express. This is a free edition that will let you build all of the samples we’ll be working with.
  • Visual Studio 2010. If you have an MSDN subscription, you can download and install any version of VS2010 from MSDN.

Download Visual Web Developer 2010 Express here.

Download Visual Studio 2010 from MSDN.

Azure SDK + Tools

You’ll need the latest SDK + Tools, version 1.2, released in June 2010. This includes Visual Studio extensions for the various cloud projects.

Download the Azure SDK, version 1.2  here.

AppFabric SDK

The AppFabric SDK version 1.0 was released April, 2010. The AppFabric SDK lets you build applications that take advantage of the Service Bus and Access Control services of Azure AppFabric.

Download the AppFabric SDK, version 1.0  here.

Table / Blob Storage Viewer

Visual Studio 2010, in conjunction with the Azure Tools v1.2, provides a built-in table storage viewer. However, this is a read-only set of tools. To modify storage data, you’ll need a more advanced tool such as the freely-available Azure Storage Explorer or the commercial Cerebrata Cloud Storage Studio.

Download the Azure Storage Explorer here.

Download the Cerebrata Cloud Storage Studio trial here.

Azure Training Kit

You’ll need the Azure Platform Training Kit, June 2010 update.

Download the training kit, June 2010  here.

Folding @Home

Folding @Home is a distributed computing project. You’ll need both the Visual Studio project and the Folding@home client application.

Download the Visual Studio 2010 project here.

Download the Folding@home console application here.

SQL Server Management Studio 2008 R2

SSMS is the de facto SQL-editing tool. With SQL Azure, you’ll need the new Management Studio Express for SQL 2008 R2, as SSMS Express 2008 R2 supports SQL Azure script generation.

Download SSMS 2008 R2 here.

Friday, June 25, 2010

SQL Azure 50GB is Live!

During Tech Ed this year, we learned about the new 50GB database limit for SQL Azure, up from 10GB. The go-live date was set for June 28th. Surprise – it’s live today!

How do I choose this new database size?

When creating your new database, select Business edition, and look at the size dropdown:


Notice that there are now five sizes to choose from. This sets the size limit, which also directly impacts monthly cost, as each 10GB increment runs $99.99 per month:

Size: Business Edition

Monthly Rate











But wait… there’s more! Now take a look at the Web edition sizes:

Web Edition pricing only has two tiers:

Size: Web Edition

Monthly Rate





Size and Price

The really nice thing about all these additional sizes: this sets your spending cap as well as size cap. For example: if you set your Business Edition database to 10GB, your monthly charge will never exceed $99.99 per month.

Let’s make things more interesting. Let’s say you set up a 20GB Business Edition database. You are not simply charged $199.98 per month. Rather, your monthly cost is amortized daily, with the daily rate based on the maximum size the database reaches on a given day.

For this 5GB database, let’s say you stay under 1GB for the first 5 days. Those days will accrue at the 1GB rate. Then one day you go over 1GB. At that point, you start accruing at the 5GB rate. If your database ever drops back under 1GB, your daily accrual rate drops back to the 1GB rate.

The same rate pattern applies to the Business edition, where the billing tiers are 10, 20, 30, 40, and 50GB.

Changing Sizes

Ok, so you set up your new database. Let’s say it’s Web Edition, 1GB. And you now realize you need the ability to grow your database to 5GB. No problem: just connect to the Master database and issue an ALTER DATABASE command:


Until your actual database size exceeds 1GB, this change will not cause you to incur additional costs; you’ll still be billed at the 1GB rate.

More information

The SQL Azure blog has details about the new sizes, as well as all T-SQL for creating and altering databases, here.

Today’s launch announcement is here.

Wednesday, June 23, 2010

Azure Guest OS 1.4

On June 7, the Azure team introduced the latest SDK, version 1.2, supporting .NET 4 and other goodies. Along with the SDK, the Azure Guest OS was updated to version 1.3.

A few days ago, a new Guest OS appeared: Version 1.4. Assuming Guest OS Auto-Upgrade is enabled, you’ve automatically been upgraded. If you have any older deployments that have a specific OS version in the service configuration file, simply change the OS version to “*”. If you visit the Azure portal, you’ll see this Guest OS:


If you don’t see 1.4, that means your service is set to a specific OS. You can choose 1.4 from the OS Settings… dialog:


What’s new in 1.4?

There are a few changes you should be aware of.

Azure Drive fixes

If you’re taking advantage of Azure Drives in blob storage, be aware that there might be I/O errors under heavy load. OS 1.4 has a fix for this.

WCF Data Services fix

Guest OS 1.3 had a URL-encoding bug affecting Request URI’s when using LINQ. This is now fixed.

Security Patches

The latest security patches, through April 2010, have been applied to Guest OS 1.4, bringing it in line with Windows Server 2008 SP2.

Related Links

Friday, June 11, 2010

NoVa Code Camp June 2010 Materials: Azure

On Saturday, June 12, I presented “Azure: The Essential Setup Guide” at the Northern Virginia Code Camp. There were several great questions today. Two immediately come to mind. As I think of the others, I’ll add them here.

  • Can multiple roles be combined to run on a single virtual machine? No. Each role runs in its own VM instances. My advice is to build worker roles that handle multiple tasks. For instance, I gave an example in class where a single worker role processes both thumbnails and PDF generation based on different queue messages.
  • Does all code need to be added to a role, including code that used to reside in separate class libraries? Azure roles simply have to reference those class libraries – just add them to your solution and add a reference to the specific role that needs the library.
  • When creating an Azure service, does it only store the code? The service definition has a specific URL as well as the data center affinity. Affinity equates to the specific regional data center to run your code. Be sure that all of your related storage and services have the same affinity! This way, the bandwidth between them is free, and the speed is very fast (all communication stays within the data center).
  • When my virtual machine’s OS is upgraded, does Azure start a new instance before taking down the old instance? Azure will take down your instance and then re-launch it in an upgraded virtual machine. If you want to avoid downtime, run a minimum of two instances; at this point, Azure upgrades in server groups and won’t upgrade all at once.

I also called out a few tips and pointers:

  • When running your web role locally, be sure that the cloud project is set as the startup project. Make sure you see your website running on something like port 81, and that Visual Studio tells you it’s starting up the development fabric. If you’re running on some high-value random port, chances are you’re running in the asp.net development server.
  • If you’re pushing code to the cloud, and you’re set up for more than one instance, be sure to delete your deployment at the end of the workday to conserve hours.
  • When debugging locally, open the dev fabric UI (the Azure flag in the system tray). You can then view each running instance and see all of your Trace statements.

Here’s the slide deck and our simple Hello Azure app:

The slide deck contains the links we discussed and visited today.

If you have any specific questions, or you recall a question or tip from class that I forgot to list above, please post a comment!

Monday, June 7, 2010

Azure SDK+Tools 1.2: Publishing and Monitoring!

Today, Microsoft announced the availability of Azure SDK v1.2, with related tools for Visual Studio.

In my last post, I covered support for .NET 4.0, as well as the integration of IntelliTrace for Azure applications. In this post, I’ll cover deployment and monitoring.


Visual Studio makes it trivial to build an Azure application. However, unless you were using a build script configured to automate this task, publishing has been a two- (or three-) step process:

  1. Build and create a service deployment package using Visual Studio
  2. (optionally) upload the deployment package to blob storage, using an Azure storage management tool such as Azure Storage Explorer.
  3. Through the Azure portal, select a deployment package either from your local disk or from blob storage.

This sequence was time-consuming, and there was no easy way to check on deployment status without either watching the portal’s website or running something like a PowerShell script to keep checking on your deployment status (both of which take your fingers and eyeballs away from Visual Studio).

With the new Visual Studio tools in Azure 1.2, you now have a fully-integrated publishing setup! First, there’s the publishing wizard:


Notice, up top, that you can choose between simply creating your service package and actually deploying your service package! You’ll need to configure the wizard to know about your subscription, which requires both a subscription ID and a certificate. Just drop down the Credentials dropdown and choose Add…


Notice that you now have an option for enabling IntelliTrace, as long as your roles target .NET 4 (see my previous post for more details, or Jim Nakashima’s post for even more details).

Once you finish filling out the Wizard and push OK, your service will be published asynchronously from Visual Studio, and its status is shown in the new Windows Azure Activity Log:


Once the deployment is complete, you’ll see something like this in the History:


And that’s it – no switching to the portal, no manual upload to blob storage. Just… a publishing wizard.


Ok, if the Azure Tools was just baked-in deployment, I’d be happy. But wait – there’s more! Now there’s a baked-in service and storage viewer as well!


With the explorer, you’ll easily be able to view your service instances and storage data in blobs and tables. You even get filtering support. For instance, here’s a view of the WADLogs table, filtered to show all content dated after May 1:


The explorer will show you the status of your services. For instance, I can see that my WebRole1 instance is running:


I can also ask for my IntelliTrace logs from here (again, see my previous post for details).

So you might be wondering: If there’s such a good explorer built into Visual Studio, why would I need a 3rd-party tool such as Azure Storage Explorer or Cerebrata’s Cloud Storage Studio? The simple answer is that the built-in explorer is read-only. You’ll be able to view your services and storage, but you won’t be able to modify anything. 3rd-party tools will give you the ability to upload content, suspend or upgrade instances, etc.

Go forth and publish!

These features are great additions to Visual Studio that simplify deployment and monitoring. Enjoy!

Azure SDK+Tools 1.2: .NET 4 Plus IntelliTrace!

Today, Microsoft announced the availability of Azure SDK v1.2, with related tools for Visual Studio.

This release is a big deal, both from an app-enabling point of view and from an ease-of-deployment point-of-view. Here’s a quick look at what’s new with Application Support, with .NET 4 and IntelliTrace. The next post will cover deployment.

Application support with .NET 4.0

The really big deal with v1.2 is support for the .NET 4 framework! Just choose .NET 4 as your target framework for any of your cloud-targeted projects:


Once you deploy your app to the cloud, you’ll see the all-new Guest OS 1.3 that supports .NET 4:


Sweet! And you can still manage your OS upgrades. If you want your existing apps to use an older OS version, just click OS Settings… and configure your service for manual OS selection:




As long as you choose .NET 4 as your role’s target framework, you’ll be all set for IntelliTrace with your Azure app. You enable IntelliTrace within the all-new Publish wizard. Note that you can still simply create a deployment package without actually publishing to Azure. For actual publishing, you’ll need to have a Storage account configured, as that’s where the deployment package is pushed to, prior to deploying it to your actual Azure Service:


Note: The Intellitrace option is disabled for .NET 3.5 deployments.


Once you’ve enabled IntelliTrace and deployed your app, you can access IntelliTrace data directly from Visual Studio. Just right-click your role instance and View IntelliTrace logs. Note that IntelliTrace is only available for roles with (IntelliTrace) next to the service+slot name.


And then… magic happens, right in Visual Studio:


Once this completes, you’ll see the IntelliTrace information presented in Visual Studio:



Go have fun!!!

This is a great Azure SDK release, especially with .NET 4 support. And IntelliSense is icing on the cake. Sweet, sweet cake…

Friday, June 4, 2010

Interview with Microsoft Partner Network: Azure, November 2009

While out at PDC in November, I spent a bit of time talking with Microsoft's John McClelland about Azure and customer adoption. This interview is now online here.

Interview with Community Megaphone Podcast - May 8, 2010

During the CMAP Code Camp on May 8, The Community Megaphone dynamic duo, Andrew Duthie and Dane Morgridge, showed up and hosted their first live podcast - Episode #10. They interviewed several community speakers in attendance, including Yours Truly.

I participated in a group discussion about the ever-growing user group presence in the Washington, DC area, with its newest addition being the Washington DC .Net user group.  Following that, Joel Cochran stepped in for Dane as Guest Host, along with Kevin Griffin and Steve Andrews, and I was interviewed about Azure. We discussed pricing, target audience, and migration. We definitely had fun, as things devolved into a debate around pronunciation (a theme that continued throughout the day with other interviews). Enjoy!