In the Microsoft Power Platform, solutions are the “power suits” for your apps, workflows, entities, and other components, packaging them up like a finely tailored wardrobe. But not all power suits are made equal. In Power Platform, we have two main flavors of solutions: managed and unmanaged. Each has its own style and purpose, depending on where you are in development and deployment. Choosing the right one can make or break your project (and your patience), so let’s dig into the good, the bad, and the “let’s never do that again” of managed and unmanaged solutions.
1. Unmanaged Solutions: The “Free Spirit”
Overview
Unmanaged solutions are like wearing casual clothes on a Friday—you’re free to make changes, experiment, and even make a bit of a mess if you need to. These solutions are all about development flexibility, giving you full control to make changes, try new things, and even undo mistakes without too much hassle.
Key Characteristics
- Complete Control: You can add, tweak, or delete components to your heart’s content.
- Direct Impact: Changes in unmanaged solutions make themselves right at home in the environment’s default solution (the base system).
- Not Ready for the Big Show: These solutions are not meant to be handed off to other environments or clients.
Pros
- Freedom to Innovate: Ideal for development and experimentation.
- Editable Components: Nothing’s locked down, so you can modify every piece.
- Perfect for Development Environments: This is your playground, so go ahead and build castles.
Cons
- Risk of Chaos: Tracking customizations in production can be like herding cats.
- Accidental Deletion Risk: With nothing locked down, there’s always the risk of an “oops” moment that could take down components.
Example Use Case
Imagine you’re building a custom app to track employee performance, and you’re still in the “throw spaghetti at the wall and see what sticks” stage. Using an unmanaged solution lets you make and remake entities, forms, and flows as often as you need—no need to lock things down yet!
2. Managed Solutions: The “Buttoned-Up Professional”
Overview
Managed solutions are for when you’re ready to go live—like putting on a crisp suit for a big presentation. Once deployed, managed solutions keep everything locked in place, ensuring that no one accidentally (or creatively) messes with your work in production. Perfect for distributing across environments or sharing with other teams or clients, these solutions are the polished final product.
Key Characteristics
- Component Lockdown: Once deployed, changes can only be made by importing an updated version.
- Isolated from Default Solution: Easily removed without leaving stray pieces all over the place.
- Built for Sharing: Can be packaged and sent to other environments, like a gift that keeps on giving.
Pros
- Secure in Production: Components are safe from unauthorized tinkering.
- Clean Uninstallation: Perfect for when you want a clean slate later.
- Consistent Distribution: Provides a dependable setup across environments.
Cons
- No Direct Edits: Changes require an update package, so say goodbye to spontaneous tweaks.
- Limited Flexibility: Every adjustment means creating and deploying a new solution version.
Example Use Case
Once your employee performance app is polished and ready to go, you package it as a managed solution and send it to production. Users get the finished product without being able to mess with the core setup, ensuring everything stays just as you intended. Updates? Just create a new managed version when needed.
Comparison Summary
Feature | Unmanaged Solutions | Managed Solutions |
---|---|---|
Editing Components | Fully editable, flexible for development | Locked down post-deployment, perfect for production |
Customization Flexibility | High; freedom to make changes | Limited; updates need version management |
Impact on Base Solution | Directly affects the default solution | Isolated for easy removal |
Distribution and Reusability | Not ideal for distribution | Built for sharing and reuse |
Versioning and Upgrades | No automatic version control | Supports structured upgrades and versioning |
Protection Against Changes | High risk of accidental changes | Locked components prevent unauthorized alterations |
Deletion and Cleanup | Leaves components behind | Cleanly removed with no lingering effects |
In-Depth Comparison
1. Editing Components
- Unmanaged Solutions: Components are fully editable, giving you the flexibility to experiment. Great for that development phase where ideas are still brewing.
- Managed Solutions: Components are locked after deployment, making sure everything stays in tip-top shape in production.
2. Customization Flexibility
- Unmanaged Solutions: Allow free modifications—ideal for “let’s just try it and see what happens” mode.
- Managed Solutions: Controlled updates ensure no surprises for users, great for stable environments.
3. Impact on Base Solution
- Unmanaged Solutions: Any changes make themselves cozy in the default solution, becoming part of the furniture.
- Managed Solutions: Keeps to itself, making sure the default solution remains untouched.
4. Reusability
- Unmanaged Solutions: Best for development-only environments; not something you’d want to pass around.
- Managed Solutions: Packaged to share, making it the perfect traveling companion across environments.
5. Versioning and Upgrades
- Unmanaged Solutions: Change-tracking can get tricky—grab a sticky note.
- Managed Solutions: Built-in versioning gives a structured way to deploy updates without chaos.
6. Protection Against Changes
- Unmanaged Solutions: Risky in production—handle with care.
- Managed Solutions: Lockdown ensures stability and peace of mind.
7. Deletion and Cleanup
- Unmanaged Solutions: Leaves components even after deletion, like leftovers in the fridge.
- Managed Solutions: Removes cleanly, no crumbs left behind.
Real-World Scenario: Sales Management System
Development
You’re developing a Sales Management System with custom entities for leads, opportunities, and accounts, and you’re still in “figuring it all out” mode. An unmanaged solution lets you keep it flexible, make updates as you go, and adjust freely.
Production
When it’s time to go live, you package the system as a managed solution. This locks down all the parts so they stay put in production. If you ever need to update, you can create a new version and deploy it without interrupting the stability of the live system.
When to Use Unmanaged vs. Managed Solutions
- Use Unmanaged Solutions: During the creative, development, and testing phases, where freedom is key, and you’re iterating frequently.
- Use Managed Solutions: For production deployment or when distributing to other users, ensuring a stable, tamper-proof environment with easy version control.
Summary
In the Power Platform, managed and unmanaged solutions each have their moment in the sun. Unmanaged solutions are like a sandbox, giving you the space to build, test, and occasionally demolish as you bring ideas to life. Managed solutions are your suit-and-tie solution, ready for the professional spotlight and ensuring that your work stays polished, protected, and upgradeable. By knowing the strengths and quirks of each, you can make the best choice for every stage of your project and keep your Power Platform experience smooth, controlled, and—yes—still a bit fun.
Very good post! We are linking to this great content on our site.
Keep up the great writing.