Visual Studio Toolbox
14 Tools For Microsoft Azure Development
Microsoft Azure has become one of the top cloud computing environments and we've got 14 essential tools for integrating Azure right into your development environment.
- By Terrence Dorsey
Microsoft Azure is a sophisticated cloud computing solution that lets you easily build and deploy databases, hosted services, and entire Web apps on your choice of technology stack -- from Windows and SQL Server to Linux and MongoDB, and a variety of options in between.
One facet that makes Azure unique among cloud solutions is how well integrated it's become with Visual Studio, allowing seamless development flow from project setup to deployment and resource management. Microsoft has certainly built on that integration, as you'll see, but so have several third-party solution providers and even individual developers. Here are 14 great tools and extensions that illustrate that integration to help you get your apps coded and running as quickly as possible.
Azure Productivity Tools
Let's first take a look at some general productivity extensions for working with Windows Azure, tools that simplify the process of working with cloud resources and keeping tabs on your applications.
AzurePing is a free Windows Azure monitoring utility extension created by Igor Papirov of Paraleap Technologies. AzurePing is a local Windows Service that keeps tabs on your Azure Storage resources or Azure-hosted databases, along with pinging any URLs you configure for the service. It includes simple built-in logging capabilities and you can add your own additional logging or notifications through Apache log4net extensions. [Editor's note: AzurePing is no longer available as of the posting of this article. According to Papirov, via a Twitter message, "The utility is very old and definitely not supported; I don't think I have the source for it anymore."]
Paraleap Technologies also offer the new CloudMonix cloud monitoring and scaling services product (formerly AzureWatch), which you can read more about on the Paraleap blog. In addition to expanded monitoring and alerting, CloudMonix offers automatic scaling, self-healing of cloud resources, and scheduled tasks. Expanded support for Amazon Web Services and Openstack is on the roadmap.
Cloud Explorer for Visual Studio 2015 and Cloud Explorer for Visual Studio 2013 is a new set of tools from Microsoft that enable you to find Windows Azure resources by name, type, or resource group directly from the Visual Studio IDE. Cloud Explorer shows you resource properties, as well as available developer and diagnostic actions, and has deep hooks into Azure Preview Portal for managing resources and groups.
The Cloud Explorer extensions are still under active development and new features are being added all the time. For example, see Andrew Hoh's Exploring Azure DocumentDB in Visual Studio post on the Windows Azure blog for details on the DocumentDB integration. The team is looking for input on future development focus, so give it a try and let them know what you'd like to see in upcoming releases.
Cloud Combine makes it easy to browse, download, upload, and transfer files between cloud storage services, including Windows Azure, Amazon Web Services, and Google Cloud. Cloud Combine makes it easy to log into all of your cloud services and manage the storage resources via a simple Explorer-like user interface. Find out more at the Cloud Combine web site.
I've covered this previously, but Open From Azure Websites is yet another great extension from Mads Kristensen that does one simple thing really well: once you give the extension your publish settings, it lets you open any Azure-hosted web application directly in Visual Studio as a Website project. Kristensen actively updates Open From Azure Websites, and it's an open-source project, letting you review the source and even contribute features. See the OpenFromPortal project on GitHub for details.
By the way, for more great tools and extensions from Kristensen -- and there are many -- see my previous 14 New Extensions for Visual Studio 2015 and 14 Tools and Extensions for Web App Development articles right here in Visual Studio Magazine.
Azure Data Tools
The SQL Database Migration Wizard project is still going strong and has been expanded to help you migrate your SQL Server 2005, 2008, 2012, or 2014 databases to Azure SQL Database using the .NET Framework 3.5 or 4.5. SQLAzureMW includes upgrade and migration analyzers to help identify and troubleshoot potential problems before you pull the trigger on a migration. It also includes both a graphical wizard interface and command line tools to suit your personal preferences and the ability to script migrations.
Azure Blob Studio 2011 is an older tool, contributed by Alessandro Del Sole, that enables you to easily manage Azure blob storage including creating and removing containers, managing blobs, retrieving URIs and metadata for blobs, and more. I don't know if it works for versions of Visual Studio beyond 2010, but there's also a standalone utility provided.
Because's Azure Tables for LightSwitch is designed to allow LightSwitch developers to use Azure Table storage as a native datasource for LightSwitch development. Azure Tables for LightSwitch lets you connect to existing storage, easily create new tables, define partitions and custom keys, generate WCF RIA services, and more. This is another older Visual Studio 2010 tool, but worth checking out if you're doing much LightSwitch development.
Microsoft Azure Storage Connected Service is another new tool from Microsoft that provides design-time tools for configuring Azure storage services, generating code to consume services, and creating, managing, or consuming containers, blobs, entities and more, all within Visual Studio 2015. There's an excellent Get started with blob storage and Visual Studio connected services (ASP.NET) guide in the Microsoft Azure documentation that walks you through the entire process of using the Microsoft Azure Storage Connected Service.
Graph Engine VSExtension is an SDK provided by Microsoft Research for development using the Graph Engine (formerly "Trinity") distributed, in-memory graph processing engine. While not specifically targeted at Azure, Graph Engine VSExtension does support direct deployment to Azure from Visual Studio 2012, 2013, and 2015.
And let's not forget Database .NET, which provides extensive database management and development tools right within the Visual Studio Project Explorer. SQL Azure is one of over 20 data sources natively supported by Database .NET. It provides object navigators, table designers, data visualizers and more and supports Visual Studio 2015, 2013, 2012, 2010, and 2008.
Azure Project Templates
Project templates and sample code are great resources for learning new technologies, transitioning a business to a new platform, or -- if you're providing the framework or platform -- a solid way to show off the unique features of your product.
AzureIonic To-Do List Sample App, created by Newton Jain of Microsoft, uses Microsoft Azure as the back end service for a mobile to-do list application built with the Ionic HTML5 Hybrid Mobile App Framework and Visual Studio Tools for Apache Cordova. Azure has become a popular choice for hosting back-end services for apps on all of the major mobile platforms, so this looks like the right place to start for both cross-platform app design and learning to create and integrate cloud services. Jain also created the Ionic Project Templates for Visual Studio as well.
The IgniteAzureDbWriteBolt sample similarly combines several interesting technologies, in this case it's an Apache Storm "bolt" (a kind of extension) for writing real-time data streams to SQL Azure. Storm is an open-source distributed real-time computation engine. Storm bolts process input streams and produce new output streams. Using the IgniteAzureDbWriteBolt example, you could easily extend it to support other output data sources such as DocumentDB.
Pro tip: I had a few other interesting project templates and samples queued up to share, but I don't like to do so if they don't have any supporting documentation or use undocumented third-party frameworks. I love to share your work folks, so remember to invest at least a little time in supporting content (even just links will often work) so that users can figure out why your project is so great!
Docker has become a popular solution for creating, managing, and deploying application containers, particularly for cloud environments, and as John K. Waters wrote in his Microsoft Opens Docker to Azure article here at Visual Studio Magazine back in 2014, Docker has become a fullly supported deployment tool for Microsoft Azure.
To help streamline the creation and deployment of Docker containers, Microsoft recently released a preview of Visual Studio 2015 Tools for Docker. This new toolset lets you set up locally hosted Docker containers for development and debugging with complete integration with the Visual Studio IDE. VSTD includes package management tools for NuGet and Bower, as well as configuring your authentication keys. When you're ready to deploy a container, VSTD provides simple configuration to handle the task through a PowerShell one-liner.
I wrote my first column on Azure tools, Toolbox - Microsoft Azure Development Resources, for MSDN Magazine back in 2010. I followed it up with 43 Great Windows Azure Development Resources for Visual Studio Magazine in 2014. Between those two articles you'll find almost 60 additional resources for getting started with Microsoft Azure and getting your projects started.
I'll follow up soon with even more Azure tools and extensions, so if you have a favorite we haven't already covered, send me a message and tell us about it.