Solutions
Solutions are a part of the ALM for the Power Platform. Use solutions in order to gather different parts such as entities, apps, flows etc. and move those artifacts between environments.
Solution Concepts
Using Solutions you can start with your app development in a Development environment, then move to a Test and eventually to Production. Also see Environment Strategy.
It's best practice to have ONE unmanaged solution per environment and include all your components in that solution in order to avoid dependencies issues during deployment. There might be circumstances where you will want to have more than one and an example of that is if you use solution components for which the ALM process still is not fully covered. That might mean that it requires some manual steps in the target environment after a deploy and in order to avoid deploying those componentes more than necessary you might want to have such solution components in an own solution.
Known limitations
Sometimes the ALM process for new features that are introduced to the platform are a bit behind the feature. So you might need to do some work-arounds for your ALM story. Read about known limitations when using canvas apps, cloud flows and custom connectors in Solutions here.
Two types of Solutions
Solutions can be devided into Managed solutions and Unmanaged solutions.
Solutions is a concept which comes from the Microsoft Dynamics CRM platform. Over the years there have been different opinions in the community whether to use managed solutions or not. According to Microsoft unmanaged solutions are intended for development environments only and managed solutions are intended for all other environments such as test and production.
Managed Solutions
A Managed Solution can be uninstalled (deleted). If you delete a Managed Solution also the data within the Tables from the solution will be deleted.
Unmanaged Solutions
An Unmanaged Solution CANNOT be uninstalled. It is simply a container with components. If you delete an Unmanaged Solution, it will no longer be shown under Solutions, however all components will still be in the environment.
Upgrade, Update and Patch
The first time you import a solution the solution will be created in the target environment. The next time you can choose between doing an Upgrade or Update, the difference is that with an Upgrade you will remove all components in the target environment which is not longer in the source environment but was in the Managed Solution before.
If you want to create a "hotfix" you can create a patch. See page How to work with Solution Patches.
Microsoft Resources
- Solutions Concepts Solutions in Microsoft Docs