Saturday, March 28, 2009

Azure Storage Explorer 2.0 Now Available

I'm pleased to announce the availability of Azure Storage Explorer version 2.0. binaries and source code are downloadable from CodePlex.

Azure Storage Explorer is a useful GUI tool for inspecting the data in your Azure cloud storage projects including the logs of your cloud-hosted applications. All three types of cloud storage can be viewed: blobs, queues, and tables.

What's New?
Improvements over the original version include the following:

1. New WPF-based UI with Outlook-style navigation and more polish.

2. Support for multiple storage projects, and the ability to configure projects directly in the tool instead of forcing you to edit the configuration file.

3. Ability to view pictures in blob storage as images.

Viewing Blob Containers and Items
You can see what your blob containers are, the items in each container, and view the contents of individual blob items.

Blob items can be viewed as text, bytes, or images.

Viewing Queues and Messages
You can see what your queues are, list up to 32 peeked messages from each queue, and view the contents of individual queue messages. Queue messages can be viewed as text or bytes.

Viewing Tables and Entities
You can see what your tables are, list the entities in each table, and view the contents of an individual entity as text, bytes, or entity properties.

View Your Application Logs
Since Azure hosted application logs are copied to cloud storage, Azure Storage Explorer is a convenient way to view your logs.

Work with Multiple Accounts
You can work with up to 10 storage projects in Azure Storage Explorer, including your local developer storage. Endpoints, account names, and keys can be specified in the tool's configuration file or you can configure them directly in the tool as shown below (administrator privileges are needed to save changes).

Limitations and Future Plans
Azure Storage Explorer 2.0 does not presently allow you to act on storage items or import/export data to and from cloud storage. These capabilities are being considered for the future.

A Community Donation from Neudesic
Azure Storage Explorer is a community donation by Neudesic, a Microsoft Gold Partner and National Systems Integrator.

Wednesday, March 25, 2009

Azure Application Monitor now on CodePlex

I've been wanting to track my Azure-hosted cloud computing applications in real-time and now there's a way to do so. Azure Application Monitor has just been published on CodePlex.

No doubt the Azure platform will eventually give us a means to monitor applications in real-time, but in the meantime this provides one way to do it here and now. I'd attempted this in the past and quickly found I couldn't access process information and performance counters due to the partial trust environment Azure-hosted applications run in. That's all changed with the March 2009 Windows Azure CTP that was released last week at MIX09, which allows applications to run in full trust if they want to.

Azure Application Monitor has 2 parts, a library and a monitoring application. You use the library to instrument your app to capture process information to cloud storage. You use the monitoring application to view that information.

Instrumenting your apps is very easy. Add a reference to the AzureMonitorLib assembly and call the AzureMonitor.Start static method in your initialization code, providing an application name and a role name. That will cause a background thread to run, periodically capturing process information and writing it to cloud storage. Here's an example of instrumenting a web role:

using Neudesic.Azure;
protected void Page_PreRender(object sender, EventArgs e)
AzureMonitor.Start("Thumbnails", "WebRole");

The monitoring app, AzureMonitor, is a WPF desktop application that reads cloud storage and displays the metrics. It refreshes the display every 15 seconds. What information is being tracked for a role?

  • Application Name (you supply this in your code)
  • Role Name (you supply this in your code)
  • Machine Name
  • Process ID
  • Thread count
  • Handle count
  • Total processor time
  • User processor time
  • Private memory size
  • Non-paged memory size
  • Paged memory size
  • Paged system memory size
  • Peak paged memory size
  • Peak virtual memory size
  • Peak working set
  • Page file usage
  • Peak page file usage
  • Non-paged Pool Usage
  • Local machine time
  • Process local start time
The source on CodePlex includes a version of the Microsoft Thumnails (photo gallery) sample that has been instrumented for monitoring.

I was tempted to go on from here to capture all the performance counters on the machine as well. However, that ends up being a lot of information which could adversely affect the performance of your application so I decided to stick with process information for the time being. if you want to capture additional information it's easy to add new properties to the code.

Wednesday, March 18, 2009

Upcoming Azure User Group Meeting in OC March 26 on .NET Services

The March 2009 meeting of the Azure User Group will be Thursday, March 26 and will be on .NET Services. We have a new meeting place going forward thanks to QuickStart Intelligence and we are now on a regular rhythm of meeting the 4th Thursday of every month.

Is Cloud Computing really viable for Enterprises? This month we'll be taking an in-depth look at .NET Services, which make the cloud enterprise-accessible. We'll learn about and see demos of each of the 3 .NET Services: The Access Control Service, the Service Bus, and the Workflow Service. Together these services make it possible for enterprises to take advantage of cloud computing with industrial-strength security, communication, and workflow capabilities.

Date: Thursday 03/26/09
Time: 6:00-8:00 pm
Location: QuickStart Intelligence, 16815 Von Karman Ave., Ste 100, Irvine, CA 92606
RSVP Link:
User Group Web Site:

Please be sure to RSVP if you are coming so we can order appropriate amounts of pizza and beverages.