Learn Power Platform governance with the Microsoft 365 developer tenant

I’ve heard many aspiring Power Apps makers wishing they would have a place where to practice using the premium features of the platform that haven’t yet been made available in their corporate tenant. After all, if you only have the Office 365 / Microsoft 365 subscription then you’re missing out on the majority of what Power Platform low-code tools have to offer. Still today, not everyone knows that a Microsoft 365 subscription does not include Power Platform licenses (check out my linked article for details, it remains valid after 2+ years).

There has previously been a way for basically anyone to sign up for a Power Apps developer plan and get their own playground environment within the same corporate tenant where their actual business credentials and data are. The barrier used to be that you had to be aware such an option exists, there was nothing inside the product to guide you towards it.

Recently Microsoft started promoting the initiative of “making Dataverse available for all makers”. While this won’t remove the premium license requirement for Dataverse usage in production apps, what it does do is offer in-product prompts for any maker to create up to 3 environments for their personal use. Later on the Developer environment will (presumably) be renamed “personal environment”. At the same time there will be governance controls introduced for tenant admins, meaning they can still block the creation of these personal Dataverse environments if they absolutely have to.

This still leaves us the question of “what if I need more than just a personal environment”? This is especially relevant for anyone who wants to learn how to administer and govern Power Platform at scale. While most app maker scenarios may be covered with environment level admin rights, sometimes you’d need the tenant level role of Power Platform administrator. One common scenario for this is the deployment of the Power Platform Center of Excellence (CoE) Starter Kit.

Spinning up a trial tenant is always an option, yet the challenges are 1) it’s going to expire sooner than you’d like, and 2) the sign-up process is forever changing as Microsoft adjusts their customer journey for customer trials. Microsoft partner employees can also use the CDX site for provisioning temporary demo tenants, primarily intended for presales demos.

In this post I will show a third way that doesn’t seem to be widely known in the Power Platform community. For individuals who want to build up their skills in low-code application platform administration, it can provide a very useful playground for personal use.

Hello Microsoft 365 Developer Program!

Despite of its name, you don’t necessarily have to be a pro-code developer to benefit from joining the Microsoft 365 Developer Program. The major benefit is gaining access to the free developer sandbox:

“Get a free, renewable 90-day Microsoft 365 E5 developer subscription pre-provisioned with Microsoft 365 apps.” This is what will actually give you a full tenant to play around with. You’ll be the Global Administrator of your own M365 universe, with unlimited power to install all the things!!!1!🤩

The process to sign up is a simple one. What isn’t quite as simple is getting your sandbox tenant provisioned, as the process has been experiencing issues and limitations for several months now. You may therefore see a message like “sandbox provisioning is currently disabled due to a technical issue. Please try again in a few days.”

I was too impatient to wait around for days, so I just kept clicking around in the portal and trying the same things over again, expecting different results. No, not because of insanity, but because someone else on the Internet said it actually helped them to get around this limitation. And it did, in only a few minutes time:

I received my shiny and new instant sandbox tenant with its Microsoft 365 E5 subscription. Including 9 user licenses and 16 fictious users, with a few sample data packs for SharePoint and Microsoft Teams content provisioned there.

CoE Starter Kit deployment in the developer tenant

Even though we’ve got our M365 tenant and license now, it of course doesn’t provide any Power Platform capacity nor licenses (why would developers need access to such low-code application development tools anyway…🙄). So, you’ve gotta be a savvy Power Apps maker to know that the developer/personal environment creation is supported.

Today when using make.preview.powerapps.com to access the Power Apps Maker portal preview version, you can already see the above prompt “Need your own environment? (It’s free)” when clicking on the environment picker. Creating a developer environment is also supported via Power Platform Admin Center (PPAC) if you don’t see the option yet.

So, let’s provision a new Power Platform environment for our CoE Starer Kit deployment purposes:

Then we just follow the CoE Starter Kit setup instructions. The installation process for CoE Starter Kit has also changed recently, thanks to the awesome CoE Setup Wizard (preview) that will guide you through the many configuration steps in a professional looking UI, built inside a model-driven app leveraging the Fluent UI controls of the Power Platform Creator Kit.😍

The inventory components are at the heart of everything the CoE Starter Kit does, as these will collect information about all the Power Platform components in the tenant via a set of sync flows running on a daily (some weekly/biweekly) basis. Once you reach this step in the CoE Setup Wizard, you’ll likely see a notification bar saying “Failed to turn on Admin | Sync Template flows. Please navigate to the solution and turn this flow on manually”.

If we go to the list of solutions in our Power Platform CoE environment and try to manually turn on the flows, we’ll be greeted with a more detailed error message:

Flow client error returned with status code "BadRequest" and details "{"error":{"code":"InvalidOpenApiFlow","message":"Flow save failed with code 'InvalidPaginationPolicy' and message 'The pagination policy of workflow run action 'List_Ai_Models' of type 'OpenApiConnection' at line '1' and column '3394' is not valid. The value specified for property 'minimumItemsCount' exceeds the maximum allowed. Actual: '100000'. Maximum: '5000'.'."}}".

Oh, right, the licensing barriers of Power Automate cloud flows…🤔 If you read through the detailed requirements of CoE Starter Kit, you’ll see that it needs a Power Automate Per User license. This is because the performance profiles for its cloud flows need to be medium or high, due to how the CoE sync flows are looping through potentially a high number of items.

The Microsoft 365 Developer tenant licenses or the personal/developer Dataverse environment apparently don’t include this today. To get around this, we have to activate a Power Automate Per User trial subscription in the tenant and add it to our user account (or service account, if you’re being serious about learning the governance best practices😉).

But wait, the CoE Starter Kit documentation says you need a non-trial license?!? Yeah, that’s what it says today – yet that doesn’t seem to be how Power Automate operates today. You see, the team who builds the CoE Starter Kit (Power CAT) doesn’t control what the actual Microsoft products in their commercial offering do. Those are managed by the respective product teams, whereas CoE Starter Kit is merely a reference implementation on top of publicly available Power Platform features (it’s not a product). So, just as any customer or partner that builds on top of the low-code platform, the Kit can be impacted by changes in product behaviour (and the dreaded licensing enforcement😬).

So, while the Developer tenant won’t expire as long as you’re using it, and neither will the Developer environment within it – the Power Automate Per User trial will eventually go away. Will that stop us from deploying future updates to CoE Starter Kit that may need to reactivate the sync flows? We’ll only know once we try that out sometime in the future.

While this may seem frustrating at first, you should keep in mind that licensing and capacity management is a central part of real-life Power Platform governance. Getting hands-on experience on such topics is one key reason why having your own tenant with global admin rights is so valuable. You can’t learn these things with just a personal Dataverse environment inside a production tenant managed by your IT admins.

Power Platform governance scenarios

It’s not enough to have just the CoE Starter Kit in an otherwise empty tenant. You’ll also need to have other environments, apps, flows etc. to actually administer and govern with these tools. Since the Developer tenant will remain in use for as long as you’re actively “developing” in it, it makes sense to build your own test and demo apps there whenever studying how the tools in the platform work and preparing for any Power Platform certifications you may be aiming for.

Simulating the use of a low-code application platform across the many different departments found in real organizations requires you to set up more than just your personal account, environment and demos. Luckily your privileges to the Developer tenant grant you the possibility to use different personas, provision environments for them, set up Teams teams / Microsoft 365 groups, administer Azure AD – all the core elements you’ll need to use as a Power Platform administrator in production tenants, too. Since the M365 E5 Developer plan includes Azure Ad Premium P2, you can even practice using dynamic groups to manage access to Power Apps.

While you can’t have permanent Dynamics 365 apps in your Developer tenant (nor deploy them in any Developer environments), there are 3rd party app options out there that cover similar scenarios for bigger business applications. You can start by deploying the free RapidStart CRM solution that requires no paid licenses and offers model-driven Power Apps experience for accounts & contacts, sales opportunities and support cases. Setting up the roles and sharing access to other users is a great exercise to go through.

Once you have apps, users, teams etc. in your tenant, working with the CoE Starter Kit tools will become much more interesting and enjoyable. Accessing the various tools in the Kit is best done via Microsoft Teams, so be sure to configure a team for the Power Platform Admins in your tenant and add the necessary tabs & channels.

As you enable the various governance flows in CoE Starter Kit for collecting compliance details, identifying inactive apps and flows, working with orphaned objects etc. you’ll get an understanding of how these templates can really be applied in practical scenarios. The isolated Developer tenant means you don’t have to try things out in production tenants with real users and real business data – which could be a bit nerve-racking.😅

Conclusion

Developing and administering Power Platform based solutions requires understanding of not just the low-code application platform functionality but also the surrounding Microsoft 365 tenant services. If you want to learn how to deploy and manage apps, automations, bots and other Power Platform components for the entire end user audience, you’ll need a place where you have administrator level access to Azure AD, Teams and many other MS services.

By signing up for the free Microsoft 365 Developer Program and spinning up a developer tenant, you’ll get the full suite of tools needed for testing the end-to-end process for low-code business application delivery. This sandbox will remain at your disposal for as long as you’re actively using it. Also, there is no risk for real production tenant business data ending up into your test scenarios, like there might be with just a Developer environment inside the proudction tenant.

Interested in reading our latest Power Platform blog posts?

You’re welcome to subscribe to our email newsletter: Forward Forever News. Max 1 email per month, with a curated list of latest insights and articles on Power Apps, Power Automate, Power BI.

Leave a Reply