Differences between Azure Stack and Azure when using services and building apps

Before you use services or build apps for Azure Stack, it's important to understand the differences between Azure Stack and Azure. This article identifies different features and key considerations when using Azure Stack as your hybrid cloud development environment.


Azure Stack is a hybrid cloud platform that enables you to use Azure services from your company or service provider datacenter. You can build an app on Azure Stack and then deploy it to Azure Stack, to Azure, or to your Azure hybrid cloud.

Your Azure Stack operator lets you know which services are available for you to use, and how to get support. They offer these services through their customized plans and offers.

The Azure technical documentation content assumes that apps are being developed for an Azure service and not for Azure Stack. When you build and deploy apps to Azure Stack, you must understand some key differences, such as:

  • Azure Stack delivers a subset of the services and features that are available in Azure.
  • Your company or service provider can choose which services they want to offer. The available options might include customized services or applications. They may offer their own customized documentation.
  • You must use the correct Azure Stack-specific endpoints (for example, the URLs for the portal address and the Azure Resource Manager endpoint).
  • You must use PowerShell and API versions that are supported by Azure Stack. Using supported versions ensures that your apps work in both Azure Stack and Azure.

Cheat sheet: High-level differences

The following table describes the high-level differences between Azure Stack and Azure. Keep these differences in mind when you develop for Azure Stack or use Azure Stack services:

Applies to: Azure Stack integrated systems and Azure Stack Development Kit

Area Azure (global) Azure Stack
Who operates it? Microsoft Your organization or service provider.
Who do you contact for support? Microsoft For an integrated system, contact your Azure Stack operator (at your organization or service provider) for support.

For Azure Stack Development Kit (ASDK) support, visit the Microsoft forums. Because the development kit is an evaluation environment, there's no official support offered through Microsoft Customer Support Services (CSS).
Available services See the list of Azure products. Available services vary by Azure region. Azure Stack supports a subset of Azure services. Actual services will vary based on what your organization or service provider chooses to offer.
Azure Resource Manager endpoint* https://management.azure.com For an Azure Stack integrated system, use the endpoint that your Azure Stack operator provides.

For the development kit, use: https://management.local.azurestack.external.
Portal URL* https://portal.azure.com For an Azure Stack integrated system, use the URL that your Azure Stack operator provides.

For the development kit, use: https://portal.local.azurestack.external.
Region You can select which region you want to deploy to. For an Azure Stack integrated system, use the region that's available on your system.

For the development kit, the region will always be local.
Resource groups A resource group can span regions. For both integrated systems and the development kit, there's only one region.
Supported namespaces, resource types, and API versions The latest (or earlier versions that aren't yet deprecated). Azure Stack supports specific versions. See the Version requirements section of this article.

*If you're an Azure Stack operator, see Using the administrator portal and Administration basics for more information.

Helpful tools and best practices

Microsoft provides tools and guidance that help you develop for Azure Stack.

Recommendation References
Install the correct tools on your developer workstation. - Install PowerShell
- Download tools
- Configure PowerShell
- Install Visual Studio
Review information about the following items:
- Azure Resource Manager template considerations
- How to find quickstart templates
- Use a policy module to help you use Azure to develop for Azure Stack
Develop for Azure Stack
Review and follow the best practices for templates. Resource Manager Quickstart Templates

Version requirements

Azure Stack supports specific versions of Azure PowerShell and Azure service APIs. Use supported versions to ensure that your app can deploy to both Azure Stack and to Azure.

To make sure that you use a correct version of Azure PowerShell, use API version profiles. To determine the latest API version profile that you can use, find out the build of Azure Stack you're using. You can get this information from your Azure Stack administrator.


If you're using the Azure Stack Development Kit, and you have administrative access, see the Determine the current version section to determine the Azure Stack build.

For other APIs, run the following PowerShell command to output the namespaces, resource types, and API versions that are supported in your Azure Stack subscription (there may still be differences at a property level). For this command to work, you must have already installed and configured PowerShell for an Azure Stack environment. You must also have a subscription to an Azure Stack offer.

Get-AzureRmResourceProvider | Select ProviderNamespace -Expand ResourceTypes | Select * -Expand ApiVersions | `
Select ProviderNamespace, ResourceTypeName, @{Name="ApiVersion"; Expression={$_}} 

Example output (truncated): Example output of Get-AzureRmResourceProvider command

Next steps

For more detailed information about differences at a service level, see: