MicrosoftDocs / microsoft-365-community

Microsoft 365 community contributed documentation https://docs.microsoft.com/microsoft-365/community/
MIT License
190 stars 159 forks source link

Explain PowerApps Licensing Scheme for Citizen Developers #13

Closed sympmarc closed 4 years ago

sympmarc commented 4 years ago

Article Suggestion

New licensing options for PowerApps go into effect on 1 Oct 2019. Many people are confused about how this will affect them as citizen developers or makers. An article which explains the impacts to them (and stays valid over time) would be very useful.

Thanks for your contribution! Sharing is caring.

JimmyHang commented 4 years ago

This would be super useful, I'll give it a try @sympmarc, but to be honest mate I barely understand it myself so someone should look over when I'm done, ;)

sympmarc commented 4 years ago

I've let this languish because I'm not sure anyone can really explain it. I'm learning different takes on it all the time, which make my prior assumptions incorrect. TBH, I'm not sure we should try to cover it here, as it's bound to change again.

JimmyHang commented 4 years ago

agree, it's a shame that's it's so difficult, I'm seeing myself recommend Nintex or others as I go along.. ;)

bigpix2000 commented 4 years ago

I will take this on. We have guidance done the key doc and I have done and will do a seminar on this.

bigpix2000 commented 4 years ago

As a note the licensing will transcend apps and cover flow and even the new fangled power virtual agents ;-)

sympmarc commented 4 years ago

Awesome. Looking forward to seeing what you come up with.

If you can slant it to citizen devs, that would be great. In other words, not just for admins or someone who needs to understand cost implications: what citizen devs need to know to discuss what they need and why they need it.

Make sense?

bigpix2000 commented 4 years ago

Yes.... Just quick riffing here, from the citizen dev angle, first know what you got, what it costs to use it in the various combinations then how to ask for what you need or want now that you know what you get for the money

sympmarc commented 4 years ago

I think the “why you need a license” in terms of business benefit. I think we’re saying similar things. Have at it!

bigpix2000 commented 4 years ago

Got it and on it!

Get Outlook for iOShttps://aka.ms/o0ukef


From: Marc D Anderson notifications@github.com Sent: Saturday, March 14, 2020 6:35:13 PM To: MicrosoftDocs/microsoft-365-community microsoft-365-community@noreply.github.com Cc: Ralph Rivas ralph_rivas@msn.com; Assign assign@noreply.github.com Subject: Re: [MicrosoftDocs/microsoft-365-community] Explain PowerApps Licensing Scheme for Citizen Developers (#13)

I think the “why you need a license” in terms of business benefit. I think we’re saying similar things. Have at it!

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmicrosoft-365-community%2Fissues%2F13%23issuecomment-599147827&data=02%7C01%7C%7Ce3cbc9c88a064d112eff08d7c8705879%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637198257146606748&sdata=5S6dmKqbMnEOP6MCFihOsF1KIRsXN%2F4Edv3DEIKswS0%3D&reserved=0, or unsubscribehttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAB2OOTQH5JZ5DCDONFZZ54LRHQIDDANCNFSM4IS53D5Q&data=02%7C01%7C%7Ce3cbc9c88a064d112eff08d7c8705879%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637198257146606748&sdata=Lx2fLI1yHK6NC0HCb7ywcbycGfNENg1I6vda28pjR0w%3D&reserved=0.

bigpix2000 commented 4 years ago

I believe I was able to put it in ... someone please confirm the article is there? Thanks! cc: @sympmarc

sympmarc commented 4 years ago

@bigpix2000 - I don't see a pull request. Do you need help getting it posted?

bigpix2000 commented 4 years ago

Figures .. it is in my Fork. Need to get it over to the main … yes just a quick procedure via the main interface should help as I am usually doing Code in one of the tools.

Thanks in advance!

(PII from email response removed to protect the innocent)

JimmyHang commented 4 years ago

Hi @bigpix2000, create a pull request using this guide here. :) https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request

JimmyHang commented 4 years ago

on your computer, verify your git config by the way, otherwise your name might not be shown rite in the article, I forgot this with the earlier articles. ;) verify your local config | git config user.email | if your git email is present you're good to go.. ;)

if not run this:

git config --global user.email "your@fantastic.email"

make sure the email is the same as your github settings

bigpix2000 commented 4 years ago

It is set correctly for what I have been working on of late and my debate is which to use for this purpose so I will stick to my “business one” for now. Otherwise, that part is set. Thanks!

(PII from email response removed to protect the innocent)

bigpix2000 commented 4 years ago

I think I got it: https://github.com/MicrosoftDocs/microsoft-365-community/pull/119

(PII from email response removed to protect the innocent)

sympmarc commented 4 years ago

First pass from @bigpix2000 here: https://github.com/MicrosoftDocs/microsoft-365-community/blob/master/Community/powerplatformlicensingforcitizendeveloper.md

sympmarc commented 4 years ago

There’s been some debate elsewhere about the contents of this article. Let’s try to have a constructive discussion about potential improvements here.

bigpix2000 commented 4 years ago

As a quick note ... last I heard on the debate was not so much information being incorrect but rather how it affects potential usage and costs going forward. I am thinking the article could use some "sample cases" to also compare the old versus new to underscore the differences? I am trying not to make any judgments either. If something is still unclear, then I definitely look forward to seeing that addressed. Thanks to all who are looking at this!

bigpix2000 commented 4 years ago

All quiet on the western front ... my virtual assistant is reminding me daily to follow up so this does not go too long sitting in a uncompleted state. I know folks are busy with the regular day but if you anticipate participating in the discussion, perhaps just reply with a "here" for now and we can work through all our schedules more efficiently. I have wherewithal to be directed so do not feel committed to any direct work by sounding off. Thanks in advance!

johnnliu commented 4 years ago

Wanted to comment on actual realistic licensing of Flow, and this is where it gets quite technical.

The rules

While licensing talks of Standard and Premium, and premium are licensed per flow or per user. In practice, Flow licensing should be considered according to usage, and in this case - how is the flow triggered.

Automated Flow

A flow that is triggered by some sort of webhook or polling event is called an Automated Trigger Flow, this includes SharePoint created/updated, Exchange email received. When a flow is running with an automated trigger - it can only access the flow owner's connections, so it uses premium license on the Flow owner's account. In this mode - flows runs identically to how LogicApps run. Also, HTTP Request trigger also is considered an automated trigger.

Instant Flow

A flow that's triggered by the end user directly, is called an Instant Trigger Flow. And it runs in the context of the current user, this includes triggers such as "Flow Button", "Power Apps Trigger" and "SharePoint for selected item". When a new user first runs these flows - the dialog appears to ask the user to authenticate connections before running. (this auth may be silent if pre-granted by administrator). The flow runs in that user's context.

So Flow License in a nutshell is

  1. Use Standard connectors in Office 365 licenses when you can. But if you need premium...

  2. If Automated Trigger - buy premium for the Flow Owner. And watch number of runs in case we need to purchase additional API run capacity. (this is potentially a couple of licenses only)

  3. If Instant Trigger - buy premium for each user that will invoke this flow. (this potentially scales out a lot)

  4. Of special note - the most common Instant Trigger is the Power Apps trigger, but any Power App that calls a Power Apps Trigger must have premium license for the premium connector used in the Flow, and the Power Apps premium license for the end user includes premium flows used as part of that Power App. (So it means in the scenario of Power App Trigger - additional purchases of flow licensing is not necessary, since it must be included in the Power Apps premium license).

Complications

Why is this all so hard - understand that Flow is based on LogicApps - which is consumption based, but priced in a per-user basis. It also must bridge between the serverless products, and other COG based, $/user systems like CDS.

Office 365 is also per-user based, but Office license is vastly simplified due to the Office Seeded License.

image

Similarly, users that already has D365 licenses automatically has all premium connectors due to the higher pricing of that license subscription. So they don't have these "Office specific standard or premium connector pains".

image

So here we are - premium Flow must be licensed accordingly per-user.

A simple discussion of flow licensing without practical examples that differentiates the invocation and thus the actual "hey where's the license for this run" tends to overblown flow licensing costs. In reality, we should purchase flow license based on our environment needs. because we only need a good handful of premium accounts to run the premium automated flows.

Simply: If 5000 people writes to a SharePoint list, and there's a SharePoint automated trigger that runs a premium flow, you only need 1 premium license on that flow.

Why buy premium

One premium flow license per month packs a lot more value than running multiple LogicApps that does the same thing. Automated trigger check polling of SharePoint lists are free in Flow, but costs a small amount in LogicApps per trigger check.

There are other bigger reasons to get more premium flows - particularly, if using AI Builder - the bundle price may be appealing. Or if high number of flow runs are used - we may hit API limit and need to purchase additional API capacity. For best environment dev/test/production practices - the service accounts that the flows use should have premium license attached.

Another note is that some products have a per-user license, particularly CDS, so while we are technically able to use 1 premium license to write to CDS - this would be a multiplexing violation of the CDS license. Other products does not have this requirement.

These triggered-based licensing rules are verified by many many discussions and clarifications with the product team owners, CVP and PMs directly, and is accurate as far as I know of 20/03/2020.

Source

Charles Lamanna CVP of Power Platform. https://twitter.com/clamanna/status/1170863244807831552?s=20

image

johnnliu commented 4 years ago

TLDR US$15/m

bigpix2000 commented 4 years ago

This is perfect and exactly helps with the article! To be sure I left out all the judgement and other bits like what folks should use which were part of my live session but seeing that same discussion here with scenarios certainly brings it home. A lot of this would replace the more (overly?) simplistic next steps section with a deep dive for practical discussion. Now to see how to make that work. Thank you!

bigpix2000 commented 4 years ago

@sympmarc , I want to add @johnnliu as contributing author as I will be lifting some of this pieces wholesale into the updated article. Do you have the mark down parameters handy so I can add them as part of my edits? Thanks!

sympmarc commented 4 years ago

@bigpix2000 You can add @johnnliu at the bottom where you've got yourself listed as Principal Author. I'm not sure if we can have multiple authors up top in the YAML. @JoanneHendrickson?

bigpix2000 commented 4 years ago

Something like this I was thinking at the bottom?

Principal author: Ralph Rivas Principal contributor: [John Lui](johns linked in here)

sympmarc commented 4 years ago

Yup, that's what I meant.

bigpix2000 commented 4 years ago

@johnnliu ... what does COG refer to in your notes? Cognitive? Cost something? Just checking as I am getting this in. Thanks in advance!

bigpix2000 commented 4 years ago

The item I am unsure about is the definition of COG as I do not want to leave any acronym undefined before using it (at least once) .... I am also thinking more examples but I also want to give credit to those who contribute them. thanks! cc: @sympmarc @johnnliu

bigpix2000 commented 4 years ago

grrr ... how did the one spelling error get through (maybe more than one :( ) ... waiting for it to merge and I will clean up thanks

bigpix2000 commented 4 years ago

Yup, that's what I meant.

On that note, after you get the last piece in, I can do a PR and fix that .... Hopefully @johnnliu will chime in with his Linked in for the one spot as well as look at my Acronym question :)

sympmarc commented 4 years ago

I did merge your PR. You can issue multiple PRs that build on each other, I think. @johnnliu is on the other side of the planet (Sydney), so he might be sleeping. :)

bigpix2000 commented 4 years ago

That’s right … time flew by so missed his window …

Thanks! Will make the mini fixes

From: Marc D Anderson notifications@github.com Sent: Tuesday, March 24, 2020 12:44 PM To: MicrosoftDocs/microsoft-365-community microsoft-365-community@noreply.github.com Cc: Ralph Rivas ralph_rivas@msn.com; Mention mention@noreply.github.com Subject: Re: [MicrosoftDocs/microsoft-365-community] Explain PowerApps Licensing Scheme for Citizen Developers (#13)

I did merge your PR. You can issue multiple PRs that build on each other, I think. @johnnliuhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjohnnliu&data=02%7C01%7C%7C158cefc0366b4309810f08d7d01ae84f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637206686286530902&sdata=XK683JQV%2FPcPkhrbnDYDvoSZfrcFGICdVep5JPYSvfQ%3D&reserved=0 is on the other side of the planet (Sydney), so he might be sleeping. :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmicrosoft-365-community%2Fissues%2F13%23issuecomment-603400757&data=02%7C01%7C%7C158cefc0366b4309810f08d7d01ae84f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637206686286540883&sdata=URfPoTPwpJe86xKPiaQC%2FFq%2BNzkz%2F7KsQJGBzMlSlXI%3D&reserved=0, or unsubscribehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAB2OOTQQQDRB3ICMMQVTUT3RJDWNFANCNFSM4IS53D5Q&data=02%7C01%7C%7C158cefc0366b4309810f08d7d01ae84f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637206686286550864&sdata=4fDNyNI2jjfU9wssC3S%2FFkl2Y%2BhKDHkBSxeYc4DhkwA%3D&reserved=0.

bigpix2000 commented 4 years ago

Done …. Building is busy but should be there soon ….

From: Marc D Anderson notifications@github.com Sent: Tuesday, March 24, 2020 12:44 PM To: MicrosoftDocs/microsoft-365-community microsoft-365-community@noreply.github.com Cc: Ralph Rivas ralph_rivas@msn.com; Mention mention@noreply.github.com Subject: Re: [MicrosoftDocs/microsoft-365-community] Explain PowerApps Licensing Scheme for Citizen Developers (#13)

I did merge your PR. You can issue multiple PRs that build on each other, I think. @johnnliuhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjohnnliu&data=02%7C01%7C%7C158cefc0366b4309810f08d7d01ae84f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637206686286530902&sdata=XK683JQV%2FPcPkhrbnDYDvoSZfrcFGICdVep5JPYSvfQ%3D&reserved=0 is on the other side of the planet (Sydney), so he might be sleeping. :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmicrosoft-365-community%2Fissues%2F13%23issuecomment-603400757&data=02%7C01%7C%7C158cefc0366b4309810f08d7d01ae84f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637206686286540883&sdata=URfPoTPwpJe86xKPiaQC%2FFq%2BNzkz%2F7KsQJGBzMlSlXI%3D&reserved=0, or unsubscribehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAB2OOTQQQDRB3ICMMQVTUT3RJDWNFANCNFSM4IS53D5Q&data=02%7C01%7C%7C158cefc0366b4309810f08d7d01ae84f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637206686286550864&sdata=4fDNyNI2jjfU9wssC3S%2FFkl2Y%2BhKDHkBSxeYc4DhkwA%3D&reserved=0.

bigpix2000 commented 4 years ago

So how is it looking for folks following this thread? Thoughts?

bigpix2000 commented 4 years ago

Thanks all who helped with this!!

sympmarc commented 4 years ago

@bigpix2000 - Sorry I haven't replied. I appreciate all your effort on this. If there are any issues with the content, the community shall speak!

I'll close this issue, since we have the article in place.