Dynamics 365 – You cannot stop Dynamics 365 updating but you can be prepared

If there is no struggle, there is no progress. Frederick Douglass

Dynamics 365 will always surprise you #HoskCodeWisdom

Microsoft Dynamics 365 is evolving. Patches, revisions get added without knowledge or consent of users, major changes must be scheduled and customisations tested.  Most patches fix bugs and improves Dynamics 365 but sometimes changing code causes bugs and problems.

Microsoft Dynamics versions

Version numbering for Dynamics 365 is like Dynamics solutions versions

Major.Minor.Build.Revision 

The current release is of Dynamics 365 8.2.1.341

Read more New naming conventions for Microsoft Dynamics CRM updates

Major releases and numbers

Dynamics 365 as a service

Microsoft Dynamics 365 is a service,  developers cannot access any servers (Front end, back end or SQL server).

Microsoft installs, configures and maintains the servers for our Online Dynamics 365 instance, charging you for this work in your monthly licence cost.

Developers have less control and flexibility.  We cannot scale up servers, SQL databases or performance.  We can’t change database or server settings, we don’t have access and need to work with what is there.

The lack of scaling, configure servers and limitations of Dynamics 365 online developers need to to move heavy processing out of Dynamics 365 and into Azure (avoids performance being throttled) and to enable long running processes.

Plugins and custom workflows in Dynamics 365 online run in sandbox mode which has many limitations, one of the fundamental limitations is plugins/custom workflows must finish within 2 minutes (yes even async workflows run in the sandbox) – Understanding Plugin sandbox mode.

This post covers best practices of Dynamics 365 online architecture

What are the limitations of Microsoft Dynamics CRM Online and how do you work with them?

Upgrades and updates

Microsoft Dynamics 365 delivers a major release every 2 years (the first number, current version 8) and a minor release every is 6 months.  Microsoft Dynamics 365 has added functionality which allows you to delay updates but you must update once a year (you cannot delay) or before a major release.

You need to manage and plan for updates

Manage Microsoft Dynamics 365 (online) updates

There is pressure to keep up with the releases and not waste time testing the new releases because they cannot avoid taking them.

For the Major and minor releases, admins decided when to apply the update and test the update on sandbox instances.

For build and revision releases Microsoft can apply these any time and regularly applies small patches to fix minor bugs.   Microsoft promises not change anything significant in patch updates.

Patch releases are not always minor

At Extreme 2017 heard a story where Microsoft depreciated a security protocol but hadn’t removed it from the code yet.  Developers were told not to use it, Microsoft being busy didn’t get round to removing it until a few months later and then did so in a patch release.

When the release went live Microsoft noticed a massive drop in Dynamics 365 usage in Australia, lots of code using not supported security protocol stopped working.  Microsoft  naughty making major changes in a patch release rolled this back within in a couple of hours.

A CRM 2011 upgrade which after installed, changed their database and their Dynamics CRM didn’t work.   This lead me to writing the post

Should you keep up with Microsoft Dynamics CRM release cycle?

Microsoft moved to parallel JavaScript loading, which broke everyone’s form load script with the infamous CRM 2011 rollup 12.  I wrote about it in the post

CRM 2015 SP1 – Turbo forms use asynchronous JavaScript web resource loading

Scott Durow saved many a CRM developer with his post Asynchronous loading of JavaScript Web Resources after U12/POLARIS

I recommend you follow Scott’s blog and use the awesome Ribbon Workbench.

When patches attack

Microsoft applied a small/patch release and broke our DevOp‘s automatic deployments.

Over a weekend Microsoft updated our  instances from version 8.2.1.289 to version 8.2.1.341 over weekend.  We noticed because a trial instance was  8.2.1.341, our instances were 8.2.1.289.

This caused problems, the extract customisations script stopped working because the new version of Dynamics 365 needs new versions of client assemblies (8.2.0.556 to 8.2.0.749).

It’s obvious when you know the cause but it we came in to automatic deployments not working and a generic error.  It took a few hours of investigation to find the solution.

Better way

A minor release shouldn’t need an update of client assemblies to interact with Dynamics 365.  If Microsoft wants Dynamics 365 to deliver Enterprise projects, they need to improve the communication and effect of updates.  If they alerted about updated assemblies we could have avoided wasting time diagnosing the problems.

When working with Dynamics 365 online and other online services you have to be ready to diagnose problems, deal with upgrades and potential problems.

Change will happen whether you are ready for it or not #HoskWisdom

Advertisements

One thought on “Dynamics 365 – You cannot stop Dynamics 365 updating but you can be prepared

  1. Adrian August 10, 2017 / 5:40 am

    A big problem I have is Microsoft’s releases page for Dynamics 365 is often not up to date with the release notes for the latest release.

    As of now we have no clue what is included in 8.2.1.341

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s