Customer Engagement & Dynamics CRM Forum

 View Only
Expand all | Collapse all

Managed vs Unmanaged solutions

  • 1.  Managed vs Unmanaged solutions

    D365UG/CRMUG ALL STAR
    Posted Apr 10, 2019 07:39 PM

    I have been reading some older posts about this but I wanted to ask for current opinions.  We have two environments and I do some customization and our partner does some development. I currently create my own solutions in sandbox and we move them from sandbox to production. We are discussing the use of managed solutions. What do you think? Is more information needed to make a recommendation?  thank you for your help!

    Laura



    ------------------------------
    Laura Mortick
    Marketing Information Systems Manager
    Terracon
    Olathe KS
    ------------------------------


  • 2.  RE: Managed vs Unmanaged solutions

    D365UG/CRMUG ALL STAR
    Posted Apr 10, 2019 10:06 PM
    HI @Laura Mortick


    As a customer for me, its unmanaged, have been doing it that way for the last 8 years. For ISV and partners who build solutions as their product, Managed works.  I just find unmanaged there less risk to get yourself into trouble.

    One of my key reasons is that we often refresh our Sandbox environments from production using minimal copies, so using an unmanaged solution reduces the risk of putting a managed solution into your sandbox thus blocking future customization.

    There are pro's and cons for each, but, I haven't seen a convincing reason yet for me to move away from unmanaged. I think it will come down to the ALM practices and process you follow at your organization.

    Cheers
    Todd




    ------------------------------
    Todd Mercer
    Dynamics CRM Technical Lead
    MD Financial Management
    Ottawa ON
    ------------------------------



  • 3.  RE: Managed vs Unmanaged solutions

    TOP CONTRIBUTOR
    Posted Apr 11, 2019 01:26 AM
    Edited by Niels Søgaard Lønberg Apr 11, 2019 01:26 AM
    @Laura Mortick,

    I recommend listening to @Gus Gonzalez's CRM MVP Podcast on Managed vs Unmanaged. He's joined by @Seth Bacon, @Neil Benson, @Nick Doelman and @Aiden Kaskela to discuss pros and cons with managed and unmanaged solutions.

    @Jonas Rapp has also given his take on the topic (here and here) and there's probably lot's of other blog posts out there on the topic.

    We're using managed as well for the same reasons as @Todd Mercer.

    ------------------------------
    BR,
    Niels
    ------------------------------



  • 4.  RE: Managed vs Unmanaged solutions

    MICROSOFT MVP
    Posted Apr 11, 2019 02:09 AM
    I too recommend listening to the podcast, it presents a lot of points to consider.

    However, I don't think anyone will deny that Microsoft's position is that we should use managed solutions. I expect we will see gradual steps from Microsoft that will prod (no pun intended) us all in that direction.

    At the moment, I use unmanaged solutions to move changes from dev to production. But one thing unmanaged solutions can't do is remove components.

    For example, you have a custom field in production that an unmanaged solution added and later you decide you no longer need the custom field. To removethe field you would have to manually remove the custom field from production.

    Whereas with managed solutions the field can be removed via solution updates and not manually removing the field. A small point but possibly important one for purists who advocate never editing anything directly in a production system.

    ------------------------------
    Feridun Kadir
    Principal Consultant, MVP
    Expert CRM Services Ltd
    Stansted
    ------------------------------



  • 5.  RE: Managed vs Unmanaged solutions

    TOP CONTRIBUTOR
    Posted Apr 11, 2019 03:31 AM
    Edited by Donal McCarthy Apr 11, 2019 03:32 AM
    We started out with Managed but switched to Unmanaged.
    Managed solutions for internal development require a level of discipline which we were unable to achieve.
    Also - we never even came close to having to use their main feature - being able to pull back solution imports.

    Unless you have a very complex environment, with lots of different users, needs, and system customizers, I would say stick with unmanaged for internal development every time.



    ------------------------------
    Donal McCarthy
    BrightWork
    Galway
    ------------------------------



  • 6.  RE: Managed vs Unmanaged solutions

    Posted Apr 11, 2019 04:24 AM
    We have used Managed in production and Unmanaged within Sandbox Environments and in some client sites they have made use of Unmanaged in all environments.

    Where Managed solutions have been used, there is more control in place and does enforce a discipline and governance.

    Generally speaking Partners tend to use unmanaged within sandbox instances if they are engaged with you on site and then move managed to production and in some cases other instances from dev. This is to ensure there is no tinkering of the solution in diff environments relating in different versions from the original source, where the solution was first created etc.

    I would personally start with unmanaged within DEV and then have a separate source control repository to track the different versions of the solutions and use managed solution within production and other instances leading up to production. However it does all come down not so much to the technical elements, but the process of managing the solutions/ size of the teams/ collaboration between teams and governance/ repository to manage your versions.




    ------------------------------
    Abdul Majid
    Westwood Software Limited
    ------------------------------



  • 7.  RE: Managed vs Unmanaged solutions

    Posted Apr 11, 2019 05:41 AM
    Edited by Ben Bartle Apr 11, 2019 05:42 AM
    I can't believe we're still having this debate in 2019 :)

    The only place you should have unmanaged solutions is in a Development environment. End of. If you have unmanaged in anywhere else you need to take stock, think and ask yourself why.

    Unmanaged solutions in even in test environments is analogous to a bad code smell, and you should think if the reasons you need for doing this could've been overcome with a different design. This is Microsoft's definite direction and we should all be aligning.

    You should be testing exactly how it is/will be in production, and this means managed solutions, otherwise you're just introducing another variable, which in turn is just another risk.

    Feel free to lynch me now ;)

    ------------------------------
    Ben Bartle
    IBM
    ------------------------------



  • 8.  RE: Managed vs Unmanaged solutions

    Posted Apr 11, 2019 07:24 AM

    Laura

    The better question to ask is, is the solution for internal purposes or external customers? If it's the first then go for unmanaged. If later go for managed.

    Your code should be checked in to a code vault anyway, so the managed solution container doesn't really matter. What is really the benefit of locking yourself into a corner with a managed solution? It's a different story when the solution goes to a customer's system.

    Ben

    How about the octagon? LOLZ!

    On a more serious note, why would a "locking mechanism (or lack there of)" be a sign of a code smell? Shouldn't that be handled with tests and code reviews? There is nothing in a managed solution that would prevent bad code. And on the DevOps side, managed solutions just makes it more difficult to automatically promote solutions across environments.

    Cheers!



    ------------------------------
    Rex Kenley Tan, MCP
    Tallmadge OH
    https://www.youracclaim.com/users/rex-kenley-tan

    *Always be CURRENT with JavaScript & C#, NEVER be obsolete.

    DISCLAIMER: All views expressed on this site are my own and DO NOT represent the opinions of ANY entity whatsoever with which I have been, am now, or will be affiliated.
    ------------------------------



  • 9.  RE: Managed vs Unmanaged solutions

    Posted Apr 11, 2019 07:52 AM
    Maybe the use of the term 'code smell' was a bad one on my part. I meant it was analogous to a code smell, rather than it's specifically being one. Managed vs Unmanaged, as you say, says nothing about what is inside the solutions, which is where the bad code would be.

    What I meant is that when if you're running unmanaged in test, and managed in production, that means that what you're testing isn't the same as what you're pushing into production, which feels like a bad 'smell', if you get what I mean.

    There is a phrase in the aerospace industry, which is 'test it like you'll fly it'. It applies here too.

    Maybe this debate will never go away :D

    ------------------------------
    Ben Bartle
    IBM
    ------------------------------



  • 10.  RE: Managed vs Unmanaged solutions

    D365UG/CRMUG ALL STAR
    Posted Apr 11, 2019 08:09 AM
    Thanks everyone! We are not a partner, so we use our code internally only.  After I posted this question, I did listen to Gus Gonzalez's podcast last night! It seemed pretty universal that all five MVP's agreed that unmanaged was the way to go (in my situation). I was trying to keep an open mind and do some research because our partner is suggesting that we move to managed solutions. I wanted to fairly evaluate both sides before forming my opinion. I have used unmanaged for the past eight years so of course I was leaning that way, but wanted to do the research.

    Thanks so much for all of your input - I truly appreciate it!

    Laura

    ------------------------------
    Laura Mortick
    Marketing Information Systems Manager
    Terracon
    Olathe KS
    ------------------------------



  • 11.  RE: Managed vs Unmanaged solutions

    MICROSOFT MVP
    Posted Apr 11, 2019 10:37 AM
    After doing a little more research on the topic and meetings with Microsoft, the key point that has come back multiple times is having an ALM strategy and using source control to help. In theory, all of the configurations of the system live outside of the system itself and are stored in Azure DevOps (formally TFS) or another source control system. This would allow you to create a dev instance with unmanaged solutions whenever it is required.

    That said, I haven't come across very many companies that have a strong ALM strategy and are leveraging source control.

    Here is a quick breakdown it if helps. Not looking to add fuel to either side of this fire but add value and potentially change what the focus of the discussion is about.


    As was mentioned, Microsoft is working towards having all configurations use a managed solution container in production. I would encourage everyone to evaluate their ALM strategy and work little by little to grow the maturity of their process.

    ------------------------------
    Seth T. Bacon
    RSM
    Seattle, WA
    ------------------------------



  • 12.  RE: Managed vs Unmanaged solutions