Skip to main content

Dynamics 365 Upgrades: Migration, Refactoring and Rewriting



by James Townsend

Microsoft, like other cloud software providers, ensures that you will be using the latest version of software such as Microsoft Office 365 and Dynamics 365.  Enhancements are continuously released and major upgrades take place more frequently than they did when most organizations ran their software on their own servers.

Many of InfoStrat's government clients are at last moving their Dynamics 365 (formerly Dynamics CRM) solutions to the Microsoft cloud.  Moving them offers many choices for customers about their approach.  Here are some alternatives:

Lift and shift. Some organizations want to move their workloads to the cloud and decommission their servers and on premises computing facilities.  The least ambitious approach is to move from on premises hardware or virtual servers to cloud servers.  If you are already running virtual servers, the move is less dramatic.  If not, this effort will allow you to re-architect your server infrastructure and consider cloud service such as SQL Server rather than a one to one mapping of physical to virtual servers. For Dynamics 365, the lift and shift approach would allow you to keep whatever version of Dynamics you are using, but you would forgo the benefits of the latest version and be responsible on your own for all upgrades and bug fixes.

Migration. The next approach would be to move from Dynamics 365 on premises to the cloud version on the Microsoft commercial or government cloud.  You would be required to upgrade to the latest version in order to make this move, but then future upgrades would be handled by Microsoft.  Depending on your current version, the minimalist approach would entail replacing any code that no longer works on the current version of Dynamics.

Refactoring.  The move to the cloud allows you to improve performance of your solution by refactoring any elements that are not performing up to your goals.  Refactoring means creating a new coding approach to fulfill the original requirements.  This means that you do not need to involve users in the efforts or create new requirements documents or user stories.

Rewriting. The most ambitious approach is to use the migration as an opportunity to rewrite a solution.  This may be beneficial if the solution has fallen out of synch with user requirements, and you have a long backlog of enhancements.  Rewriting will involve significant work from a full implementation team in order to nail down requirements, design, develop and test the solution.  In the long run this may be the best way to improve user satisfaction and get your solution both stable and fully adopted. 

Whichever approach you choose, you should be clear on the boundaries of the effort and how your cloud migration fits with your budget and schedule.  For instance, rewriting may take nearly as long as your original implementation, while refactoring may be much faster.




Popular posts from this blog

Key Concepts for Microsoft Dynamics 365: Tenant, Instance, App and Solution

Updated 8/15/2022 To understand Microsoft Dynamics 365 (formerly Dynamics CRM) and Power Apps, you need to learn some new terms and concepts that may be a bit different from what you know from databases and solutions that are hosted on premises.  These concepts also apply to Power Apps.  The main difference is that with Power Apps you are not starting with a Microsoft app but more of a blank canvas for your custom apps.  This post introduces some key terms and how these concepts are important for planning your implementation. While Dynamics 365 is still available on premises, it is most commonly deployed on the Microsoft cloud.  This blog post discusses only cloud implementations. Microsoft has multiple clouds such as commercial and government community clouds in several countries. We start with a Microsoft tenant .  A tenant is the account you create in the Microsoft Online Services environment (such as Office 365) when you sign up for a subscription. A tenant contains uni

Microsoft Dynamics 365 Solutions for Education

Student Portal by James Townsend For over three years, Microsoft has released solution accelerators based on Dynamics 365 for industries including healthcare, automotive, manufacturing, finance, nonprofits and education.  Each year we are seeing new solutions and updates to solutions based on Dynamics 365, Power Apps and the Common Data Model. In August 2021 Microsoft released the Higher Education component in the latest version of the  Dynamics 365 Education Accelerator v3.2.3.10 . Here are some highlights from the Higher Ed solution A student portal  An advisor dashboard  A business partner dashboard for events, hackathons, internships, scholarships, and grants. The Accomplishment extension tracking student work outside courses. The Grants phone app that allows research faculty to keep track of applications and approvals.  Rich reporting on students applying for internships, grants, and scholarships. System views for tables including students, faculty, extracurricular activities, pr

Understanding Dynamics 365 and Office 365 Admin Roles

Managing Dynamics 365 instances If you run Microsoft Dynamics 365 (formerly Dynamics CRM) in the Microsoft cloud, you need to understand how your Dynamics instances relate to Office 365 and choose which of your administrators receives which roles and permissions to manage Dynamics 365. In on premises deployments, your network administrator would create and delete user accounts.  The Dynamics 365 admin would then assign permissions to users in Dynamics 365. This post explains three administrator roles: Office 365 Global Administrator Dynamics 365 System Administrator Dynamics 365 Service Administrator You may think that the Dynamics 365 system administrator would have power to do all the actions needed to manage Dynamics 365, but this is not the case. What's different in Microsoft cloud deployments is that licenses and user accounts are managed in Office 365 by an Office 365 Global Administrator.  This role is analogous to a network administrator for an on premises