RurouniJones
RurouniJones

Reputation: 53

Splitting costs of an Azure Voice Enabled Bot amongst users

Background

I have a voice bot that is based on Microsoft Cognitive Services LUIS and Speech resources. The bot, while developed by me, is not actually used by me in production but a number of distinct users who will each pay for their usage.

Question

Therefore what I want is for my users to be able to pay for their bot resource usage directly to Microsoft (i.e. without me as the middle man by having to setup a Patreon, deal with taxes and pay MS myself).

However while I want the users to be able to pay Microsoft directly, I want to maintain centralised control of the bot'S LUIS and Speech training so that voice training and LUIS model improvements can be centralised and benefit all the users together.

LUIS

Now, it looks like Microsoft Language Understanding (LUIS) have done this perfectly. I can create a LUIS application using my developer subscription. I use this subscription to do testing etc.

Then each of my users will create their own subscription in their own azure accounts, give me access, and I can create a prediction endpoint for the bot using that subscription. Perfect, some users may want the free tier, some may want to upgrade to paid tier, everything is flexible for the uers.

Speech

Microsoft Speech, on the other hand appear to have decided to go exactly the opposite way. I have a subscription and that contains the entire Speech application. Finished. I cannot add any extra endpoints apart from my free-tier test endpoint because they go under my subscription (which, as it is currently free tier, I cannot do).

I cannot see any way of letting users use their own subscriptions for the actual payment of resources used in production.

The only, sort of maybe, way of doing it that I can see is that each user has to create their own subscription, give me access, and I have to duplicate the entire speech application into their subscription.

This means I have to maintain multiple copies of my application and duplicate every Data upload, training and model deployment which is not a very scalable solution.

Conclusion

Could someone tell me if my understanding is correct? I really hope not and that I have missed something in the speech resource because, unless I am misunderstanding things, I really cannot see how one MS team got things so right and another got things so wrong in terms of architecture for this use-case.

Upvotes: 0

Views: 66

Answers (1)

RurouniJones
RurouniJones

Reputation: 53

The answer is yes, each user hosting an instance of the speech application has to have their own resource for it to deploy on.

To mitigate the pain of uploading data and training in every account there is now an API that allows you to copy trained models across subscriptions.

Upvotes: 1

Related Questions