Deploying Azure applications can be a confusing process. Azure applications typically consist of multiple components...
that need to be deployed together and you need to coordinate the deployment of the different application pieces. In addition, if you are deploying multiple IaaS or PaaS applications then you want to have a standardized and repeatable process. If that's not enough, Microsoft is in the process of updating the Azure deployment process.
With the release of the Azure Preview Portal in January of 2015 Microsoft Azure now supports two deployment methods: Azure classic deployment (also known as Service Manager Deployments) and the newer Resource Manager deployments. The architectural differences between the two Azure deployment models mean that Azure resources created using one deployment model will not necessarily interoperate with the resources created using the other deployment model. For example, Azure Virtual Machines created by using the classic deployment model can only be connected to Azure Virtual Networks created by using the classic deployment model. The resource providers that are different between the two deployment models are: Compute, Storage and Network.
There is some overlap as a few resource providers offer two versions of their resources: one version for classic and one version for Resource Manager. This article explains the differences between the classic Azure deployment and the newer Resource Manager deployment and shows how you can use each one.
Microsoft Azure currently has two separate management portals. There is the original Azure portal and then there is the Azure preview portal. Although it has been nearly a year since its introduction, the Azure Preview Port is still considered in "preview" mode. The original Azure Portal only supports classic deployments. You can see the classic Azure management Portal in Figure 1.
You can create resources in the classic deployment model in two ways, using either the Azure Portal or Azure Preview Portal and specify Classic deployment. All Azure resources created with the classic deployment method must be managed individually -- not as a group. Resources that were initially created using the classic deployment method were not part of any resource group. When the Resource Manager was introduced all of these resources were retroactively added to default resource groups. If you create a resource using classic deployment, that resource is automatically created within a default resource group. However, just because a resource may be contained within a resource group doesn't mean that the resource has been converted to the Resource Manager model. Virtual Machines, Storage and Virtual Networks created using the classic deployment model must be managed using classic operations.
In general, you should not expect resources created through classic deployment to work with the newer Resource Manager. You can learn more about the architecture used by the different deployment methods at Resources for ramping up on Azure Resource Manager. It can freely switch between the two management portals by clicking on the your account icon in the top, upper-right portion of the Azure Portal and then clicking Switch to Preview Portal like you can see in Figure 1.
Resource Manager deployments
Resource Manager deployments are a part of the new management model that was introduced with the Azure Preview Portal. The infrastructure for your applications typically consists of multiple components. For instance, most applications will make use of a storage account, virtual machines and a virtual network, or you might have a Web application and database server. Because these resources are related, it's desirable to deploy and manage them as a group. You can deploy, update or delete all of the resources for your solution in a single streamlined operation. Resource Manager also provides security, auditing and tagging features to help you manage your resources after deployment. You can see the Azure Preview Portal with options for both classic and Resource Manager deployment modes in Figure 2.
When you create a new resource like a virtual machine using The Virtual Machine link and a virtual machine image from the Azure Image Gallery, the Azure Preview Portal will prompt you for the Resource Group that will contain the resource. You can see an example of how the Azure Preview Portal allows you to manage the resources contained in a Resource Groups in Figure 3.
The Resource Manager's resource groups allow you to combine related resources together. However, they have other advantages as well. With the Resource Manager you can create a template that defines deployment and configuration of your application. This template is created in JSON format and it provides a declarative way to define deployment. Classic deployments cannot make use of templates. Templates enable you to repeatedly deploy your application in a standardized manner. Use the template to define the infrastructure for your applications. It can also be used to configure the infrastructure, and define how to publish your application code to that infrastructure.
The Azure Resource Manager analyzes dependencies to ensure that resources defined in the template are created in the proper order. You can specify parameters in your template to enable customization. For example, you can pass parameter values that might customize your Azure deployment for a test environment and later provide different parameters to use that same template for a production deployment. You can create Azure Resource Manager templates using Visual Studio with the Azure SDK 2.6 installed. You can learn more about creating Azure Resource Manager Templates at Authoring Azure Resource Manager templates.
Going forward, Microsoft recommends that most new deployments use Resource Manager because of its ability to simplify the management of multiple related items. Further, they also recommend converting your existing classic deployments to use the Resource Manager as well where it's possible. While Azure Resource Manager is Microsoft's recommend future path, there are features that are present in classic deployments that are not in Azure Resource Manager.
For a more detailed understanding of the differences between the two deployment models, you can check out Azure Compute, Network and Storage Providers under the Azure Resource Manager.
Guide to Microsoft Azure cloud
What is the cost of Azure?
Why Azure adoption is challenging