Picking the right Power Platform environment type
Tags: powerfuldevs, powerplatform, lowcode, microsoftcloud
Published: 2023-03-08 11:30:17

One of the key features of the Power Platform is its ability to create and manage different types of environments. These environments are used to isolate different stages of the application development process, such as development, testing, and production.

But with four different types of Power Platform environments to choose from, it can be confusing to know which one to use for your needs. The other day, I got asked about how to think when choosing the environment, so I decided to write an article about it. In this article, we'll go over the different types of environments, what they're used for, and what can go wrong if you choose the wrong one.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omg7h50qywnff2d4dli6.png)


##Production Environment##

This is the main environment where people use the app you've built. It's where all the important data lives, so you want to make sure it's stable and secure. Any changes you make to this environment should be tested and approved before going live.

---



##Sandbox Environment##
This is a "playground" environment that's not connected to the main app. It's where you can test new features, settings, and connections before putting them in the production environment. It's important to keep this environment separate from the production environment to avoid any problems.

---



##Development Environment##
This environment is just for developers to work on the app without messing with anything else. They can try out new code, workflows, and integrations without worrying about breaking anything in the live app.

---


##Trial Environment##
This is a "free" environment that you can try out without paying for it. It's meant for businesses to see if the Power Platform is a good fit for them before committing to it. Don't use this environment for anything important, though - it's not meant for that.

---


##Potential Problems##

If you pick the wrong environment type, you could run into some trouble. For example, if you put an unstable version of the app into the production environment, it could cause problems like data loss or security breaches. Similarly, if you use the production environment for testing or development, you could accidentally mess up the live app.

---


##Conclusion##
Microsoft recommends using a separate environment for development, testing, and production:

> _Ideally, you should complete each stage in the release management process in a discrete environment, separate from the other environments. Realistically, you may have to combine one or more of the environments due to hardware, time, or other resource constraints. At a bare minimum you should separate the production environment from the other environments._

Also

> _To follow application lifecycle management (ALM) principles, you'll need separate environments for app development and production. Although you can perform basic ALM with only separate development and production environments, we recommend that you also maintain at least one test environment that's separate from your development and production environments. When you have a separate test environment, you can perform end-to-end validation that includes solution deployment and application testing. Some organizations might also need more environments for user acceptance testing (UAT), systems integration testing (SIT), and training._

---


Separating each phase of the app lifecycle into its own environment ensures that changes made in one phase do not affect the others. This allows developers to experiment with new features and make changes without the risk of impacting production data or processes. Also, by separating environments, you can apply different security policies, configurations and permissions to each one. This helps reduce the risk of changes to production data.