Jukka Niiranen’s Post

View profile for Jukka Niiranen

The Original Power Platform Advisor. 11x Microsoft MVP. Low-code 4 life.

Managed solutions should NOT be the default option in #PowerApps solution export UI. Yet Microsoft has decided to make them such. I believe this small change is going to cause a lot more harm than good in the end. Because unless you really, REALLY know what you are doing, selecting "unmanaged" is the right option every single time. It's perfectly OK to use managed solutions when you have an experienced team of #PowerPlatform developers working on delivering a big enterprise application. Investing in setting up all the prerequisites for a healthy pro-code #ALM story may well be justified. It will initially cost you money & time, but down the (pipe)line it can save you money & time. In my honest opinion, it is not safe for any citizen developers to choose to deploy their solutions as managed. If there isn't someone working with you that's comfortable with CI/CD concepts and is willing to setup the automation for it, the risks are just too high. We hear stories about customers losing their unmanaged solution source code all the time via accidentally overwriting it with a managed solution, losing access to the source, whatever reasons. It happens in the real world and it will usuall cost you a lot to un**** the environment. These issues will never happen if you work with unmanaged solutions. You won't lose the ability to perform the changes needed into your business applications. Unmanaged is the safe bet for everyone, and that's why it should be the default. It used to be the default for ~10 years. You can see in the image below what the old Solution Explorer UI used to say about unmanaged vs. managed. It made perfect sense, because if you are working via the UI, then managaed solutions are not the right option for you. Those pro-devs who know what they are doing, they will NEVER use this UI in Maker portal. They'll export the solutions via API/CLI through the automated tools they've configured for the ALM process. They can reap the benefits of managed solution layers, as well as avoid (most of) the pitfalls. This feature is designed for them. Managed solutions won't be safe for no/low-code developers until Microsoft builds the pipelines and GitHub integration into the product itself. In the fullness of time we'll get there. In the meantime, this default option in the solution export UI needs to be changed almost every time.

  • No alternative text description for this image
Robert Rybaric

Microsoft Power Platform & Dynamics 365 | Architect | Trainer | Author | ex MSFT

1y

Jukka Niiranen usually I agree with you, but in this case not. As others are writing, we have 2022 and the community had enough time to learn the lessons. Unmanaged solutions are a mess, when used for deployment into production. I can tell you stories about that. No and no - managed solutions are here for purpose and they should be used as required. If someone is so lazy not to learn how to use it, then there is no help.

Ben Hosking

Dynamics/Power Platform Solution Architect at Kainos

1y

managed solutions are good for non development environments because its stops anyone changing the customisations. Most development doesn't allow people to change software beyond development because otherwise they will. You should also put you unmanaged solutions and code into source control because you dev environment could easily get deleted Citizen developers are junior developers and they should follow good practices or they will end up in a mess

Pieter Veenstra

Microsoft MVP and Head of Power Platform at Vantage 365

1y

A lot depends on the content of the solution. If you have an app that uses non Dataverse datasources only, I could agree with this. I would potentially even not bother with solutions at all then. When there are Dataverse tables included then when working in development environment unmanaged is fine too. When you setup multiple environments ( do citizen developers bother with environments or do they jist update their production app directly?) then I would always go Managed for non development environments. Managed solutions protect users from doing the wrong thing. But they can be a bit like data encryption/protection, if you lose the password you might get into trouble.

Rebekka Aalbers-de Jong

Technology Consultant @ Macaw | Microsoft Power Platform | Microsoft Bizz Apps MVP

1y

I would argue the default export setting is not the main problem. There is a reason why developers came up with the concept of not making changes on an acceptance/production environment. The problem I see is that it is difficult to learn and even more difficult to predict behavior regarding managed solutions, dependencies etc. My dream would be to have a low/no code platform where developer best practices are integrated in such a way citizen devs do not have to worry about anything, or get enough information upfront what the impact of their actions will be.

Khoa Nguyen

Microsoft MVP | Dynamics 365 & Power Platform Enthusiast | Power Apps Portal Maker

1y

Thanks for sharing. I think it’s a valid argument to prefer unmanaged. I used to prefer unmanaged solution as it made everyone’s lives easier. However, it is proven to me that it’s only valid when we’re working on a solution without any other solutions from other teams or other vendors/ISVs in the environment and it’s not usually the case. Because if your Prod environment also have other solutions on top or beneath your solution, using unmanaged may cause a lot of issues and it’ll be difficult to fix/undo changes from your unmanaged layer. So in my opinion, we should use unmanaged when we know what we are doing, not the other way around. And managed is the default option is ok to me, but I find the auto incremented version is a bit frustrating.

Chris V.

Managing Director | Principal Consultant - Dynamics 365 & Power Platform Specialist | 0416 672 496

1y

Oh god. Totally agree with what you’re saying Jukka Niiranen. Managed Solutions make sense if you are a ISV selling a solution to a customer, but for standard customisations and moving between environments for a customer - a nightmare waiting to happen.

Stuart Baxter

Business Applications MVP | Co-Founder Scottish Power Platform User Group | Power Platform Community Super User | Blogger

1y

The debate about managed v unmanaged is a difficult one Like you say, if you know what you are doing, or a building on behalf of a customer, managed is absolutely the way to go For deploying to production, managed is the way to go If you are not aware of the impacts of using managed solutions, you could get into trouble

Remy van Duijkeren

Microsoft Power Platform Advisor | Scaling Businesses with Automation 💪 | Empowering Organizations to Do More with Less ⚡

1y

So true. Every time I'm advocating unmanaged is the better option for some customers, people are fighting it because MS says it should be managed.

Time to get Microsoft at the 🎤?

Like
Reply
Andre Margono

Application Architect at Bupa | Microsoft Business Applications MVP

1y

oh the good old managed solution nightmare discussion resurfaced :D

See more comments

To view or add a comment, sign in

Explore topics