If you know Microsoft Azure, you probably have heard about the Azure Marketplace, which was launched last July at the World Partner Conference and is currently in preview. While you can find a good deal of information on the Azure Marketplace online, including the Azure Marketplace FAQ, you may still find yourself looking for technical documentation. More technical documentation will be released over time, as Microsoft teams continue to work a number of early adopters and refine the onboarding process. In the meantime, we created this series to share our learning and hopefully demystify the process of exposing your service in the Azure Marketplace.
This goal of this first post is to provide a high-level overview of the Azure Marketplace, the types of offerings the marketplace supports and how to get started. Future posts will focus on a specific solution offering with more technical detail.
The Azure Marketplace
The Azure Marketplace is an online applications and services store where start-ups and independent software vendors (ISVs) offer their solutions to Azure customers around the world. These partners are what we call publishers. Customers (or end users or consumers) discover and purchase these solutions from the marketplace, as well as other resources on Azure, and build solutions in their subscriptions.
While partners are responsible for technical support for their solutions, Microsoft takes care of customer billing services on a monthly basis and distributes revenue to partners on a quarterly basis. Another big benefit to publishing on the marketplace is that solutions are available to customers in global markets, a great opportunity for partner business growth. See more detail on Microsoft Azure Marketplace Participation Policies.
Types of Offerings
Depending on the nature of the offering, partners may expose their solutions in the following areas of the Azure Marketplace. Please note that some of these onboarding processes are in private preview and are not publically available to all partners. That said, partners don’t have to wait. They can get a head start with their solutions, which we discuss later in the post. The types of solutions in the Azure Marketplace that this blog series will cover are:
- Single Virtual Machines VM. For solutions that can be packaged in a single server on Windows or Linux, this is a natural choice. One example is Barracuda Web Application Firewall which provides security services at your web applications. As a publisher you can start with a Windows or Linux VM available in Azure gallery, or create your own VM image (in VHD format), load the application and prepare (sysprep) the VM image, and then publish the VM to the Azure Marketplace once approved. Applications or solutions on the VM may function within the VM environment or communicate with services hosted elsewhere outside of the VM.
- Solution Templates (a.k.a. Multi-VMs). Most real-world solutions have a larger topology than a single VM. One example would be an e-commerce solution consisting of one or two (network load-balanced) frontend web servers, one backend database server, and the network connecting these servers. As a publisher you can define the resources you want Azure to provision in an Azure Resource Manager (ARM) template in JSON format and let Azure ARM manage the complexity on your behalf. Customers can then provision all required VMs and other resources such as virtual networks and databases using the ARM template. Solution Templates are the new name in place of Multi-VMs in case you have come across the old term. There are tools available for you to author, test and deploy ARM template based solutions to Azure and the Azure Marketplace. You can find many sample ARM templates at GitHub.
- VM Extensions. Rather than creating single VM or solution templates (Multi-VMs), you as the publisher may offer new or existing solutions through add-on services to VMs, which are called VM Extensions. One example is the Azure Diagnostics Extension that provides the monitoring and diagnostics capabilities on a Windows based Azure VM. VM Extensions are typically distributed through a zip file (package) including both metadata and binary files and loaded automatically by the Azure agent during VM startups. Solutions packaged in VM Extensions may communicate with apps and services at destinations outside of the VMs on which they are hosted. You can decide if your VM Extensions are available in one Azure datacenter region, or multiple regions or worldwide.
- Developer Services. While the name may not be very intuitive, Developer Services expose “software as a service” (SaaS) offerings in the Azure Marketplace. One example is SendGrid that delivers emails to customers. Another example is LiveArena Broadcast that enables customers to broadcast live and on-demand video using their own Azure Media Services accounts. Unlike VM-based solutions in the Azure Marketplace, Developer Services do not necessitate porting partner solutions into Azure. Rather, they expose partner solutions hosted anywhere (including Azure) and allow customers to provision them through the Azure Marketplace. The enabler is a Resource Provider (RP), which is responsible for resource provision and deprovision tasks, for example user account creation and deletion and pricing plan signup and change. Thus, if you want to expose your solution as a Developer Service, you need to build a RP that Azure ARM can communicate with to handle interactive user requests and some background tasks such as logging.
It is worth noting that partners can publish their web services using Azure API Management, which is directly available under the web and mobile option on Azure. More info is available at Azure API Management.
How to Get Started
There are already many solutions available at the Azure Marketplace though it is still in preview. Partners interested in publishing their solutions to the Azure Marketplace can get started now and be prepared when it is available publically.
One prerequisite is to have an Azure Subscription. Partners can use exiting Azure subscriptions, or create new ones directly online at Microsoft or purchase Azure through the partner network. Individual developers can use their Azure subscriptions from their MSDN benefits if eligible. Startups can get Azure from the BizSpark program. Or, if you just want to try Azure, you can create a free one-month trial account.
Publishing solutions to the Azure Marketplace involves a few steps, as outlined in the table below, which vary slightly for different solution offerings.
- Become a Microsoft Azure Certified publisher and get pre-approval of your specific solution
- Register your developer account. You can find more info on developer account types, locations and fees at the developer account portal
- Create your offer at the seller portal and provide marketing content for your solution
- Push and test your offer to staging through the seller portal and wait for final approval
- Deploy your offer to the Marketplace
We hope this post helps you understand what services offerings are available in the Azure Marketplace and which service type may be suitable for your business. Stay tuned for our future posts on specific topics with more technical details.
About Authors: Benjamin Xue and Rob Bagby are technical evangelists with the Microsoft Developer Experience (DX) team. We are very grateful for the feedback our reviewers, Kashif Alam, Hemang Patel and Jeff Schaefer, have shared with us.