Skip to content

Software Development Blogs: Programming, Software Testing, Agile Project Management

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

ScottGu's Blog - Scott Guthrie
Syndicate content
Scott Guthrie lives in Seattle and builds a few products for Microsoft
Updated: 14 hours 33 min ago

Azure Updates: Web Sites, VMs, Mobile Services, Notification Hubs, Storage, VNets, Scheduler, AutoScale and More

Mon, 04/14/2014 - 21:58

It has been a really busy last 10 days for the Azure team. This blog post quickly recaps a few of the significant enhancements we’ve made.  These include:

  • Web Sites: SSL included, Traffic Manager, Java Support, Basic Tier
  • Virtual Machines: Support for Chef and Puppet extensions, Basic Pricing tier for Compute Instances
  • Virtual Network: General Availability of DynamicRouting VPN Gateways and Point-to-Site VPN
  • Mobile Services: Preview of Visual Studio support for .NET, Azure Active Directory integration and Offline support;
  • Notification Hubs: Support for Kindle Fire devices and Visual Studio Server Explorer integration
  • Autoscale: General Availability release
  • Storage: General Availability release of Read Access Geo Redundant Storage
  • Active Directory Premium: General Availability release
  • Scheduler service: General Availability release
  • Automation: Preview release of new Azure Automation service

All of these improvements are now available to use immediately (note that some features are still in preview).  Below are more details about them:

Web Sites: SSL now included at no additional charge in Standard Tiers

With Azure Web Sites you can host up to 500 web-sites in a single standard tier hosting plan.  Azure web-sites run in VMs isolated to host only your web applications (giving you predictable performance and security isolation), and you can scale-up/down the number of VMs either manually or using our built-in AutoScale functionality.  The pricing for standard tier web-sites is based on the number of VMs you run – if you host all 500 web-sites in a single VM then all you pay for is for that single VM, if you scale up your web site plan to run across two VMs then you’d pay for two VMs, etc.

Prior to this month we charged an additional fee if you wanted to enable SSL for the sites.  Starting this month, we now include the ability to use 5 SNI based SSL certificates and 1 IP based SSL certificate with each standard tier web site hosting plan at no additional charge.  This helps make it even easier (and cheaper) to SSL enable your web-sites.

Web Sites: Traffic Manager Support

I’ve blogged in the past about the Traffic Manager service we have built-into Azure. 

The Azure Traffic Manager service allows you to control the distribution of user traffic to applications that you host within Azure. This enables you to run instances of your applications across different azure regions all over the world.  Traffic Manager works by applying an intelligent routing policy engine to the Domain Name Service (DNS) queries on your domain names, and maps the DNS routes to the appropriate instances of your applications (e.g. you can setup Traffic Manager to route customers in Europe to a European instance of your app, and customers in North America to a US instance of your app).

You can use Traffic Manager to improve application availability - by enabling automatic customer traffic fail-over scenarios in the event of issues with one of your application instances.  You can also use Traffic Manager to improve application performance - by automatically routing your customers to the closet application instance nearest them.

We are excited to now provide general availability support of Traffic Manager with Azure Web Sites.  This enables you to both improve the performance and availability of your web-sites.  You can learn more about how to take advantage of this new support here.

Web Sites: Java Support

This past week we added support for an additional server language with Azure Web Sites – Java.  It is now easy to deploy and run Java web applications written using a variety of frameworks and containers including:

  • Java 1.7.0_51 – this is the default supported Java runtime
  • Tomcat 7.0.50 – the default Java container
  • Jetty 9.1.0

You can manage which Java runtime you use, as well as which container hosts your applications using the Azure management portal or our management APIs.  This blog post provides more detail on the new support and options.

With this announcement, Azure Web Sites now provides first class support for building web applications and sites using .NET, PHP, Node.js, Python and Java.  This enables you to use a wide variety of language + frameworks to build your applications, and take advantage of all the great capabilities that Web Sites provide (Easy Deployment, Continuous Deployment, AutoScale, Staging Support, Traffic Manager, outside-in monitoring, Backup, etc).

Web Sites: Support for Wildcard DNS and SSL Certificates

Azure Web Sites now supports the ability to map wildcard DNS and SSL Certficates to web-sites.  This enables a variety of scenarios – including the ability to map wildcard vanity domains (e.g. * – for example: to a single backend web site.  This can be particularly useful for SaaS based scenarios.

Scott Cate has an excellent video that walks through how to easily set this support up.

Web Sites: New Basic Tier Pricing Option

Earlier in this post I talked about how we are now including the ability to use 5 SNI and 1 IP based SSL certificate at no additional cost with each standard tier azure web site hosting plan.  We have also recently announced that we are also including the auto-scale, traffic management, backup, staging and web jobs features at no additional cost as part of each standard tier azure web site hosting plan as well.  We think the combination of these features provides an incredibly compelling way to securely host and run any web application.

New Basic Tier Pricing Option

Starting this month we are also introducing a new “basic tier” option for Azure web sites which enables you to run web applications without some of these additional features – and at 25% less cost.  We think the basic tier is great for smaller/less-sophisticated web applications, and enables you to be successful while paying even less. 

For additional details about the Basic tier pricing, visit the Azure Web sites pricing page.  You can select which tier your web-site hosting plan uses by clicking the Scale tab within the Web Site extension of the Azure management portal.

Virtual Machines: Create from Visual Studio

With the most recent Azure SDK 2.3 release, it is now possible to create Virtual Machines from directly inside Visual Studio’s Server Explorer.  Simply right-click on the Azure node within it, and choose the “Create Virtual Machine” menu option:


This will bring up a “Create New Virtual Machine” wizard that enables you to walkthrough creating a Virtual Machine, picking an image to run in it, attaching it to a virtual network, and open up firewall ports all from within Visual Studio:


Once created you can then manage the VM (shutdown, restart, start, remote desktop, enable debugging, attach debugger) all from within Visual Studio:


This makes it incredibly easy to start taking advantage of Azure without having to leave the Visual Studio IDE.

Virtual Machines: Integrated Puppet and Chef support

In a previous blog post I talked about the new VM Agent we introduced as an optional extension to Virtual Machines hosted on Azure.  The VM Agent is a lightweight and unobtrusive process that you can optionally enable to run inside your Windows and Linux VMs. The VM Agent can then be used to install and manage extensions, which are software modules that extend the functionality of a VM and help make common management scenarios easier. 

At last week’s Build conference we announced built-in support for several new extensions – including extensions that enable easy support for Puppet and Chef.  Puppet and Chef allow developers and IT administrators to define and automate the desired state of infrastructure configuration, making it effortless to manage 1000s of VMs in Azure.

Enabling Puppet Support

We now have a built-in VM image within the Azure VM gallery that enables you to easily stand up a puppet-master server that you can use to store and manage your infrastructure using Puppet.  Creating a Puppet Master in Azure is now easy – simply select the “Puppet Enterprise” template within the VM gallery:


You can then create new Azure virtual machines that connect to this Puppet Master.  Enabling this with VMs created using the Azure management portal is easy (we also make it easy to do with VMs created with the command-line).  To enable the Puppet extension within a VM you create using the Azure portal simply navigate to the last page of the Create VM from gallery experience and check the “Puppet Enterprise Agent” extension within it:


Specify the URL of the Puppet master server to get started. Once you deploy the VM, the extension will configure the puppet agent to connect to this Puppet master server and pull down the initial configuration that should be used to configure the machine.

This new support makes it incredibly easy to get started with both Puppet and Chef and enable even richer configuration management of your IaaS infrastructure within Azure.

Virtual Machines: Basic Tier

Earlier in this blog post I discussed how we are introducing a new “Basic Tier” option for Azure Web Sites.  Starting this month we are also introducing a “Basic Tier” for Virtual Machines as well.

The Basic Tier option provides VM options with similar CPU + memory configuration options as our existing VMs (which are now called “Standard Tier” VMs) but do not include the built-in load balancing and AutoScale capabilities.  They also cost up to 27% less.  These instances are well-suited for production applications that do not require a built-in load balancer (you can optionally bring your own load balancer), batch processing scenarios, as well as for dev/test workloads.  Our new Basic tier VMs also have similar performance characteristics to AWS’s equivalent VM instances (which are less powerful than the Standard tier VMs we have today).

Comprehensive pricing information is now available on the Virtual Machines Pricing Details page.

Networking: General Availability of Azure Virtual Network Dynamic Routing VPN Gateways and Point-to-Site VPN

Last year, we previewed a feature called DynamicRouting Gateway and Point-to-Site VPN that supports Route-based VPNs and allows you to connect individual computers to a Virtual Network in Azure. Earlier this month we announced that the feature is now generally available. The DynamicRouting VPN Gateway in a Virtual Network will now carry the same 99.9% SLA as the StaticRouting VPN Gateway.


Now that we’re in General Availability mode, DynamicRouting Gateway will automatically incur standard Gateway charges which will take effect starting May 1, 2014. 

For further details on the service, please visit the Virtual Network website.

Mobile Services: Visual Studio Support for Mobile Services .NET Backend

With Visual Studio 2013 Update 2, you can now create your backend Mobile Service logic using .NET and the ASP.NET Web API framework in Visual Studio, using Mobile Services templates and scaffolds. Mobile Services support for .NET on the backend offers the following benefits:

  1. You can use ASP.NET Web API and Visual Studio together with Mobile Services to add a backend to your mobile app in minutes
  2. You can publish any existing Web API to Mobile Services and benefit from authentication, push notifications and other capabilities that Mobile Services provides. You can also take advantage of any Web API features like OData controllers, or 3rd party Web API-based frameworks like Breeze.
  3. You can debug your Mobile Services .NET backend using Visual Studio running locally on your machine or remotely in Azure.
  4. With Mobile Services we run, manage and monitor your Web API for you. Azure will automatically notify you if we discover you have a problem with your app.
  5. With Mobile Services .NET support you can store your data securely using any data backend of your choice: SQL Azure, SQL on Virtual Machine, Azure Table storage, Mongo, et al.

It’s easy to get started with Mobile Services .NET support in Visual Studio. Simply use the File-New Project dialog and select the Windows Azure Mobile Service project template under the Cloud node.


Choose Windows Azure Mobile Service in the New ASP .NET Project dialog.


You will see a Mobile Services .NET project, notice this is a customized ASP .NET Web API project with additional Mobile Service NuGet packages and sample controllers automatically included:


Running the Mobile Service Locally

You can now test your .Net Mobile Service project locally. Open the sample TodoItemController.cs in the project. The controller shows you how you can use the built-in TableController<T> .NET class we provide with Mobile Services. Set a breakpoint inside the GetAllTodoItems() method and hit F5 within Visual Studio to run the Mobile Service locally.


Mobile Services includes a help page to view and test your APIs. On the help page, click on the try it out link and then click the GET tables/TodoItem link. Then click try this out and send on the GET tables/TodoItem page. As you might expect, you will hit the breakpoint you set earlier.


Add APIs to your Mobile Service using Scaffolds

You can add additional functionality to your Mobile Service using Mobile Service or generic Web API controller scaffolds through the Add Scaffold dialog (right click on your project and choose Add -> New Scaffolded Item… command)


Publish your Mobile Services project to Azure

Once you are done developing your Mobile Service locally, you can publish it to Azure. Simply right click on your project and choose the Publish command. Using the publish wizard, you can publish to a new or existing Azure Mobile Service:


Remote debugging

Just like Cloud Services and Websites, you can now remote debug your Mobile Service to get more visibility into how your code is operating live in Azure. To enable remote debugging for a Mobile Service, publish your Mobile Service again and set the Configuration to Debug in the Publish wizard.


Once your Mobile Service is published and running live in the cloud, simply set a breakpoint in local source code. Then use Visual Studio’s Server Explorer to select the Mobile Service instance deployed in the cloud, right click and choose the Attach Debugger command.


Once the debugger attaches to the mobile service, you can use the debugging capabilities of Visual Studio to instantly and in-real time debug your app running in the cloud.

To learn more about Visual Studio Support for Mobile Services .NET backend follow tutorials at:

This new .NET backend supports makes it easy to create even better mobile applications than ever before.

Mobile Services: Offline Support

In addition to the above support, we are also introducing a preview of a new Mobile Services Offline capability with client SDK support for Windows Phone and Windows Store apps.

With this functionality, mobile applications can create and modify data even when they are offline/disconnected from a network. When the app is back online, it can synchronize local changes with the Mobile Services Table APIs. The feature also includes support for detecting conflicts when the same record is changed on both the client and the backend.

To use the new Mobile Services offline functionality, set up a local sync store. You can define your own sync store or use the provided SQLite-based implementation.  The Mobile Services SDK provides a new local table API for the sync store, with a symmetrical programming model to the existing Mobile Services Table API. You can use Optimistic Concurrency along with the offline feature to detect conflicting changes between the client and backend.

The preview of the Mobile Services Offline feature is available now as part of the Mobile Services SDK for Windows Store and Windows Phone apps. In the future, we will support all client platforms supported by Mobile Services, including iOS, Android, Xamarin, etc.

Mobile Services: Support for Azure Active Directory Sign On

We now support Azure Active Directory Single Sign On for Mobile Services.  Azure Active Directory authentication is available for both the .NET and Node.js backend options of Mobile Services.

To take advantage of the feature, first register your client app and your Mobile Service with your Azure Active Directory tenant using the Applications tab in the Azure Active Directory management portal.


In your client project, you will need to add the Active Directory Authentication Library (ADAL), currently available for Windows Store, iOS, and Android clients.

From there on, the token retrieved from ADAL library can be used to authenticate and access Mobile Services.  The single sign-on features of ADAL also enables your mobile service to make calls to other resources (such as SharePoint and Office 365) on behalf of the user.  You can read more about the new ADAL functionality here.

These new updates make Mobile Services an even more attractive platform for building powerful employee facing apps.

Notification Hub: Kindle Support and Visual Studio Integration

I’ve previously blogged about Azure Notification Hubs, a high scale cross platform push notification service that allows you to instantly send personalized push notifications to segments of your audience or individuals containing millions of iOS, Android, Windows, Widows Phone devices with a single API call.

Today we’ve made two important updates to Azure Notification Hubs: adding support for Amazon Kindle Fire devices, and Visual Studio support for Notification Hubs.

Support for Amazon’s Kindle

With today’s addition you can now configure your Notification Hubs with Amazon Device Messaging (ADM) service credentials on the configuration page for your Notification Hub in the Azure Management portal, and start sending push notifications to your app on Amazon’s Kindle device, in addition to iOS, Android, or Windows.


Testing Push Notifications with Visual Studio

Earlier I blogged about how we enabled debugging push notifications using the Azure Management Portal. With today’s Visual Studio update, you can now browse your notification hubs and send test push notifications directly from Visual Studio Server Explorer as well.

Simply select your notification hub in the Server Explorer of Visual Studio under the Notifications Hubs node.  Then right click, and choose the Send Test Notifications command:


In the notification hub window, you can then send a message either to a particular tag or all registered devices (broadcast). You can select from a variety of templates - Windows Store, Windows Phone, Android, iOS, or even a cross platform message using the Custom Template. After you hit Send, you’ll receive the message result instantly to help you diagnose if your message was successfully sent or not.


To learn more about Azure Notification Hubs, read tutorials here.

AutoScale: Announcing General Availability of Autoscale Service

Last summer we announced the preview release of our Autoscale service. I’m happy to announce that Autoscale is now generally available!  Better yet, there's no additional charge for using Autoscale.

We've added new features since we first released it as a preview version: support for both performance-and schedule-based autoscaling, along with an API and .NET SDK so you can programmatically scale using any performance counters that you define.

Autoscale supports all four Azure compute services: Cloud Services, Virtual Machines, Mobile Services and Web Sites. For Virtual Machines and Web Sites, Autoscale is included as a feature in the Standard pricing tiers, and for Mobile Services, it's included as a part of both Basic and Standard pricing tiers.

Storage: Announcing General Availability of Read Access Geo Redundant Storage (RA-GRS)

In December, we added the ability to allow customers to achieve higher read availability for their data. This feature called Read Access - Geo Redundant Storage (RA-GRS) allows you to read an eventually consistent copy of your geo-replicated data from the storage account’s secondary region in case of any unavailability to the storage account’s primary region.

Last week we announced that RA-GRS feature is now out of preview mode, and generally available. It is available to all Azure customers across all regions including the users in China.

RA-GRS SLA and Pricing

The benefit of using RA-GRS is that it provides a higher read availability (99.99+%) for a storage account over GRS (99.9+%). When using RA-GRS, the write availability continues to be 99.9+% (same as GRS today) and read availability for RA-GRS is 99.99+%, where the data is expected to be read from secondary if primary is unavailable. In terms of pricing, the capacity (GB) charge is slightly higher for RA-GRS than GRS, whereas the transaction and bandwidth charges are the same for GRS and RA-GRS. See the Windows Azure Storage pricing page here for more details about the SLA and pricing.

You can find more information on the storage blog here.

Active Directory: General Availability of Azure AD Premium

Earlier this month we announced the general availability of Azure Active Directory Premium, which provides additional identity and access management capabilities for enterprises. Building upon the capabilities of Azure AD, Azure AD Premium provides these capabilities with a guaranteed SLA and no limit on directory size. Additional capabilities include:

  • Group-based access assignment enables administrators to use groups in AD to assign access for end users to over 1200 cloud applications in the AD Application Gallery. End users can get single-sign on access to their applications from their Access Panel at or from our iOS application.
  • Self-service password reset that enables end users to reset forgotten passwords without calling your help desk.
  • Delegated group management that enables end users to create security groups and manage membership in security groups they own.
  • Multi-Factor Authentication that lets you easily deploy a Multi-Factor Authentication solution for your business without deploying new software or hardware.
  • Customized branding that lets you include your organization’s branding elements in the experiences that users see when signing in to AD or accessing their Access Panel.
  • Reporting, alerting, and analytics that increase your visibility into application usage in your organization, and potential security concerns with user accounts.

Azure AD Premium also includes usage rights for Forefront Identity Manager Server and Client Access Licenses.

To read more about AD Premium, including how to acquire it, read the Active Directory Team blog.

Active Directory: Public Preview of Azure Rights Management Service

Earlier this month we announced the public preview of the ability to manage your Azure Rights Management service within the Azure Management Portal. If your organization has Azure Rights Management either as a stand-alone service or as part of your Office 365 or EMS subscriptions you can now manage it by signing into the Azure Management Portal. Once in the Portal, select ACTIVE DIRECTORY in the left navigation bar, navigate to the RIGHTS MANAGEMENT tab, then click on the name of your directory.


With this preview you can now create custom rights policy templates that let you define who can access sensitive documents, and what permissions (view, edit, save, print, and more) users can have on those documents.  To begin creating a rights policy template, in the Quick Start page, click on Create an additional rights policy template option and follow the instructions on the page to define a name and description for the template, add users and rights and define other restrictions.


Once your template has been created and published, it will become available to users in your organization in their favorite applications.


To learn more managing Azure Rights Management and the benefits it offers to organizations, see the Information Protection group’s blog

Scheduler: General Availability Release Scheduler Service

This month we’ve also delivered the General Availability release of the Azure Scheduler service.  Scheduler allows you to run jobs on simple or complex recurring schedules that can invoke HTTP/S endpoints or post messages to storage queues. Scheduler has built-in high availability and can reliably call services inside or outside of Azure.

During preview customers have used it for a wide set of scenarios including for invoking services in their backend for Hadoop workloads, triggering diagnostics cleanup, and periodically checking that partners have submitted content on time. ISVs have used it to empower their applications to add scheduling capabilities such as report generation and sending reminders.

In the Scheduler portal extension you can easily create and manage your scheduler jobs. Since the initial release, Scheduler has also added the ability to update HTTP jobs with custom headers and basic authentication. It has also exposed the ability to change the recurrence schedule which will allow you to also choose to limit the execution of a job or allow the job to run infinitely.

With the general availability, new Azure Scheduler cmdlets have been released with Azure PowerShell and the Scheduler .NET API has been included in WAML 1.0.

I highly encourage you to try out the Scheduler today. You might find the following links helpful:

It makes scheduling recurring tasks really easy.

Automation: Announcing Microsoft Azure Automation Preview

Last week we announced the preview of a new Microsoft Azure service: Automation.

Automation allows you to automate the creation, deployment, monitoring, and maintenance of resources in your Azure environment using a highly scalable and reliable workflow execution engine. The service can be used to orchestrate the time-consuming, error-prone, and frequently repeated tasks you’d otherwise accomplish manually across Microsoft Azure and third-party systems to decrease operational expense for your cloud operations.

To get started with Automation, you first need to sign-up for the preview on the Azure Preview page. Once you have been approved for the preview, you can sign in to the Management Portal and start using it. Automation is currently only available in the East-US data center, but we will add the ability to deploy to additional data centers in the future.

Authoring a Runbook

Once you have the Automation preview enabled on your subscription, you can easily get started automating by following a few simple steps:

Step 1: In the Microsoft Azure management portal, click New->App Services->Automation->Runbook->Quick Create to create a new runbook. Runbooks are collections of activities that provide an environment for automating everything from diagnostic logging to applying updates to all instances of a virtual machine or web role to renewing certificates to cleaning storage accounts. Enter a name and description for the runbook, and create a new Automation account which will store your Runbooks, Assets, and Jobs.

Next time you create a runbook you can either use the same Automation account as you just created or create a separate one to if you’d like to maintain separation between a few different collections of runbooks / assets.



Step 2: Click on your runbook, then click Author->Draft. Type some PowerShell commands in the editor, then hit ‘Publish’ to make this runbook draft available for production execution.


Starting a Runbook and Viewing the Job

1. To start the runbook you just published, go back to the ‘Runbooks’ tab, click on your newly-published runbook, and hit ‘Start.’ Enter any required parameters for the runbook, then click the checkmark button.


2. Click on your runbook, then click on the ‘Jobs’ tab for this runbook. Here you can view all the instances of a runbook that have run, called jobs. You should see the job you just started.


3. Click on the job you just started to view more details about its execution. Here you can see the job output, as well as any exceptions that may have occurred while the job was executing.


Once you get familiar with the service, you’ll be able to create more sophisticated runbooks to automate your scenarios. I encourage you to try out Microsoft Azure Automation today.

For more information, click through the following links:


This most recent release of Azure includes a bunch of great features that enable you to build even better cloud solutions.  If you don’t already have a 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.

Hope this helps,


P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at:

Categories: Architecture, Programming

Azure: ExpressRoute Dedicated Networking, Web Site Backup Restore, Mobile Services .NET support, Hadoop 2.2, and more

Thu, 02/20/2014 - 21:16

This morning we released a massive amount of enhancements to Windows Azure.  Today’s new capabilities and announcements include:

  • ExpressRoute: Dedicated, private, high-throughput network connectivity with on-premises
  • Web Sites: Backup and Restore Support
  • Mobile Services: .NET support, Notification Hub Integration, PhoneGap support
  • HDInsight: Hadoop 2.2 support
  • Management: Co-admin limit increased from 10->200 users
  • Monitoring: Service Outage Notifications Integrated within Management Portal
  • Virtual Machines: VM Agent and Background Information Support
  • Active Directory: More SaaS apps, more reports, self-service group management
  • BizTalk Services: EDIFACT protocol support, Service Bus Integration, Backup and Restore

All of these improvements are now available to use immediately (note that some features are still in preview).  Below are more details about them:

ExpressRoute: Dedicated, private, high-throughput network connectivity with on-premises

Today we delivered the public preview of our new ExpressRoute service.  ExpressRoute enables dedicated, private, high-throughput network connectivity between Azure datacenters and your on-premises IT environments. Using ExpressRoute, you can connect your existing datacenters to Azure without having to flow any traffic over the public Internet, and enable–guaranteed network quality-of-service and the ability to use Azure as a natural extension of an existing private network or datacenter.

Starting today you can establish dedicated connections though Equinix datacenters, or add Azure services to your MPLS VPN provided by AT&T.  We are also today announcing a new strategic partnership with Level3 to enable private connection connectivity through Level3 Cloud Connect Solutions. 

Configuring ExpressRoute

With today’s release we’ve made some updates to our Virtual Network service to enable you to configure connections to your local networks through ExpressRoute circuits.

When creating a new Virtual Network, you now have the option to configure ExpressRoute when selecting the Site-To-Site VPN option:


For an already created Virtual Network, you can also configure your site-to-site connection to use ExpressRoute in the Configure tab.

Once you’ve enhanced a site-to-site connection with ExpressRoute, all VMs or Cloud Services deployed in that Virtual Network will be able to connect to the remote network over the dedicated connection – enabling faster speeds, lower network latency and complete network isolation. If your subscription doesn’t have access to ExpressRoute yet, you can sign up to use it here.

Web Sites: Backup and Restore Support

Last month we added two great new capabilities to Windows Azure Web Sites – support for Staged Publishing (which enables atomic deployments), and Web Jobs (which enable background tasks).

With today’s release we are adding another great new capability to Web Sites - backup and restore support. The new web site backup support enables you to save a snapshot version of your web app – along with any SQL or MySQL databases it uses.  You can manually perform backups, or setup an automated rule to have them backed up automatically (e.g. once a day at midnight).  You can then choose to later restore a web site to a previous state, or alternatively create a new web site based on one of your original site's backups. 

This new Backup and Restore capability is available at no additional cost to all Web Site customers running using our Standard Tier.  It provides a great way to run your web apps with even more confidence.

Enabling Backup Support

Enabling backup support with a web-site is easy.  Simply navigate to the new “Backups” tab within a web-site:


Click the “Backup Now” option in the command-tray to manually perform a backup.  Or set the automated backup option to true, configure the time of day you wish to perform the backup, and then click the save button in order to setup an automated backup rule.

Mobile Services: .NET Support, Notification Hub Integration, PhoneGap Support

Today we are releasing another round of great updates to Windows Azure Mobile Services.  These updates include:

  • .NET support: You can now write your backend logic using ASP.NET Web API and run it using Mobile Services
  • Notification Hubs integration: Mobile Services now use Notification Hubs for push notifications, which enables an even richer set of push notification scenarios
  • Integrated PhoneGap support: You can now easily integrate PhoneGap apps with Mobile Services

More details on each of these below:

.NET Support

Starting today we now provide full support for writing your backend Mobile Service logic using .NET and the ASP.NET Web API framework.  This provides the following benefits:

  1. You can use ASP.NET Web API and Visual Studio together with Mobile Services to build great mobile apps
  2. You can publish any existing Web API to Mobile Services and integrate additional Mobile Services features like mobile authentication and push notifications
  3. You can take full advantage of Web API features like OData controllers, and 3rd party Web API-based frameworks like Breeze
  4. You can debug your Mobile Services .NET backend using Visual Studio running locally on your machine or remotely in Azure
  5. With Mobile Services we run, manage, monitor and scale your Web API for you.

The combination of ASP.NET Web API and Mobile Services delivers a mobile backend story that is both super powerful and really easy to use.

Getting Started with Mobile Services using .NET

It’s easy to get started with Mobile Services using today’s new .NET support. Simply go to the Windows Azure Management Portal and create a new Mobile Service (New->Compute->Mobile Service). On the first screen of the create wizard choose the new .NET option as your backend language:


When your new Mobile Service is created, you’ll be presented with a helpful quick start page:


To easily get started using .NET as your backend language, click to download the sample project listed in the quick-start page above.

Unzip the downloaded package and open the solution file. You will see a Mobile Services .NET template project. Notice this is simply an ASP.NET Web API project with additional Mobile Service NuGet packages included:


Note: in a future update we will provide even richer Mobile Service tooling support within Visual Studio.  This will provide additional Mobile Service tooling features on top of the standard Web API project support.  With today’s preview though you’ll just use the standard Web API project template within Visual Studio already.

Running the Mobile Service Locally

Open the TodoItemController.cs controller file in the project you downloaded and examine its content. This controller shows you how can use the built-in TableController<T> .NET class we now provide with Mobile Services that enables easy remote data scenarios (note: you can also skip using this and just derive your controllers from the standard Controller base class and use an existing data API like EF, NHibernate or others). 

The default TodoItemController.cs in the project already has scaffold support for all of the key CRUD methods for a TodoItems resource.


Set a breakpoint inside the GetAllTodoitems() method. Then hit F5 within Visual Studio to run the Mobile Service locally. Mobile Services supports a local help page for the Web API Controllers you include in your project. This makes it really easy to test things out locally.

Click on the GetAllTodoItems link within the help page to bring up method documentation for the above Web API Controller. Click on the Test API link within the help page to invoke the GetAllTodoItems API and test it out. As you might expect, you will hit the breakpoint you’ve set up earlier.  The ability to develop and test locally, and debug all operations, makes it really easy to develop solutions.

Publishing your Mobile Service to Azure

Once you are done developing your Mobile Service locally, you can publish it to Azure. 

In a future update we will provide integrated Mobile Services publishing support directly within Visual Studio.  With today’s release the easiest way to publish it to go to Mobile Services dashboard in the Windows Azure Management Portal and download the Web Deploy publish settings file:


Once you download the publish settings file, simply right-click on your Web API project within the VS Solution Explorer, and then click the Publish context menu command.  Within the publish wizard you can select the publish file you downloaded, which will enable you to easily deploy the Mobile Service to Azure.

To learn more about Mobile Services .NET support check out these tutorials:

Notification Hub Integration

With today’s release we are making it really easy to use Notification Hubs with Mobile Services.  This integration simplifies many common scenarios and removes the need to explicitly manage push channels.  It also provides Mobile Service customers with more powerful features including:

  • Advanced targeting using tags and tag expressions
  • Broadcast push support at high scale
  • Personalization and localization using templates

Today’s Notification Hub integration is still a preview.  You can enable it using the push tab of your Mobile Service:


Once enabled you can easily send push notifications to any or all users you wish with a single API call in the backend (using either the .NET or Node.js based API).

Integrated PhoneGap Support

Mobile Services already provides support for a number of cross-platform mobile client frameworks, including Xamarin, PhoneGap, Sencha. Today we added an integrated PhoneGap quick start in the Azure management portal, which will significantly simplify developing cross-platform mobile apps with PhoneGap and Mobile Services:


HDInsight: Hadoop 2.2 Support

HDInsight is our 100% compatible Apache Hadoop-based distribution for Windows Azure.  With HDInsight you can leverage data stored in Windows Azure Blob Storage or the native HDFS file system local to the compute nodes and crunch massive amounts of data.

We now support Hadoop 2.2 clusters (in preview mode) with our HDInsight service.  This new update provides an order of magnitude (up to 40x) faster query response times, much better data compression (up to 80%), and enables you to leverage the benefits of YARN.

You can learn more about the Hadoop 2.2 improvements from our data team’s announcement blog post as well as by following this tutorial.

Management: Co-admin support increased from 10 to 200 administrators per subscription

Last fall I blogged about a number of Azure enhancements we had rolled out to enable a better enterprise authentication experience. These improvements included the ability to associate Azure subscriptions with Active Directory tenants, and to enable Active Directory SSO into Azure along with multi-factor authentication support.

Today we are making another nice management improvement – which is to increase the number of co-administrators that can be enabled on each Azure subscription to 200 (previously we only supported 10 co-admins per subscription).  The increased co-admin limit will make it easier for large teams to share a single Azure subscription, and simplify a number of subscription management scenarios.

Monitoring: Service Outage Notifications integrated within Management Portal

Service outages unfortunately sometimes happen with the cloud.  One of the asks we’ve heard from customers has been to improve the notification process when a service has an issue and to provide better real-time, per-user customized, information on status.  Rather than just learning that an abstract service is having an issue, you want to know if it is the particular service instance your app is using – and if so what the latest health status is with it.

With today’s release, we are introducing Azure incident notification support directly in the Azure Management Portal – and customizing it based on the particular service instances you are using. When a service outage incident occurs that affects your apps, you will now see a notification in the Portal:


We will surface this alert for the following types of incidents:

  • Partial Performance Degradation
  • Partial Service Interruption
  • Full Performance Degradation
  • Full Service Interruption
  • Advisory

If you click OK within the notification window, you will see a dialog that provides more details about the incident(s):


This dialog will include key information such as the timestamp of the incident, name of the service and the incident type, description of the latest update related to the incident, and the SubscriptionID (where available) of the subscriptions you have that use the service in question. With this release, the SubscriptionID will be provided for incidents involving Virtual Machines, Cloud Services, Storage, SQL Databases, Service Bus and Web Sites. You may see “Not Available” for other services, but we are working to add these in the future releases.

From this incident details dialog, you can navigate to the Operation Logs page by clicking on the link at the bottom of the dialog. This page will give you the filtered view of history for incidents that carry the same SubscriptionID information.  This will allow you to see full details for every past incident involving this service (along with start and end times of the incidents).

We will continue to enhance this feature set over the next few releases to fold in all Azure Services to make it easy for you to detect outages and updates that pertain to your specific service(s) on Azure.

Virtual Machines: VM Agent and Background Info Extension

With today’s release we are adding a new feature that helps make managing Virtual Machines even more powerful: VM Agent support.

For those of you who use Cloud Services with web and worker roles, you may know that we already use an agent inside these workloads to facilitate certain management features.  With today’s release we are introducing a new VM Agent for IaaS VMs that over time will bring this same kind of managed functionality to Virtual Machines as well.

The VM Agent is a lightweight and unobtrusive process that you can optionally enable to run inside your Windows and Linux VMs. The VM Agent can then be used to install and manage extensions, which are software modules that extend the functionality of a VM and help make common management scenarios easier.  Over the next several months you’ll see us deliver many new extensions that you can optionally enable within your virtual machines.

The VM Agent is automatically installed when creating a VM from Quick Create. You can opt-out of installing the VM Agent by creating a VM using the From Gallery option and unselecting the “Install the VM Agent” checkbox:


Background Info Extension

One small but useful extension that we have enabled with today’s VM Agent release is one we call “BGInfo”.  This extension helpfully displays information about a Windows VM on the desktop of the VM instance when you RDP into it – providing an easy way to quickly figure out the VM’s configuration settings (internal and public IP, disk space, memory, deployment ID, etc):


Over the next several months you’ll see us continue to ship additional extensions that extend the management support of VMs even further.

Active Directory: More apps, more reports and self-service group management

With today’s release we’ve updated Windows Azure Active Directory to support SSO integration with more SaaS apps, and enhanced the Windows Azure Active Directory Premium tier (which is currently in preview) with more built-in reports and added end-user self-service and delegated group management.

Enabling Active Directory SSO to SaaS applications

We now enable Active Directory single-sign-on (SSO) support with over 600 SaaS popular apps. To integrate these applications with your organization's Active Directory, select your Active Directory within the Windows Azure Management Portal, change to the Applications tab, then click the Add button:


Then choose Add an application for my organization to use.  This will allow you to pick from 600+ popular SaaS applications to integrate with:


Once an app has been integrated with your Active Directory, you can select which users in your directory can sign into the app.  Once you do this, the app will appear on the access panel for each user logged into the site – enabling them to sign-in and begin using it using their corporate credentials.

Premium Security and Usage Reports

Windows Azure AD Premium is designed to address the identity and access management needs of enterprises. It is currently in preview, and you can use its features including tenant branding and self-service password reset while in preview at no charge. At the end of the preview it will be converted to a paid service.

To find out more about how to get started with Windows Azure AD Premium preview, see this earlier blog post on the Active Directory blog. Briefly, there’s a two-step process to evaluate this preview. First, navigate to Windows Azure Preview Feature page and add Windows Azure Active Directory Premium to your subscription by clicking "try it now", selecting the "Free Trial" or other subscription. Then, in the Windows Azure Management Portal, select a directory and on the Configure tab of the directory, move the slider for Premium features to enabled.


Usage Reports

With today’s update we’ve added new reports to the Windows Azure Active Directory Premium tier that will help you better understand how your organization’s users are accessing applications.

You can now click the Reports tab to see additional views which highlight potential account compromise scenarios. These reports show sign-ins from IP addresses with suspicious activity, irregular sign-in activity, and a list of users whose accounts may have been compromised.

Delegated and self-service group management in Windows Azure AD Premium

With today’s release we’ve also added delegated and self-service group management support as part of the Premium preview. In previous updates we enabled administrators to view and manage groups in the Windows Azure Management Portal - now we’re enabling end users within your organizations to create and join groups as well.

Once Premium preview is enabled on a directory, a user who is a member of the directory can get a group management experience by going to, then signing in and clicking on the Groups tab. The user will then see all of the groups that are present in the directory and he or she can request to join a group. They can also filter the view to show only groups of which they’re a member or groups they own:



A user can also create a new group.


These groups can be used to control access to SaaS applications or within applications themselves, such as in SharePoint Online. Currently these groups are not mail-enabled - we’ll add that functionality in a future release.

More updates on these and other features in Premium are on the Active Directory team blog.

BizTalk Services: EDIFACT Protocol Support, Service Bus Integration, Backup and Restore

With today’s release we are updating Windows Azure Biz Talk Services with a host of new features. If you are already using BizTalk Services, your environment will be automatically updated with the following new features:

EDIFACT Protocol Support and X12 Schema Updates

We now support EDIFACT messaging versions up to D10B natively in the platform. When you create a new EDI agreement you can now choose the target protocol as EDIFACT (instead of X12) and configure the agreement. Features such as Batching, Tracking, AS2 with EDIFACT are all supported with today’s update.

Support for X12 messaging up to 6030 and Message Type 999 in addition to 997 for acknowledgements is also now supported.

Pulling Messages from Service Bus Queues and Topics

Support for pulling messages from Service Bus Queues and Topics: This allows a BizTalk “Bridge” to pull messages directly from a Service Bus Queue or Topic without having to write to an intermediary service. After installing the new BizTalk Services SDK, the new Sources are available within the VS Toolbox of BizTalk Services projects:


This enables complex configuration such as the one below where messages can be pulled from an FTP endpoint, Service Bus Queue, Service Bus Topic, to be processed by the bridge and sent back to a FTP endpoint, Service Bus Queue or Service Bus Topic based on route rules:


Service Bus Shared Access Signatures (SAS) support with Service Bus Queues and Topics:

You can now use SAS keys to configure Service Bus Queues and Topics with Agreements and Bridges in the Azure Portal as well as in Visual Studio. 

BizTalk Adapter Services No Longer Needs SQL On Premises

Starting today all BizTalk Adapter configuration data is now stored in the cloud without any additional configuration in SQL express configuration required on-premises. For existing customers, the SDK installation provides an option to update/migrate the existing configuration to the cloud:


Backup and Restore Support

Backup and Restore operations within BizTalk Services can now be easily configured and managed through the Azure  management portal.  Backup and restore can be scheduled by following these five steps:

  1. Go to your deployment’s Configure page and flip the Backup status from None to Automatic.
  2. Add the storage account where you want the backup of the deployment to be stored
  3. Tweak the first occurrence and recurrence schedule
  4. Enter the retention period in days or leave the default to 20 days
  5. Hit Save on your configuration changes

Operation Log Support

You can now view all BizTalk Services management operations such as Create, Delete, Backup, etc. in the Azure Portal using the Management Services tab.  This makes it easy to audit and review all management operations performed with the service.

We hope these features will add value to your integration scenarios and enrich your Biztalk Services experience. We would love to hear your feedback via BizTalk Services forums and user voice.


Today’s Windows Azure release enables a bunch of great new scenarios.

If you don’t already have a Windows Azure account, you can sign-up for a free trial and start using all of the above features today.  Then visit the Windows Azure Developer Center to learn more about how to build apps with it.

Hope this helps,


P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at:

Categories: Architecture, Programming

Windows Azure: Staging Publishing Support for Web Sites, Monitoring Improvements, Hyper-V Recovery Manager GA, and PCI Compliance

Thu, 01/16/2014 - 20:53

This morning we released another great set of enhancements to Windows Azure.  Today’s new capabilities and announcements include:

  • Web Sites: Staged Publishing Support and Always On Support
  • Monitoring Improvements: Web Sites + SQL Database Alerts
  • Hyper-V Recovery Manager: General Availability Release
  • Mobile Services: Support for SenchaTouch
  • PCI Compliance: Windows Azure Now Validated for PCI DSS Compliance

All of these improvements are now available to use immediately (note that some features are still in preview).  Below are more details about them:

Web Sites: Staged Publishing Support

With today’s release, you can now enable staged publishing to your Windows Azure Web Sites.  This new feature is really powerful, and enables you to deploy updates of your web apps/sites to a staging version of the site that can be accessed via a URL that is different from your main site.  You can use this staged site to test your site/app deployment and then, when ready, instantaneously swap the content and configuration between the live site and the staging version. 

This new features enables you to deploy changes with more confidence.  And it ensures that your site is never in an inconsistent state (where some files have been updated and others not) - now you can immediately swap all changes to all of the files in one shot.

Enabling Staged Publishing Support

To setup staged publishing go to the DASHBOARD tab of a web site and click Enable staged publishing from the quick glance section:


Clicking this link will cause Azure to create a new staging version of the web-site and link it to the existing site.  This linkage is represented in the navigation of the Windows Azure Management Portal – the staging site will show up as a sub-node of the primary site:


If you look closely at the name of the staging site, you’ll notice that its URL by default is sitename-staging (e.g. if the primary site name was “scottgu”, the staging site would be “scottgu-staging”):


You can optionally map any custom DNS name you want to the staging site (using either a C-Name or A-Record) – just like you would a normal site.  So your staging domain doesn’t have to have an extension.  In the scenario above I could remap the staging domain to be, or, or even if I wanted to. 

The staging URL doesn’t change between deployments of a site – so you can configure a custom DNS once, and then you can use it across all subsequent deployments.  You can also optionally enable SSL on the staging site and upload a SSL certificate to use with the staging domain (ensuring you can fully test/validate your SSL scenarios before swapping live).

Configuring the Staging Site

You can click on the staging site to manage it just like any other site:


The SCALE tab and the LINKED RESOURCES tabs are disabled for staging sites, but all other tabs work as expected.  You can use the CONFIGURE tab to set configuration settings like database and application connection-strings (if you set these at the site level they override anything you might have in a web.config file).

One thing you’ll also notice when you open the staging site is that there is a new SWAP button in the bottom command-bar of it – we’ll talk about how to use that in a little bit.

Deploying to the Staging Site

Deploying a new instance of your web-app/site to the staging site is really easy.  Simply deploy to it just like you would any normal site.  You can use FTP, the built-in “Publish” dialog inside Visual Studio, Web Deploy or Git, TFS, VS Online, GitHub, BitBucket, DropBox or any of the other deployment mechanism we already support.  You configure these just like you would a normal site.

Below I’m going to use the built-in VS publish wizard to publish a new version of the site to the staging site:


Once this new version of the app is deployed to the staging site we can access a page in it using the staging domain (in this case http://scottgu-staging):


Note that the new version of the site we deployed is only in the staging site.  This means that if we hit the primary site domain (in this case http://scottgu) we wouldn’t see this new “V2” update - it would instead show any older version that had been previously deployed:


This allows us to do final testing and validation of the staging version without impacting users visiting the live production site.

Swapping Deployments

At some point we’ll be ready to roll our staged version to be the live production site version.  Doing this is easy – all we need to do is push the SWAP button within the command-bar of either our live site or staging site using the Windows Azure Portal (you can also automate this from the command-line or via a REST call):


When we push the SWAP button we’ll be prompted with a confirmation dialog explaining what is about to happen:


If we confirm we want to proceed with the swap, Azure will immediately swap the content of the live site (in this case http://scottgu) with the newer content in the staging site (in this case http://scottgu-staging).  This will take place immediately – and ensure that all of the files are swapped in a single shot (so that you never have mix-matched files).

Some settings from the staged version will automatically copy to the production version – including things like connection string overrides, handler mappings, and other settings you might have configured.  Other settings like the DNS endpoints, SSL bindings, etc will not change (ensuring that you don’t need to worry about SSL certs used for the staging domain overriding the production URL cert, etc).

Once the swap is complete (the command takes only a few seconds to execute), you’ll find that the content that was previously in the staging site is now in the live production site:


And the content that had been in the older live version of the site is now in the staging site.  Having the older content available in the staging site is useful – as it allows you to quickly swap it back to the previous site if you discover an issue with the version that you just deployed (just click the SWAP button again to do this).  Once you are sure the new version is fine you can just overwrite the staging site again with V3 of your app and repeat the process again.

Deployment with Confidence

We think you’ll find that the new staged publishing feature is both easy to use and very powerful, and enables you to handle deployments of your sites with an industrial strength workflow.

Web Sites: Always On Support

One of the other useful Web Site features that we are introducing today is a feature we call “Always On”.  When Always On is enabled on a site, Windows Azure will automatically ping your Web Site regularly to ensure that the Web Site is always active and in a warm/running state.  This is useful to ensure that a site is always responsive (and that the app domain or worker process has not paged out due to lack of external HTTP requests). 

It also useful as a way to keep a Web Site active for scenarios where you want to run background code within it irrespective of whether it is actively processing external HTTP customer requests.  We have another new feature we are enabling this week called “Web Jobs” that makes it really easy to now write this background code and run it within a Web Site. I’ll blog more about this feature and how to use it in the next few days.

You can enable Always On support for Web Sites running in Standard mode by navigating to the CONFIGURE tab within the portal, and then toggling the Always On button that is now within it:


Monitoring Improvements: Web Sites + SQL Database Alerts

With almost every release we make improvements to our monitoring functionality of Azure services. Today’s update brings two nice new improvements:

  1. Metrics updated every minute for Windows Azure Web Sites
  2. Alerting for more metrics from Windows Azure Websites and Windows Azure SQL Databases

Monitoring Data Every Minute

With today’s release we are now updating statistics on the monitoring dashboard of a Web Site every minute, so you can get much more fresh information on exactly how your website is being used (prior to today the granularity was not as fine grained):


Viewing data at this higher granularity can make it easier to observe changes to your website as they happen. No additional configuration is required to get data every minute – it is now automatically enabled for all Azure Websites.

Expanding Alerting

When you create alerts you can now choose between six different services:

  • Cloud Service
  • Mobile Service
  • SQL Database (New Today!)
  • Storage
  • Virtual Machine
  • Web Site (More Metrics Today!)

To get started with Alerting, click on the Management Services extension on the left navigation tab of the the Windows Azure Management Portal:


Then, click the Add Rule button in the command bar at the bottom of the screen. This will open a wizard for creating an alert rule. You can see all of the services that now support alerts:


New Web Site Alert Metrics

With today’s release we are adding the ability to alert on any metric that you see for a Web Site in the portal (previously we only supported alerts on Uptime and Response Time metrics). Today’s new metrics include support for setting threshold alerts for errors as well as CPU time and total requests:


The CPU time and Data Out metric alerts are particularly useful for Free or Shared websites – you can now use these alerts to email you if you’re getting close to exceeding your quotas for a free or shared website (and need to scale up instances).

New SQL Alert Metrics

With today’s release you can also now define alerts for your SQL Databases. For Web and Business tier databases you can setup alert metrics for the Storage for the database.  There are also now additional metrics and alerts for SQL Database Premium (which is currently in preview) such as CPU Cores and IOPS.

Once you’ve set up these new alerts, they behave just like alerts for other services. You’ll be informed when they cross the thresholds you establish, and you can see the recent alert history in the dashboard:


Windows Azure Hyper-V Recovery Manager: General Availability Release

I’m excited to announce the General Availability of Windows Azure Hyper-V Recovery Manager (HRM). This release is now live in production, backed by an enterprise SLA, supported by Microsoft Support, and is ready to use for production scenarios.

Windows Azure Hyper-V Recovery Manager helps protect your on premise applications and services by orchestrating the protection and recovery of Virtual Machines running in a System Center Virtual Machine Manager 2012 R2 and System Center Virtual Machine Manager 2012 SP1 private cloud to a secondary location. With simplified configuration, automated protection, continuous health monitoring and orchestrated recovery, Hyper-V Recovery Manager service can help you implement Disaster Recovery and recover applications accurately, consistently, and with minimal downtime.


The service leverages Hyper-V Replica technology available in Windows Server 2012 and Windows Server 2012 R2 to orchestrate the protection and recovery of Hyper-V Virtual Machines from one on-premise site to another on-premise site. Application data always travels on your on premise replication channel. Only metadata that is needed (such as names of logical clouds, virtual machines, networks etc.) for orchestration is sent to Azure. All traffic sent to/from Azure is encrypted.

Getting Started

To get started, use the Windows Azure Management Portal to create a Hyper-V Recovery Manager Vault. Browse to Data Services > Recovery Services and click New to create a New Hyper-V Recovery Manager Vault. You can name the vault and specify a region where you would like the vault to be created.


Once the Hyper-V recovery Manager vault is created, you’ll be presented with a simple tutorial that will help guide you on how to register your SCVMM Servers and configure protection and recovery of Virtual Machines.


To learn more about setting up Hyper-V Recovery Manager in your deployment follow our detailed step-by-step guide.

Key Benefits of Hyper-V Recovery Manager

Hyper-V Recovery Manager offers the following key benefits that differentiate it from other disaster recovery solutions:

  • Simple Setup and Configuration: HRM dramatically simplifies configuration and management operations across large number of Hyper-V hosts, Virtual Machines and data-centers.
  • Automated Protection: HRM leverages the capabilities of Windows Server and System Center to provide on-going replication of VMs and ensures protection throughout the lifecycle of a VM.
  • Remote Monitoring: HRM leverages the power and reach of Azure to provide a remote monitoring and DR management service that can be accessed from anywhere.
  • Orchestrated Recovery: Recovery Plans enables automated DR orchestration by sequencing failover of different application tiers and customization with scripts and manual actions.

New Improvements

The Hyper-V Recovery Manager service has been enhanced since the initial October Preview with several nice improvements:

  • Improved Failback Support: The Failback support has been improved in scenarios where the primary host cluster has been rebuilt after an outage.
  • Support for Kerberos based Authentication: Cloud configuration now allows selecting Kerberos based authentication for Hyper-V Replica. This is useful in scenarios where customers want to use 3rd party WAN optimization and compression and have AD trust available between primary and secondary sites.
  • Support for Upgrade from VMM 2012 SP1 to VMM 2012 R2: HRM service now supports upgrades from VMM 2012 SP1 to VMM 2012 R2.
  • Improved Scale: The UI and service has been enhanced for better scale support.

Please visit Windows Azure web site for more information on Hyper-V Recovery Manager. You can also refer to additional product documentation. You can visit the HRM forum on MSDN for additional information and engage with other customers.

Mobile Services: Support for SenchaTouch

I’m excited to announce that in partnership with our friends at Sencha, we are today adding support for SenchaTouch to Windows Azure Mobile Services. SenchaTouch is a well know HTML/JavaScript-based development framework for building cross-platform mobile apps and web sites. With today’s addition, you can easily use Mobile Services with your SenchaTouch app.

You can download Windows Azure extension for Sencha here, configure Sencha loader with the location of the azure extension, and add Azure package to your app.json file:

{ name : "Basic", requires : [ "touch-azure"]}

Once you have the Azure extension added to your Sencha project, you can connect your Sencha app to your Mobile Service simply by adding the following initialization code:


    name: 'Basic',

    requires: [''],

    azure: {

        appKey: 'myazureservice-access-key',

        appUrl: ''


    launch: function () {

        // Call Azure initialization




From here on you can data bind your data model to Azure Mobile Services, authenticate users and use push notifications. Follow this detailed Getting Started tutorial to get started with SenchaTouch and Mobile Services. Read more detailed documentation at Mobile Services Sencha extension resources page.

Windows Azure Now Validated for PCI DSS Compliance

We are very excited to announce that Windows Azure has been validated for compliance with the Payment Card Industry (PCI) Data Security Standards (DSS) by an independent Qualified Security Assessor (QSA).

The PCI DSS is the global standard that any organization of any size must adhere to in order to accept payment cards, and to store, process, and/or transmit cardholder data. By providing PCI DSS validated infrastructure and platform services, Windows Azure delivers a compliant platform for you to run your own secure and compliant applications. You can now achieve PCI DSS certification for those applications using Windows Azure.

To assist customers in achieving PCI DSS certification, Microsoft is making the Windows Azure PCI Attestation of Compliance and Windows Azure Customer PCI Guide available for immediate download.

Visit the Trust Center for a full list of in scope features or for more information on Windows Azure security and compliance.


Today’s release includes a bunch of great features that enable you to build even better cloud solutions.  If you don’t already have a Windows Azure account, you can sign-up for a free trial and start using all of the above features today.  Then visit the Windows Azure Documentation Center to learn more about how to build apps with it.

Hope this helps,


P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at:

Categories: Architecture, Programming