Every good construction worker and handyman knows that the key to their success is having the proper tools in there tool belt to handle the wide variety of tasks they encounter on a day-to-day basis. With proper tools, complex tasks are transformed into simple tasks. Even better yet, some simple tasks become no longer even a consideration.
As developers, we often find that tools are essential in order to get our job done accurately and efficiently. And as every good handyman knows, all necessary tools come with the essential tool belt.
I will be using this post to capture some of the tools that I consider to be an essential part of every Azure developer’s tool belt. These are tools that I find myself using just about every week if not even every day.
Azure Management Portal
This one’s a bit obvious, so I won’t go into any detail. Once you have signed up for an account, the Azure Management Portal can be used to configure, create, and manage your cloud assets.
Azure Management Portal (Preview)
At the time of writing this post, there is a new management portal that is currently in preview, which can be accessed here: https://portal.azure.com. Overall, I find that the new portal is a bit more user friendly than its predecessor. This portal may take some getting used to. However, I have found that once you take the leap and start using it, things are a bit easier. Plus, the pin-able dashboard features really come in handy. At this point in time, it is extremely useful for managing databases and VM’s, but, unfortunately, has not yet to pull over cloud service management features. This being said, I confidently imagine these features are soon to come!
To develop most Azure applications, VisualStudio is essential. Furthermore, it is imperative to have a robust and full set of SDK’s and add-ons for VisualStudio. All this can be downloaded here: http://azure.microsoft.com/en-us/downloads/. The downloads page will provide you with a number of tools including:
- VisualStudio Cloud Templates
- Client libraries (DLL’s)
Azure SDK’s (Prior Versions)
At times, you may find that a company is already using Azure and is leveraging an older version of the SDK’s. If this is the case, the “Previous Versions” link can be used on the aforementioned downloads page, or you can use the following URL to get there directly: http://azure.microsoft.com/en-us/downloads/archive-net-downloads/
Azure Storage Explorer
With the release of VisualStudio 2012 – and the most current version of the Azure SDK at the time of release – a number of tools were added to VisualStudio for the management of various aspects of Azure, including storage. However, I still find myself quite frequently using the Azure Storage Explorer for just about all aspects related to managing Azure storage.
Although you will still need to use the Azure Management Portal to create, delete, and manage storage accounts, this tool gives you everything else that you need for managing the assets within your storage account. This includes:
- Querying, adding, deleting, and updating rows within table storage
- Management of stroage queues
- Ability to upload files to blob storage
- Ability to download large to small files files form blob storage
- Other blob storage management: filtering and deleting
There are already a large number of tools in VisualStudio that allow you to execute the same types of activities. However, my experience has proven to me that this tool is not only robust, but full proof. It also, in my opinion, is a bit easier to use than the build-in VisualStudio Azure SDK tools.
It may also be worthwhile to mention that the tool was developed by a colleague of mine whom I greatly respect and trust: http://davidpallmann.blogspot.com. You may find that another promising factor of this tool is that my current employer is a major contributor to the continued evolution of this product. Through them, as well as the continued support of Microsoft, it is ensured that attempts will be made to keep the tool feature-rich and stable: http://www.neudesic.com/cloud
Azure ServiceBus Explorer
Despite the number of advancements in the Azure Management Portal and VisualStudio SDK’s, I have found no tool that beats the capabilities of ServiceBus Explorer when it comes to managing your service bus namespace.
You will still need to utilize the management portal to create a service bus namespace, but once that is in place, ServiceBus Explorer beings to shine. There is no better tool out there, that I am aware of, for managing queues, topic, and subscriptions within your ServiceBus namespace. There are even sub-tools available in the tool-set that allow you to listen to your queue / topic subscriptions and even simulate messages.
I will repeat myself one last time: If you utilize Azure ServiceBus, this tool is absolutely ESSENTIAL.
Azure Pricing Calculator
The Azure Pricing Calculator is a useful and very accurate estimation tool that can be used during the design stage of software development in order to pre-determine the associated infrastructure costs to your architecture. This tool is excellent for cost forecasting and prevents any unexpected billing surprises upon production release.
This tool also enables you to flip between infrastructure hosting options in order to determine the most cost effective approach that satisfies the software’s non-functional requirements. For example, if you were comparing SQL Azure and Azure Table Storage costs, you might present the question: does my software really require a full-blown instance of SQL Azure?
Visual Studio Online
I was a bit hesitant to mention this in reference to Azure tools as it is somewhat of a parallel and separate product in and of itself. However, many of the tools within VisualStudio Online have proven to be useful in the context of managing the way you deploy to Azure and manage the artifacts you deploy to Azure. VisualStudio Online comes fully equipped with everything you need to manage source code, load tests, and builds. Best of all, these features come free of charge until you reach a specified user limit.
Beyond source control and unit testing, VisualStudio seamlessly integrates with your Azure services in order to provide continuous integration and automated / manual build deployments.
Application Insights currently exists as an extension of VisualStudio Online, but easily represents itself as a standalone product. The tool can be utilized to monitor a large number of aspects of your web applications. This tool can be used to monitor features of your applications which are hosted through, but limited to, one of more of the following: Azure Cloud Services, On-Premise IIS applications, Azure VM’s, and Azure Web Sites.
Application Insights gains you visibility into your running application and will surface information regarding .NET exceptions, ASP.NET performance, usage and other analytical data, as well as server / virtual environment performance.
SQL Management Studio (Express or Full)
SQL Azure is no different from an on-premise SQL Server in that Management Studio is your friend. Although certain features will not work for SQL Azure (e.g., editing table rows through GUI), it provides an easy interface for running DML and DDL T-SQL statements. Furthermore, you can use this tool for managing users and configuring database properties.
Just a forewarning that you will need to add your public IP address to the Azure DB Server’s access control list (ACL) before using this tool. You can find your IP address via http://myipaddress.com and you can edit the IP ACL via the Azure Management Portal.
SQL Azure Management Portal
If you are not too keen on installing and using SQL Management Studio to manage your databases, you are still in luck. There is a very lightweight alternative available known as the SQL Azure Management Portal. This portal can be reached by browsing the following URL using your own database server’s name (replace the value in brackets): https://[DB_Server].database.windows.net/. You will need to use IE access this portal.
Once you are logged in, you can use the portal for a number of activities:
- Query Window – Execute DML & DDL T-SQL statements
- Create databases
- Manage users
- Administer databases
- Deploy to databases (dacpac files, etc)
Although there is an accumulation of other tools available online, these have proven to me to be some of the most prominent and useful. I hope that you found this post useful. If you have additional tool suggestions, the comments section below is open and I will make attempts to continuously update this post as the underlying technology changes and new tools present themselves. If you found this post useful, please use the social icons below to share with your friends and colleagues.