Hero Banner

Microsoft AppSource and Azure Marketplace

Learn how to grow your business by publishing your cloud solution on Microsoft AppSource and Azure Marketplace

Reply
Level 1 Contributor

What is the best way to license a software framework on Azure?

My company is making a software framework for machine learning (specifically deep learning). We would like our customers who want to train or use their models in Azure to get up & running quickly and stay up to date, and get their usage bills through Azure Marketplace.

 

The ideal for us would be if the software could detect itself running in Azure, and simply call metering APIs (perhaps after the customer accepts the plan) to report usage based on VM/container instance size.

 

I've spent some time looking and the marketplace documentation regarding offers, and it is still not clear which options besides Virtual Machine can work. I just stumbled upon the SaaS offer option, and it is unclear if it can be applied to a software, that user can either get preinstalled with a VM, or install manually (for a customized configuration).

 

Here are some notes on corresponding offers:

Virtual Machine

The good part is the built-in ability to charge based on VM size (e.g. RAM, CPU).

The bad parts are: 1) it is unclear if charge can be based on GPUs and FPGAs; 2) customer has to use our VM, and can't build their own VM with a custom installation; 3) does not cover other options of Azure compute, such as Azure Notebooks or AppService (unsure)

Container

The bad parts are: 1) Does not seem to have a way to charge based on instance size. Can my software from the container call metering APIs? 2) Same as 2 and 3 in VM: no custom image, and seemingly does not cover all services

SaaS

I did not understand this one fully, but it actually looks like exactly what I need in that it does not concern itself about how exactly the customer got the software on their Azure instances, be it through our VM or a NuGet package, or something else. As soon as customer enables the offer on his subscription, the framework can report its own usage using Metering API. Can you confirm, that SaaS offer indeed can be used in this scenario?

1 ACCEPTED SOLUTION
Microsoft

Hi Victor - The metering service is likely your best billing option, and this is supported with SaaS and Managed Apps. If you are managing the solution in the customer's Azure tenant, the Managed App is a fantastic option. Otherwise, you could use a VM and design a license check, and then use a SaaS service to generate the license key. It's a bit of effort for you to develop but would achieve your objectives.

View solution in original post

4 REPLIES 4
Level 2 Contributor

The recommended way is to visit the following link for detail and authentic information about the license a software framework on Azure at single platform?

 

https://www.microsoft.com/en-us/licensing/product-licensing/azure

 

Hope you got your answer.

 

Microsoft

Hi Victor - The metering service is likely your best billing option, and this is supported with SaaS and Managed Apps. If you are managing the solution in the customer's Azure tenant, the Managed App is a fantastic option. Otherwise, you could use a VM and design a license check, and then use a SaaS service to generate the license key. It's a bit of effort for you to develop but would achieve your objectives.

View solution in original post

Hi Brian,

I am also facing the same issue,i have an offer in which all of the resources get created in the customer's azure tenant and i have read ample of items in order to integrate metering APIs with my offer but i failed to do so.As per your comment on the post , do i need to create a managed App in my subscription(publisher's subscription) and all the customer's are going to send the parameters to this app and this will finally emit the metering events to the azure marketplace in order to calculate the amount of usage .Can you please explain the entire workflow in detail or send me some link  so that i am clear on what actually has to be done.Thanks in advance!

Level 1 Contributor

Hi @smitajain92 , I was able to achieve this by adopting the official example: https://github.com/Azure/Microsoft-commercial-marketplace-transactable-SaaS-offer-SDK