Today, we’re excited to announce Azure SDK 2.7 for Visual Studio 2013 and Visual Studio 2015. We are also excited to announce the final release of Visual Studio 2015. Azure SDK 2.7 is the first supported Azure SDK for the final release of Visual Studio 2015. This post summarizes the updates and how the new tools will improve your Azure development experience.
Azure SDK 2.7 for .NET [download for VS 2015 | VS 2013]
- Sign in improvements for Visual Studio 2015: Azure SDK 2.7 for Visual Studio 2015 now includes support for accounts accessing Azure via Role Based Access Control, Cloud Solution Providers, DreamSpark and other account and subscription types.
- Cloud Explorer for Visual Studio 2015: Azure SDK 2.7 includes Cloud Explorer for Visual Studio 2015 which provides a highly performant, scalable tool for searching and viewing your Azure resources, inspecting their properties, and performing key developer and diagnostic actions from within Visual Studio.
- Remote debugging for Virtual Machines in Visual Studio 2015: Remote debug processes running on Virtual Machines created using the Azure Resource Manager stack.
- Azure Resource Manager Tools: The Azure Resource Manager Tools have been updated to make working with the new Visual Studio Online build tasks easier, as well as improvements for working with Role Based Access Control (RBAC) and new subscription types.
- Azure App Service Tools: App Service Tools are now also available in Visual Studio 2015. This update brings Remote Profiling support for Web Apps, improvements to the Swagger generation for API Apps, and multiple account sign-in support. App Service tools now use the Azure Resource Management APIs for all features and enabling support for DreamSpark and Cloud Service Providers. We’ve also added support for the Azure API Apps preview release for Visual Studio 2015 developers in this update.
- HDInsight Tools: In this release we have added views of execution graphs for Hive jobs running on Tez, expanded our Hive DML IntelliSense support, added NuGet for SCP.Net, upgraded our Storm templates and added new templates for Pig.
- Azure Data Factory Tools: Now included in the Azure SDK are the Azure Data Factory Tools. Our goal is to simplify the Azure Data Factory authoring experience and remove on-boarding and deployment challenges. The Azure Data Factory Tools improve productivity and efficiency for both new and advanced users with tailored experiences and rich tooling. With this release, customers can interactively author and deploy data pipelines using the rich Visual Studio interface. See the Azure Data Factory blog post for more information about these tools.
Sign in improvements for Visual Studio 2015
Visual Studio 2015 enables you to sign into multiple Azure accounts simultaneously making it easy to access resources across your accounts without the need to sign out and sign in repeatedly. Visual Studio 2015 and Azure SDK 2.7 include a number of fixes that reduce the prompts for credentials seen in previous releases.
In addition, you will notice the Azure node in Server Explorer, the new Cloud Explorer and all of the Azure related dialogs now include an account picker so you can easily switch between your accounts. By allowing you to easily switch between a single account, and because we only show a message when you need to reenter your account credentials, you will no longer see authorization prompts automatically appearing. The Create Web App dialog, shown below, demonstrates how the account picker helps you select the appropriate account and subscription without having to leave the dialog.
Azure SDK 2.7 also includes support for accessing Azure resources via Role Based Access Control. So you are no longer required to add accounts as co-administrators to your Azure subscription, you can choose to give individual users access only to the resources and actions they need and Visual Studio will tailor the experience. You can find out more about using Role Based Access Control here.
Additional account and subscription types like those obtained through the DreamSpark program and Cloud Solution Providers can also be used to sign in to Visual Studio. Additionally, user accounts with multiple directories can filter an account to view a single directory to make managing multiple subscriptions easier.
Currently the DreamSpark and Cloud Solution Provider account types are only supported in Visual Studio 2015, support for these account types in Visual Studio 2013 will be included in a future SDK update.
Cloud Explorer for Visual Studio 2015
Cloud Explorer is a new tool window which will soon replace the Azure node in Server Explorer. We received a lot of feedback about the Azure node in Server Explorer, for example the lack of performance working with large numbers of resources and subscriptions, lack of support for many of the new Azure Resource Manager resources, resource groups and role-based access control (RBAC). Cloud Explorer provides you with a tool that addresses all of these issues and enables you to enumerate and take developer and diagnostic actions against all of your Azure resources from right inside Visual Studio.
Today’s release of Cloud Explorer has most of the actions available in the Server Explorer for App Service, Storage Accounts, SQL Databases and Virtual Machines, and we will be adding actions for the remainder of the nodes in future updates. In addition, you can expand other resources that today don’t show in Server Explorer such as DocumentDB and local Azure Fabric clusters. You will see all of the resources you have in the Azure RM stack/new portal, some have only an Open in portal action today, but we will add additional actions and properties to many of them in future updates.
In addition to the traditional resource type view you will notice there is a resource group view as well. This allows you to see all of the resources in your resource groups and take actions against them. You will also notice the Actions panel at the bottom of the tool window, we believe this will make it easier to know what actions can be taken on different resources. There is also a Properties panel at the bottom where you can quickly view and copy important properties you often need when writing code such as connection strings and storage keys.
We have also included the ability to search your resources by name which makes it easy to find just the resource(s) you are interested in. Today’s release supports search in the resource type view and we are actively working to support search in the resource group view as well.
Lastly, clicking the settings icon in the toolbar brings up a panel where you can switch between accounts as well as filter the subscriptions within an account for which you want to see resources. You can add new accounts from this panel by clicking the Add an account option in the account picker dropdown.
Try out the new Cloud Explorer and let us know what you think using the feedback links at the bottom of the tool window. For more details about Cloud Explorer see this article.
Remote debugging for Virtual Machines in Visual Studio 2015
Attaching a debugger to a remote process running in the cloud is a popular developer scenario for debugging in non-production environments. With Azure SDK 2.7 you can now use the same remote debugging capabilities available with classic Virtual Machines with the new Virtual Machines based on the Azure resource manager stack. You can enable debugging on a Virtual Machine through Cloud Explorer by selecting the Virtual Machine and clicking on the action Enable Debugging.
Once debugging is enabled the list of available actions on the virtual machine will include Attach Debugger. Clicking on Attach Debugger will bring up the Attach to Process dialog that lists out all the processes running on the virtual machine. Select the process you want to debug and click the Attach button to attach the debugger. For example to remote debug a web application running on a virtual machine you can attach to the w3wp.exe process.
Azure Resource Manager Tools
Azure Resource Manager Tools have a number of improvements for working with automation and new subscription types in Azure. PowerShell Tools for Visual Studio are now included in Visual Studio 2015 making it easier to work with the PowerShell scripts used to deploy the Azure Resource Manager templates.
With the introduction of Roles Based Access Control and new subscription types such as DreamSpark and Cloud Solution Providers the tools now support all subscription types and access types within the Azure Resource Manager platform.
Also new with these changes are the ability to use new storage accounts, in addition to classic storage for storing artifacts during deployment. If you have an existing Azure Resource Group deployment project from a previous version of the SDK, you will be prompted to upgrade your PowerShell script only if needed to support this new functionality. You can also continue to use existing projects and artifacts whether you need these new abilities or not.
Additional changes have been made to the PowerShell script used for deployment, along with changes to the .targets file that make setting up automated builds in Visual Studio Online even easier by leveraging shared environment variables and targets in the Azure PowerShell task. If you want to use those changes with a previous version of the Azure Resource Group project you can simply copy files to your solution and use them in the 2.7 SDK.
Finally, along with the General Availability of Azure Virtual Machines in Azure Resource Manager there are simplifications made to the VM templates made available when creating and editing an Azure Resource Group Project.
Azure App Service Tooling Improvements
Web developers using Azure App Service will see significant improvements in this update, many of which are direct results of the improved sign-in and Cloud Explorer experiences discussed earlier. We’ve added Remote Profiling support in this update as well, providing all the great diagnostic capabilities you’re used to using locally to the Azure development experience. We’ve also made some improvements to the Swagger generation process in the Azure API App preview template. The great new features we’ve added for web developers will be discussed in more detail below.
Remote Profiling Azure Web Apps
In this update we’ve extended our remote diagnostic and debugging capabilities by adding support for remote profiling for Web Apps, similar to the existing profiling functionality found in the Cloud Service tooling experiences. To profile a Web App, right-click the app’s node and select the Start Profiling gesture from Server Explorer (we’ll be moving this feature into Cloud Explorer in a later release). The remote profiler session will start, and as you click through your live site the profiling data will be queued up in Azure. Once you stop the remote profiler using the same Server Explorer gesture, the profiling data collected in your Azure Web App will be downloaded and opened in Visual Studio 2015 (remote profiling support is currently limited to Visual Studio 2015). Then you can inspect the data and learn how your site is operating live in Azure.
Learn more about other performance and diagnostics tooling updates in Visual Studio 2015 on this blog.
Azure API Apps Preview Template
We’ve brought the API Apps Preview template forward into Visual Studio 2015, and improved some aspects of the template’s code. Adding a custom operation filter implementation ensures that duplicate Swagger operation identifiers are avoided during API App Swagger generation with Swashbuckle. The SwaggerConfig.cs file shown below in the Visual Studio code editor shows one of the customizations Web Tools Extensions is making to the Swashbuckle configuration, so that multiple operations won’t have the identical identifier and thereby, break the code-generation functionality resident in Visual Studio.
Read more about this type of customization in this Azure API Apps documentation article.
Positive Impacts of Template Swagger Tweaks for Client Developers
This change reduces the complexity of the Swagger output and as a result enables better quality of the code generated in Visual Studio. With the functionality we’re using in the API App Consumption dialog (shown below), which outputs the generated C# client code needed by any .NET app to reach out and communicate with your back-end Azure API app, we’ve made it easier than ever to reach out to your deployed API Apps from your client apps. We’ve also brought the Swagger file browsing to Visual Studio 2015, too, so you can work with local Web API projects and not just those you deploy to Azure.
Given a Web API project with Swashbuckle-enabled Swagger generation will open your Web API code up to being consumed by the API Apps client generation tools. The new optimizations we’ve made in the template result in cleaner generated code that has a more explicit and easy-to-follow nomenclature you can use to determine which client methods result in which API calls. The code below shows the Web API code side-by-side with Console Application code augmented with a REST API client library generated within Visual Studio, so you can see the type-specificity and rich object model exposed to your client developer when your API is decorated using Swagger.
Hadoop Tools for Visual Studio
This update includes a series of updates to the tools for Visual Studio developers who are using the power of Hadoop on Azure.
Hive job graphs for Hive on Tez
You can now see more detailed views of Hive job execution when using Tez as the execution engine. These views can help you find tuning opportunities and better understand execution flow. This information is available for completed jobs, running on either Windows or Linux clusters, created with the latest HDInsight version.
Expanded Hive DML IntelliSense support
You can now use enhanced Hive IntelliSense with support for almost all Hive Data Manipulation Language (DML) statements with much improved support for the SELECT statement. You can see suggestions on columns and built-in UDFs, subqueries, INSERT OVERWRITE statements, CTAS statements, and much more.
NuGet support for SCP.NET SDK
Keeping your SCP.NET up to date is now much easier with the introduction of NuGet support for the SCP.NET SDK. When there are updates available, you will get NuGet package upgrade notification, and you can also right click at any time on the project and select “Manage NuGet Packages.”
New project templates
Now you can create and submit Pig scripts to HDInsight clusters from within the Visual Studio IDE. There are also a number of new samples that help simplify your use of Storm with other Azure services such as DocumentDB, Azure SQL Databases, and HBase.
Other Resources
Here’s a list of other great resources on topics discussed in this post:
- Learn more about role-based access control in the Microsoft Azure portal
- Scott Hanselman and Daria Grigoriu discuss role-based access control and Azure Web Apps
- Learn more about student Azure benefits through DreamSpark
- Get started using Visual Studio Hadoop tools for HDInsight to run a Hive query
- Customize Swashbuckle-generated API definitions
Summary
Please make sure to see the Azure SDK 2.7 release notes for information about breaking changes from previous versions and known issues with the preview features. Learn more about what’s new in the Visual Studio 2015 Release Notes and the Visual Studio 2013 Update 5 Release Notes. For a list of fixed bugs and known issues, check out the Visual Studio 2015 KB Article and the Visual Studio 2013 Update 5 KB Article.
If you don’t already have an Azure account, you can sign-up for a free trial and start using all of the above features today. Then visit the Azure Developer Center to learn more about how to build apps with it. Please submit bugs through Connect, suggestions through UserVoice, and quick thoughts or ideas through Send-a-smile in the Visual Studio IDE. The 2.7 SDK release is the first SDK release designed with Visual Studio 2015 in mind. The 2.7 SDK is also being released for Visual Studio 2013, but there will be no 2.7 SDK update for Visual Studio 2012. With the introduction of Visual Studio 2015, there will be no future Azure SDK updates for Visual Studio 2012.
Credits
This blog article is a collaboration of multiple people. Big thanks to Mike Morton, Brian Moore, Xiaoyong Zhu and Saurabh Bhatia.