arm,

How Virtual Machine Classic is Different to (Normal) VM in Azure

Sven Malvik Sven Malvik Connect Feb 06, 2021 · 2 mins read
How Virtual Machine Classic is Different to (Normal) VM in Azure

Have you ever wondered what a “classic” Virtual Machines in Azure is? Some virtual machines are classic and some others are not. Why is that? The short answer is that it’s the same virtual machine. What’s different is the way it was deployed. This post will explain the history behind classic virtual machines in Azure and what you need to know.

Two Different Deployment Models

Until recently in February 2020, a year ago, you could choose whether you wanted to deploy a VM with “classic” or with the “Resource Manager”. The Azure Resource Manager that we call ARM is the current deployment model in Azure where we describe the resources we are going to deploy in a JSON format called ARM template. ARM templates exists since 2014. One of the greatest features that came with ARM was Resource Groups that groups resources that share the same lifecycle. This wasn’t always possible in Azure. Before ARM was introduces, the deployment model was called Azure Service Management (ASM). When you had a set of 10 resources that shared the same lifecycle, you had to deploy all resources independently. Managing all resources independently was a lot of complexity to handle which wasn’t so much fun. ARM takes this burden away from us and make life easier. Today, we see classic deployed resources almost only for some VMs. It’s because it took some time to migrate all Azure resources from ASM to ARM. More specifically it means that resources that were deployed through the ASM API had to be changed to use the ARM API. This process took some years and will be finished soon. The complete retirement starts March, 2023.

ASM vs ARM

The ASM API had limited capabilities. It lacked access control, resource groups, dependency management, tags and more. With ARM you got the following capabilities that we are so used to today:

  • Deploy, manage, and monitor all resources as one group.
  • Deploy resources in a consistent state.
  • Apply access control to all resources.
  • Apply tags to resources.
  • Describe your infrastructure in JSON, the ARM template.
  • Define dependencies between resources to ensure the correct order.
Join Newsletter
Get the latest updates right in your inbox. I never spam!
Sven Malvik
Written by Sven Malvik

Latest Stories

AZ-303 Self-Study Guide for Becoming an Azure Solution Architect

Microsoft updated it’s role based exam for AZ-300. It’s now called AZ-303 and launched last year. This certification is a great proof for...

Feb 01, 2021

Azure API Management with ARM

Deploying an ARM template (Azure Resource Management)-template from GitHub is the simplest way of provisioning an instance of API Managem...

Mar 28, 2020

What is Azure?

When I started my career as a developer in a start up company, we build a website that we hosted on a physical server that was running in...

Feb 06, 2021

Event-Driven Infrastructure with App Configuration

Azure App Configuration is great for externalizing application configurations. But what if an application is our infrastructure? How coul...

Sep 12, 2020

AZ-900 Self-Study Guide for Azure Fundamentals

There are many good reasons to become Microsoft Azure Certified and take the Microsoft Azure AZ-900 exam. If you are reading this blog po...

Feb 03, 2021

Azure API Management with Terraform

Terraform is a popular tool for managing infrastructure resources. I counted about 120 supported providers. Azure is one of them. In this...

Apr 04, 2020

Understanding Policies in Azure API Management

Policies are the heart of Azure API Management. They let us change the behavior of our APIs in a very flexible manner. Before I dive in t...

Apr 18, 2020

Introduction to Azure API Management

Azure API Management (APIM) is a way to create consistent and modern API gateways for existing backend services. It provides an interface...

Jan 25, 2021

How To Manage Azure Virtual Machines

I will go through the first steps for managing Virtual Machines. We will create a Windows VM, start the Internet Information Service IIS,...

Dec 26, 2020

My Azure Week 34

This blog post is about my reflections on various topics around Azure, and what I have learned and worked on over the past week.

Aug 22, 2020

ARM for NodeJS Azure Web App with App Configuration Integration

Our Azure infrastructure has some configurations that our developers need to know like the name of the currently active AKS cluster and A...

Jun 13, 2020

Latest Stories

AZ-303 Self-Study Guide for Becoming an Azure Solution Architect

AZ-303 Self-Study Guide for Becoming an Azure Solution Architect

Microsoft updated it’s role based exam for AZ-300. It’s now called AZ-303 and launched last year. This certification is a great proof for...

Feb 01, 2021

Azure API Management with ARM

Azure API Management with ARM

Deploying an ARM template (Azure Resource Management)-template from GitHub is the simplest way of provisioning an instance of API Managem...

Mar 28, 2020

What is Azure?

What is Azure?

When I started my career as a developer in a start up company, we build a website that we hosted on a physical server that was running in...

Feb 06, 2021

Event-Driven Infrastructure with App Configuration

Event-Driven Infrastructure with App Configuration

Azure App Configuration is great for externalizing application configurations. But what if an application is our infrastructure? How coul...

Sep 12, 2020

AZ-900 Self-Study Guide for Azure Fundamentals

AZ-900 Self-Study Guide for Azure Fundamentals

There are many good reasons to become Microsoft Azure Certified and take the Microsoft Azure AZ-900 exam. If you are reading this blog po...

Feb 03, 2021

Azure API Management with Terraform

Azure API Management with Terraform

Terraform is a popular tool for managing infrastructure resources. I counted about 120 supported providers. Azure is one of them. In this...

Apr 04, 2020

Understanding Policies in Azure API Management

Understanding Policies in Azure API Management

Policies are the heart of Azure API Management. They let us change the behavior of our APIs in a very flexible manner. Before I dive in t...

Apr 18, 2020

Introduction to Azure API Management

Introduction to Azure API Management

Azure API Management (APIM) is a way to create consistent and modern API gateways for existing backend services. It provides an interface...

Jan 25, 2021

How To Manage Azure Virtual Machines

How To Manage Azure Virtual Machines

I will go through the first steps for managing Virtual Machines. We will create a Windows VM, start the Internet Information Service IIS,...

Dec 26, 2020

My Azure Week 34

This blog post is about my reflections on various topics around Azure, and what I have learned and worked on over the past week.

Aug 22, 2020

ARM for NodeJS Azure Web App with App Configuration Integration

ARM for NodeJS Azure Web App with App Configuration Integration

Our Azure infrastructure has some configurations that our developers need to know like the name of the currently active AKS cluster and A...

Jun 13, 2020