Manage your subscriptions with the Windows Azure Tools for Visual Studio

In the last few months the tooling for Windows Azure greatly improved: a new portal, official PowerShell cmdlets, azure-cli, … In this article I would like to focus on the Windows Azure Tools for Visual Studio which is one of the components included in the Windows Azure SDK for .NET installation:

In its current release the Windows Azure Tools for Visual Studio allow you to manage different components:

  • Windows Azure Cloud Services
  • Windows Azure Service Bus
  • Windows Azure Storage
  • Windows Azure Virtual Machines

Now go ahead and open the Visual Studio Server Explorer view:

This is where you’ll see the new options made available by the Windows Azure Tools for Visual Studio:

Managing Windows Azure Compute

If we look at the Windows Azure Compute node it’s pretty basic: you can view the Cloud Services which have been deployed in your subscriptions. This includes the different deployment slots, roles and instances. Note that you’ll only see the Cloud Services in your current solution.

By right clicking the deployment slots you have the View in Browser option which will open your web roles in the browser (http://xxx.cloudapp.net):

If you’re in the stage of developing and debugging your application then the following option could be interesting. By right clicking an instance you can directly connect to it using Remote Desktop (if this is enabled for the role).

Finally you can also right click the Windows Azure Compute node to create a new deployment slot (staging / production) which you can then use to deploy your application. Most of you probably know how to deploy a Cloud Service in Visual Studio. You start by creating a new project (Cloud > Windows Azure Cloud Service), create your application by adding different roles and finally right click the Cloud Service project and choose Publish.

The publish window allows you to import subscriptions and configure your deployment (Build configuration, Cloud Service, Remote Desktop, IntelliTrace, profiling, …)

Managing Windows Azure Service Bus

The Windows Azure Service Bus node currently allows you work with Queues, Topics and Subscriptions. To add a connection simply right click the Service Bus node and choose Add New Connection.

The great thing about this window is that you can import a Publish Settings file after which you’ll see all namespaces available in the current subscription. No need to copy paste between the portal and Visual Studio. After you created the connection you can start interacting with your namespace.

Right clicking the queues node allows you to create a new queue:

And the same applies to Topics and Subscriptions:

By right clicking the actual Queues, Topics or Subscriptions you’ll also have a few options to manage them. A cool feature here is that you can test sending and receiving  messages. This can be useful when you’re building a publisher and you want to see if and how message arrive in a queue or subscription.

Right clicking the Rules node in a Subscription also allows you to define new Rules for a subscription using the Sql Filter Expressions. These rules allow you to filter messages and only receive the ones which are needed by that subscription:

Managing Windows Azure Storage

The Windows Azure Storage node allows you to manage Blobs, Queues and Tables in your storage accounts. You can also use it to take a look into your Development Storage (the emulator). In order to add a new connection you would do the same like we did for the Service Bus: import a Publish Settings file. If you know the account name and key you can also directly add a Storage Account without importing the Publish Settings.

Blobs

The Blobs node allows you to create or delete a container. If you right click a container and open the Properties you can also change the permissions (Off, Container, Blob). If you double click a container you can view its contents, search for files based on a prefix, open and even upload files:

A feature I’m missing here is for a way to manage the metadata of a blob.

If you work with large blobs there is a way to track the progress of an operation. By going to View, Other Windows, Windows Azure Activity Log you can open the activity log window and track the progress of your uploads/downloads:

Queues

Like with the Blobs node, the Queues node simply allows you to create or delete queues. By double clicking a queue you can view its contents:

This view allows you to dequeue the first message, empty the queue, open message, dequeue messages but even create messages. Again a nice feature if you’re developing and testing out a few things:

Even though you should have an automated monitoring system in place, this is also a good way to see how your worker processes are doing. If you see that there are hundreds of items in the queue waiting to be processed you know what you need to scale out.

Tables

And finally we also have the Tables node which is pretty basic, allowing you to open or delete tables. When you open a table you’ll get a read-only view on the table which supports filtering (OData syntax) and paging:

Managing Windows Azure Virtual Machines

Just like with Service Bus and Storage you can right click the Windows Azure Virtual Machines node to import your Publish Settings file. After importing the file you’ll see all Virtual Machines related to subscriptions in that file.

You’ll see that this is similar to what you get in Cloud Services. A basic overview of your machines with their endpoints. Here again we get the useful option to directly connect using Remote Desktop:

That’s about it. If you think these features are too limited and you don’t want to use the portal for your day to day work consider going for a commercial solution like Cloud Storage Studio. And hopefully the team will add new features in the next releases.

Enjoy!

About Sandrino Di Mattia

Sandrino Di Mattia is a Windows Azure Consultant at RealDolmen and a Windows Azure Insider. He lives and breathes Windows Azure.