Skip Navigation

What you need to know when writing hybrid applications

Posted on November 21, 2018

Principal Program Manager, Azure Stack

As of today, Azure is present in 54 regions, several sovereign clouds, as well as in our customers’ data centers through Azure Stack. Consistency is a fundamental pillar of Azure, no matter which region you are deploying your application to, the way you write your scripts and templates is the same.

Consistency is great because it allows you to reuse knowledge and artifacts. This post will provide you with key things you should be aware of when writing your applications to target the different Azure clouds.

  • Resource type availability and versions will vary across different regions and clouds.
  • Available images, virtual machine (VM) sizes, and extensions can vary between the clouds.
  • Azure resource manager (ARM) and the storage endpoints can also vary.

In short, it’s important that you design your code and templates to accept parameters for the above items. Doing so will ensure that you can easily deploy your resources across different clouds. In addition to parametrization, you should also consider leveraging nested templates which could allow you to break down your solution into smaller chunks that can be deployed across different clouds. For more information, read the article, "Develop Azure Resource Manager templates for cloud consistency."

There is also great guidance from our AzureCAT team, which focuses on helping our customers to deploy Azure Stack. Please check out the blog post, "Design considerations for hybrid applications," for more insight and guidance. We had a great line up of sessions at Microsoft Ignite 2018 as well, all of which have valuable resources you can reuse. Here are some sessions that we recommend:

Finally, from the many features and capabilities described in the above links, I’d like to showcase API Profiles as it’s the core of our capability to allow you to write code that effectively takes advantage of the hybrid capabilities and consistency of Azure. API profiles represent a set of Azure resource providers and their API versions that target multiple Azure Cloud Services. The following are the different types of API Profiles:

  • latest

This contains the most recent API versions released in global Azure.

  • yyyy-mm-dd-hybrid

Released at a biannual cadence, this release focuses on consistency and stability across multiple clouds. This profile targets optimal Azure Stack compatibility.

  • yyyy-mm-dd-profile

This feature sits between optimal stability and the latest features.

I hope you find the information in this post useful! Stay tuned for new topics around developing hybrid applications and feel free to follow me and my team on Twitter.

To learn more about hybrid application development, read the previous post, "Developing hybrid applications with Azure Stack."