Dynamics 365 and the Power Platform are both deeply coupled with the Common Data Service (CDS) and are held in containers called environments. There are different types of PowerApps environments and each environment type has its quirks. This is the fourth article, in a series on PowerApps environments, focusing on the Trial environment.
Where we left of last time…
The three articles of this series focused on the Default environment, Dynamics 365 environments and Production environments. Part 1 set the scene with an overview of PowerApps and Dynamics 365 environments. I introduced a fictitious company, Dynamics Citizen Developer Inc., and a couple of personas, Sarah and Luke.
As the IT Manager, Sarah, has been setting up the Office 365 tenant and environments for Dynamics Citizen Developer Inc. Sarah has got as far as provisioning Office 365, Dynamics 365 and a Production PowerApp environment. The diagram below depicts what has been set up in the tenant so far.
Creating a Trial Environment
Luke is a Customer Service Representative but is tech savvy and has really got into this PowerApps thing. He’s read in a Microsoft article that he can create a Trial environment so that he can experiment with the Common Data Service (CDS).
Luke opens the PowerApps Admin Center and starts the process.
Luke also creates a CDS database for his environment and chooses to include the sample apps and data as he knows these will really help him get started.
After creating the trial environment Luke has full administration rights in the environment. He has full access to carry out all admin activities such as…
- Create, update and share PowerApps (Canvas and Model-Drive)
- Create Microsoft Flows
- Create Connections
- Update the CDS data model
- Update security roles (access) to CDS
- Define Data Loss Prevention (DLP) policies
Governing Trial Environments
Not long after Luke has created his Trial environment, Sarah stumbles across it. Surprised but also slightly impressed, Sarah takes a closer look to see what Luke’s up to.
Looking at the PowerApps Admin Center, Sarah see’s that Luke has created a Trial environment and has included a CDS database by the fact that the Environment Type is Dynamics365Instance (see screenshot below). Clicking on the Resources tab she can also see the Canvas PowerApps and Flows that Luke has created.
Sarah now starts considering the impacts of Luke having free reign within a trial environment.
The first thing that comes to mind is internal company data being shared to the outside world via the PowerApp and Flow Connectors. Sarah knows that this will not be an issue as she has set a Data loss prevention (DLP) policy across all of the tenant’s environments which adhere to the company’s governance policies.
Luckily Sarah does not need to worry about Luke running lot of Microsoft Flows and using up the tenant’s quota. Trial environments have a separate quota.
The only other thing that comes to Sarah’s mind is the fact that Luke could potentially create a whole bunch of rubbish apps and share them with everyone in the company which could make users finding apps difficult through all of the noise. It’s not a huge risk but to avoid this Sarah could use the Admin and Maker connectors to create PowerApps and Flows to monitor and notify of the sharing of PowerApps so she can act if she needs to. Alternatively she could use the Featured and Hero app setting to ensure the company’s most important apps appear at the top of the users PowerApps list and separates them from the potential noise of Luke’s apps.
Anyone in the Office 365 Tenant can Create a Trial
Luke has a Dynamics 365 Plan 1 license which essentially gives him PowerApps Plan 2 permissions. He can in fact create his own Production PowerApps Environment.
Joe is a new employee of Dynamics Citizen Developer Inc. and Sarah has added him to Office 365 with an Office 365 E3 license. The Office 365 E3 license gives him limited PowerApps permissions and is not able to create environments. However, Joe would like to follow in Luke’s footsteps and create his own environment. He accesses the PowerApps Admin Center and is prompted to get a license that gives him access. He clicks the link which then takes him through to the PowerApps pricing page where he can get a Trial PowerApps license. Within a few clicks he gets himself the license and it is automatically applied to his Microsoft organisational account. He is now able to proceed to the PowerApps Admin Center and create a trial environment.
Sarah notices Joes trial environment as it appears in her environments list. Investigating further she looks at the Tenant – User Licenses from the PowerApps Admin Center to see what sort of licenses Luke has. She downloads the CSV file and sees that Joe has PowerApps and Flow trial licenses that she did not assign (highlighted).
It is dawning on Sarah that she could end up with quite a mess of environments if everyone in the company decided to create their own environment. Using the Admin and Maker connectors to create PowerApps and Flows to monitor and notify of new trial environments is something that she should look to implement if the new environments start becoming a problem.
Migrate Trial Environment to a Production Environment
Luke ends up creating a really useful Model-Driven app which a lot of others in the company would like to use. Sarah thinks it is time to productionise the app and release it to the wider company. She has two options for this:
- Convert the trial environment into a production environment.
- Export the Model-Driven app resources and data and import into the existing production environment.
Sarah had a go at the first option but didn’t manage to get past the first hurdle. She made sure all the pre-requisites were met but the option to covert to a production environment was not available.
Just like the other types of environments the Trial environment has its quirks. It is pretty much a play pen for the owner of the environment to do whatever they want, and anyone can get their own trial environment. In terms of tenant governance and maintenance, the ability for all users to be able to create their own environments should be seen as low risk. How likely is it that a whole bunch of people in your organisation are going to spin up environments? For me, the number one thing to remember is to have Data Loss Prevention policies created across all environments.
If you want to find out more about PowerApps environments, here are some useful links.