To understand the Azure Marketplace let’s start with the Virtual Machine Gallery and a tale of two portals.
The Virtual Machine Gallery allows you to quickly and easily deploy a Virtual Machine running your desired operating system (OS) such as Windows Server or a Linux distro such as Ubuntu, Suse etc. It also allows you to deploy a Virtual Machine pre-configured with a workload such as Visual Studio, SQL Server, SharePoint (trial), BizTalk, Puppet and more.
The key point here is that is makes it easy to deploy a single pre-configured Virtual Machine image.
What powers this? Something called Service Management API which internally uses “RDFE” which stands for RedDog Front End (RedDog being the code name for Azure back in the day).
There are currently two ways to manage Azure from your browser. There is the Current Portal which is what most people use today. In the current portal you use the Gallery to deploy various VMs, web apps and more.
Then there is the Preview Portal. If you haven’t yet tried it out I highly recommend doing so as it is the future for all things Azure.
Why two portals? The Azure cloud service is evolving at an incredible pace with literally hundreds of new features being added. As the service evolves so does how our customers use it and the team realized that RDFE wasn’t the future of how we (Microsoft) and our customers should manage their deployments. So the team created ARM or Azure Resource Manager to describe everything from simple to very complex deployments using JSON (but more on that later) and grouping them logically into Resource Groups.
Almost all new and preview technology is found in the Preview Portal which is also where Azure Marketplace is exposed. You see whenever you deploy a virtual machine, or a web app through the Preview Portal you are actually using Azure Marketplace and a technology called Azure Resource Manager or ARM.
Azure Marketplace is like Virtual Machine Galleries turned up to 11. The Azure Marketplace contains over 3,000 certified, open source, and community software applications, developer services, and data—pre-configured for Azure.
It goes beyond simple deployable OS images to entire solutions that could span multiple virtual machines and event Azure services like Web Apps, Caching and more that are grouped together into logical resource groups.
Why Azure Marketplace and why ARM?
The Azure Marketplace is where Microsoft publishes first party solutions (virtual machines, services etc.) & third party solutions. It allows solution providers to publish their solutions for customers to deploy into their own Azure subscriptions or elsewhere. These solutions can be single VMs, multi-VMs, PaaS, SaaS etc. Publishers can select whether their solution is free, a trial, a “Bring Your Own License” or a monthly subscription. This flexibility makes it easy for publishers to take solutions that might otherwise be installed on premise or require physical hardware and make it available in the cloud through Azure.
So what does ARM have to do with Marketplace? Azure Resource Manager (ARM) is the template (in JSON) that defines the solution to be published including all related resources (storage, databases, virtual machines, network setup etc.) as well as deployment steps to configure the solution. In short ARM allows you to take your solution and publish it through the MarketPlace or simply to programmatically define your own templates to make deployment easy and repeatable.