In the ever-evolving landscape of business technology, the Power Platform has emerged as a powerhouse, empowering organizations to create custom solutions that streamline processes and drive innovation. Within the Power Platform, a crucial aspect that often perplexes users is the choice between managed and unmanaged solutions. This blog post aims to demystify these terms and shed light on the key differences between them.
Understanding The Basics
Before diving into the distinctions, let's establish a foundational understanding of what managed and unmanaged solutions are within the Power Platform.
A managed solution is a packaged application that is designed to be distributed and installed in different environments. It encapsulates all the components of your solution, such as entities, workflows, and dashboards, into a single, deployable package. Once a solution is managed, it becomes a sealed container, protecting its components from modifications in the target environment.
Conversely, an unmanaged solution is more flexible and open. It allows developers and administrators to make changes to individual components directly in the target environment. Unlike managed solutions, changes to unmanaged solutions are immediately reflected in the environment where they are being developed.
Flexibility vs. Protection
- Unmanaged solutions provide a high level of flexibility during development. Developers can make real-time changes to components and see the immediate impact, facilitating a dynamic and iterative development process.
- On the other hand, managed solutions offer protection against unintentional modifications. Once sealed, the components are shielded from accidental changes in the target environment, ensuring a stable and controlled deployment.
Deployment and Distribution
- Changes made in an unmanaged solution are deployed instantly and are visible in the target environment without the need for additional steps. However, this can pose challenges when distributing the solution to different environments, as it may lead to inconsistencies.
- Managed solutions are packaged and exported for distribution. This ensures that the same set of components is deployed across various environments, promoting consistency and reliability.
Versioning and Rollback
- Version control is challenging with unmanaged solutions, as changes are applied immediately. Rollback to a previous state can be complex and may involve manual intervention.
- Managed solutions inherently support versioning, making it easier to track changes and roll back to a previous version if needed. This is especially valuable in large-scale deployments.
When To Use Managed Or Unmanaged?
Controlled Deployment Across Environments
When deploying solutions across multiple environments, such as from a development to a test or production environment. Managed solutions ensure consistency by packaging all components together. This is critical in maintaining a uniform solution across different instances.
Protection Against Unintended Changes
In environments where stability and protection against unintentional modifications are top priorities. Once sealed, managed solutions protect components from accidental changes, providing a safeguard against disruptions during deployment.
Version Control and Auditing
In situations where version control and a clear development history are crucial. Managed solutions inherently support versioning, making it easier to track changes and roll back to a previous version if needed. This is especially important in large-scale and enterprise-level deployments.
Rapid Development and Iteration
During the initial stages of development when quick changes and rapid iterations are essential. Unmanaged solutions allow for immediate visibility and application of changes, providing agility in the development process.
Single Environment Development
When the solution is primarily developed and tested in a single environment. Unmanaged solutions are suitable when changes are made directly in the environment where the development is taking place, without the need for packaging and distribution.
In scenarios where real-time collaboration among developers and administrators is a priority. Unmanaged solutions facilitate collaborative development by enabling multiple team members to make simultaneous changes without the need for packaging and importing/exporting.
Combining the Best of Both Worlds
When there is a need for a hybrid approach, leveraging the benefits of both managed and unmanaged solutions. Some organizations adopt a hybrid strategy, using unmanaged solutions during development and switching to managed solutions for deployment. This allows for flexibility during development and ensures a controlled, consistent deployment process.
Migrating from Unmanaged to Managed
When transitioning from development to a more structured deployment phase. Start with unmanaged solutions for agility during development, and as the solution matures, transition to managed solutions for controlled deployment and versioning.
Setting Up Solutions
In both scenarios, you must login to the Power Platform and choose the environment where you want to create or work with your solution. We recommend that you use the Power Apps Portal to do this.
Create a New Unmanaged Solution
- In the left navigation pane, go to Solutions.
- Click on New Solution and provide a meaningful name for your solution.
- Add required components such as apps, flow automations, components, security roles & chatbots to your solution.
- Save your changes and publish the solution to make it available in the environment.
Make Changes in the Unmanaged Solution
- Directly make changes to the components within the solution. For example, add new fields or update existing workflows.
- Changes are immediately visible within the environment, allowing for real-time development and collaboration.
- Save your changes, and if needed, publish the solution to reflect the modifications in the environment.
Export Unmanaged Solution as Managed
- In the left navigation pane, go to Solutions.
- Choose the unmanaged solution you want to export as managed.
- Click on Export and choose the managed option during the export process.
- Save the exported solution package (.zip file) and distribute it to other environments or organizations as needed.
Import Managed Solution in the Target Environment
- Access the Solutions area in the target environment where you want to deploy the managed solution.
- Click on Import and select the managed solution package (.zip file) you exported earlier.
- Follow the prompts to map components and configure import options.
- Once the import process is complete, publish the solution to make it available in the target environment.
In the dynamic realm of the Power Platform, the choice between managed and unmanaged solutions boils down to the specific needs and goals of your organization. Whether you prioritize real-time flexibility or a controlled deployment process, understanding the nuances of these solutions is key to harnessing the full potential of the Power Platform for your business. So, choose wisely, and let the Power Platform propel your organization to new heights of efficiency and innovation.