Plan an Azure container offer
Azure container offers help you publish your container image to Azure Marketplace. Use this guide to understand the requirements for this offer type.
Azure container offers are transaction offers that are deployed and billed through Azure Marketplace. The listing option a user sees is Get It Now.
Use the Azure Container offer type when your solution is either:
- A Docker container image that's set up as a Kubernetes-based Azure Container instance
- A Kubernetes application meant to be deployed on a managed Azure Kubernetes Service (AKS) cluster.
The Kubernetes application-based offer experience is in preview. Preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. Previews are partially covered by customer support on a best-effort basis. As such, these features aren't meant for production use.
An Azure Container instance is a run-time docker instance that provides the fastest and simplest way to run a container in Azure, without having to manage any virtual machines or adopt a higher-level service. Container instances can be deployed directly to Azure or orchestrated by Azure Kubernetes Services or Azure Kubernetes Service Engine.
If you're publishing Kubernetes apps, these are the available licensing options for Azure Container offers:
|Licensing option||Transaction process|
|Free||List your offer to customers for free.|
|Bring your own licensing (BYOL)||The Bring Your Own Licensing option lets your customers bring existing software licenses to Azure.*|
|Per every core in cluster||List your Azure Container offer with pricing charged based on the total number of CPU cores in the cluster (reported at hourly frequency). You provide the price for one CPU core and we’ll increment the pricing based on the total number of CPU cores in the cluster.|
|Per core||List your Azure Container offer with pricing charged for every core used by the Kubernetes application’s extension instance (reported at hourly frequency). You provide the price for one CPU core and we’ll increment the pricing based on the cores used by the Kubernetes application instance in the cluster.|
|Per cluster||List your Azure Container offer with pricing charged for each instance of the Kubernetes application extension on the cluster (reported at hourly frequency). You provide the price for one instance of the Kubernetes application and we’ll increment the pricing based on the number of instances of the Kubernetes application on the cluster.|
|Per every node in cluster||List your Azure Container offer with pricing charged based on total number of nodes in the cluster (reported at hourly frequency). You provide the price for one node in the cluster and we’ll increment the pricing based on the size of hardware in the cluster.|
|Per node||List your Azure Container offer with pricing charged for each node on which the Kubernetes application’s extension instance runs on (reported at hourly frequency). You provide the price for one node in the cluster and we’ll increment the pricing based on the number of nodes on which the Kubernetes application instance runs in the cluster.|
|Per pod||List your Azure Container offer with pricing charged for each pod on which the Kubernetes application’s extension instance runs (reported at hourly frequency). You provide the price for one node in the cluster and we’ll increment the pricing based on the number of pods used on which the Kubernetes application instance runs in the cluster.|
- As the publisher, you support all aspects of the software license transaction, including (but not limited to) order, fulfillment, metering, billing, invoicing, payment, and collection.
To ensure the prices are right before you publish them, first select Save draft to save pricing changes, then export the pricing spreadsheet and review the prices in each market.
When selecting a pricing option, Microsoft does the currency conversion.
The commercial marketplace will collect leads with customer information so you can access them in the Referrals workspace in Partner Center. Leads will include information such as customer details along with the offer name, ID, and online store where the customer found your offer.
You can also choose to connect your CRM system to your offer. The commercial marketplace supports Dynamics 365, Marketo, and Salesforce, along with the option to use an Azure table or configure an HTTPS endpoint using Power Automate. For detailed guidance, see Customer leads from your commercial marketplace offer.
To simplify the procurement process for customers and reduce legal complexity for software vendors, Microsoft offers a standard contract you can use for your offers in the commercial marketplace. When you offer your software under the standard contract, customers only need to read and accept it one time, and you don't have to create custom terms and conditions.
You can choose to provide your own terms and conditions, instead of the standard contract. Customers must accept these terms before they can try your offer.
Offer listing details
Offer listing content is not required to be in English if the offer description begins with the phrase "This application is available only in [non-English language]".
To help create your offer more easily, prepare these items ahead of time. All are required except where noted.
- Name – The name will appear as the title of your offer listing in the commercial marketplace. The name may be trademarked. It cannot contain emojis (unless they are the trademark and copyright symbols) and is limited to 200 characters.
- Search results summary – The purpose or function of your offer as a single sentence with no line breaks in 100 characters or less. This is used in the commercial marketplace listing(s) search results.
- Short description – Details of the purpose or function of the offer, written in plain text with no line breaks. This will appear on your offer's details page.
- Description – This description displays in the commercial marketplace listing(s) overview, allowing up to 5,000 characters. Consider including a value proposition, key benefits, intended user base, any category or industry associations, in-app purchase opportunities, any required disclosures, and a link to learn more. This text box has rich text editor controls to make your description more engaging. Optionally, use HTML tags for formatting.
- Useful links (optional): Links to various resources for users of your offer. For example, forums, FAQs, and release notes.
- Contact information
- Support contact – The name, phone, and email that Microsoft partners will use when your customers open tickets. Include the URL for your support website.
- Engineering contact – The name, phone, and email for Microsoft to use directly when there are problems with your offer. This contact information isn’t listed in the commercial marketplace.
- CSP Program contact (optional): The name, phone, and email if you opt in to the CSP program, so those partners can contact you with any questions. You can also include a URL to your marketing materials.
- Logos – A PNG file for the Large logo. Partner Center will use this to create other required logo sizes. You can optionally replace these with different images later.
- Screenshots – At least one and up to five screenshots that show how your offer works. Images must be 1280 x 720 pixels, in PNG format, and include a caption.
- Videos (optional) – Up to four videos that demonstrate your offer. Include a name, URL for YouTube or Vimeo, and a 1280 x 720 pixel PNG thumbnail.
Your offer must meet the general commercial marketplace certification policies to be published to the commercial marketplace.
A preview audience can access your offer prior to being published live in the online stores in order to test the end-to-end functionality before you publish it live. On the Preview audience page, you can define a limited preview audience.
You can send invites to Azure subscription IDs. Add up to 10 IDs manually or import up to 100 with a .csv file. If your offer is already live, you can still define a preview audience for testing any changes or updates to your offer.
Plans and pricing
Container offers require at least one plan. A plan defines the solution scope and limits. You can create multiple plans for your offer to give your customers different technical, pricing, and licensing options.
Containers support different licensing models based on your packaging and deployment needs:
- If you are publishing container images, then two licensing models are supported: Free or Bring Your Own License (BYOL). BYOL means you’ll bill your customers directly, and Microsoft won’t charge you any fees. Microsoft only passes through Azure infrastructure usage fees.
- If you are publishing Kubernetes apps, then four licensing models are supported: Free, BYOL, Per core, and Per every core in cluster. BYOL means you’ll bill your customers directly, and Microsoft won’t charge you any fees. Microsoft only passes through Azure infrastructure usage fees. For more info on the licensing models, see Licensing options. For additional information, see Commercial marketplace transact capabilities.
Additional sales opportunities
You can choose to opt into Microsoft-supported marketing and sales channels. When creating your offer in Partner Center, you will see two tabs toward the end of the process:
- Resell through CSPs – Allow Microsoft Cloud Solution Providers (CSP) partners to resell your solution as part of a bundled offer. For more information about this program, see Cloud Solution Provider program.
- Co-sell with Microsoft – Let Microsoft sales teams consider your IP co-sell eligible solution when evaluating their customers’ needs. For details about co-sell eligibility, see Requirements for co-sell status. For details on preparing your offer for evaluation, see Co-sell option in Partner Center.
Container offer requirements
For a container image-based offer, the following requirements apply:
|Billing and metering||Support either the free or BYOL billing model.|
|Image built from a Dockerfile||Container images must be based on the Docker image specification and built from a Dockerfile. For more information about building Docker images, see the "Usage" section of Dockerfile reference.|
|Hosting in an Azure Container Registry repository||Container images must be hosted in an Azure Container Registry repository. For more information about working with Azure Container Registry, see Quickstart: Create a private container registry by using the Azure portal.
|Image tagging||Container images must contain at least one tag (maximum number of tags: 16). For more information about tagging an image, see the
For a Kubernetes application-based offer, the following requirements apply:
|Billing and metering||Support one of the PerCore, PerEveryCoreInCluster, or BYOL billing models.|
|Artifacts packaged as a Cloud Native Application Bundle (CNAB)||The Helm chart, manifest, createUiDefinition.json, and Azure Resource Manager template must be packaged as a CNAB. For more information, see Prepare technical assets.|
|Hosting in an Azure Container Registry repository||The CNAB must be hosted in an Azure Container Registry repository. For more information about working with Azure Container Registry, see Quickstart: Create a private container registry by using the Azure portal.