An introduction to marketplace deployment architectures
Published Mar 14 2023 09:02 AM 3,438 Views
Microsoft

1 -solution architectures in the Azure marketplace.png

 

The commercial marketplace is a one-stop-shop for businesses looking to purchase and implement cloud-based solutions. As a platform for buying and selling B2B solutions, it allows solution publishers to showcase their products and services, all of which run on the Microsoft cloud. Buyers transact directly through Microsoft, rather than dealing with the publisher directly. An offer sold through Microsoft is known as a transactable offer.

 

There are currently four offer types to choose from when creating your transactable offer for the Azure Marketplace. Each offer type offers a different application architecture. The four offer types are as follows.

 

  1. Virtual machine offers
  2. SaaS offers
  3. Container offers
  4. Azure Managed Application offers

This article provides a brief overview of these four offer types. We will delve deeper into each architecture in future articles, providing more detail, insights, and best practices for those looking to create marketplace offers.

 

Virtual Machine offers

A virtual machine (VM) offer in the Azure Marketplace is a pre-configured and ready-to-deploy virtual machine image that can be used to spin up a new VM in the Azure cloud. These offers are created by publishers and can include a variety of operating systems, applications, and configurations.

 

The value of creating a VM offer is that a publisher simply installs their software onto a VM and makes that VM available for purchase. When a VM is purchased, it installs into the customer’s subscription and tenant. This means the customer pays the run-time costs of the VM and is responsible for ensuring the VM meets the customer’s Azure policies. Further, the customer is responsible for patching the VM as appropriate to ensure security of the solution.

 

VM images used in this offer type include several image types, most notably several variations of Windows Server and Linux images. One best practice is for publishers to build VM images on Microsoft Azure base images, available in the Azure Marketplace.

Learn more about building a VM offer from the Mastering the Marketplace course for VM offers.

 

SaaS offers

SaaS is a popular architecture for many publishers who already have SaaS-based cloud solutions. SaaS offers allow for per user or flat rate pricing models, along with metered billing which enables transaction-based billing under flat rate billing. SaaS offers are accessed by purchasing a subscription, which grants the user access to the software. The subscription can be scaled up or down by the publisher as needed.

 

There are some technical integration points when setting up a SaaS offer. These include a landing page the customer visits to configure their account as well as a webhook that listens for subscription change events such as the following.

 

  • The customer changes their plan
  • A customer unsubscribes from the subscription
  • The subscription gets frozen because the billing instrument (such as a credit card) becomes invalid

An open-source project worthy of note is the marketplace SaaS Accelerator. The SaaS Accelerator enables publishers to publish their offer without building their landing page, webhook, or product integration. Further, it provides a dashboard for publishers to administer customer subscriptions. Learn more about the SaaS Accelerator here.

 

Learn more about building a custom SaaS offer from scratch from the Mastering the Marketplace course for SaaS offers.

 

Container offers for Kubernetes apps

If your solution runs on containers, there is a transactable offer type enabling publishers to make their solution available to customers by packaging containers for sale in the marketplace. Container offers are like VM offers in that the containers deploy into the customer’s Azure environment and are maintained by customers or by the customer pulling new images as the publisher posts them to update the offer.

 

Container offers may contain one or more containers packaged into a single offer. This enables publishers to sell solutions that run across several containers and have each container scale as needed.

When purchasing a container offer, customers specify or create an Azure Kubernetes Service (AKS) instance on which the containers will run. Deploying the containers to AKS allows customers to scale the solution as needed using Kubernetes as the underlying orchestration engine.

 

Learn more about building container offers with the Mastering the Marketplace course for container offers.

 

Azure Managed Application offers

If a publisher wants control over the resources created by a solution, but still wants to deploy the solution’s services into the customer's subscription, then Azure Managed Applications (AMA) may be the way to go.

 

With AMAs, a customer purchases the offer and it is deployed into their subscription with read-only permissions (by default). The publisher is then responsible to ongoing maintenance of the assets deployed into the customer’s subscription and has contributor access to the resource group created by the deployment.

 

Learn more about creating Azure Managed Application offers in the Mastering the Marketplace course for AMA offers.

AMAs are deployed via an ARM template, which means that almost any resource deployable by ARM may be created when a customer subscribes to an AMA offer. Finally, like SaaS offers, AMAs support metered billing, which allows charging per transaction.

 

Selecting your offer type

In addition to the capabilities of each offer type laid out in the above sections, a useful guide to selecting an offer type is included below. This decision tree can help publishers decide which architecture is most appropriate for their offer.

 

DavidStarr_0-1678809499523.png

 

Although this article didn’t delve deeply into billing models, the above chart shows the billing models available for each offer type. In addition to knowing the correct architecture for your solution, it is crucial to also understand your pricing and billing model to select the offer type that best supports it.

 

Conclusion

There are several offer types available for publishers to choose from when publishing their software solution to the Azure Marketplace. Choosing the right one for your needs means publishers must have an understanding not only of their billing model, but also of the correct architecture offered by the marketplace to host the solution.

 

For more information and learning materials on transactable offer types, see the Mastering the Marketplace content which includes videos, hands-on labs, and sample code.

Version history
Last update:
‎Mar 14 2023 10:52 AM
Updated by: