New Upgrade Choices: Aligning Your Strategy to Microsoft
Introduction David Kaupp Jon Long Senior Upgrade Advisor ArcherPoint Upgrades Director ArcherPoint Upgrades
Session Objectives What will you learn today? Fully understand the future roadmap of BC365/NAV using Events and Extensions. Fully understand how the new Microsoft architecture will help clients achieve upgrades with less cost and disruption. Decide on how you want to pursue your next upgrade and what options are available to you using the new architecture.
Where have we come from (NAV Architecture)? Old Classic NAV C/Side databases (instead of SQL) RTC conversion (from Classic NAV) 3 tier architecture Pages (from Forms) XMLports (from Dataports) RDLC Reports (from Classic Reports) Next big jump >>> Events / Extensions
Why Events / Extensions now? What has caused this next architecture leap? Upgrades, upgrades, upgrades What impact does this have on my upgrades? Cost Disruption (including less/no object merge & amount of retesting) Duration between upgrades Risk to mods between NAV versions Flexibility (customizability) vs Upgradability
What is an Event? Simply put, an Event is a custom object (i.e. codeunit) that replaces your ability to make a code mod in a base NAV object, by placing your mod in a separate custom object and subscribing back to a function in a base object. It takes your mods OUT of NAV base objects.
Why should I care about Events for Upgrades? The most costly aspect of upgrades is the object merging of mods in base objects forward from old NAV versions to newer NAV versions. If we reduce or eliminate the object merge step: We greatly reduce the risk of mods getting incorrectly merged or lost. We greatly increase the speed of the upgrade since object merging takes the most amount of time in an upgrade. We greatly reduce the major cost item of upgrades for object merging.
What happens after Events? All Evented code will transition from C/AL to AL. All transitioned / Evented code in AL will form Extensions (outside of NAV base objects). There will be no code merging of mods at that point, only compile issues to fix (minor time / cost). Assumes all ISV add-ons are also fully Evented and Extension based in the future.
What are Extensions and why should I care? Extensions are packages of Evented AL code that layer on top of BC365/NAV like layers of an onion. i.e. 50 Evented/custom objects might form a package or Extension. It sits on top of NAV like a downloadable app that also interacts with NAV, but does not have it s mods sitting inside of NAV. Extensions are easier to layer onto NAV without having to merge code into the base objects.
The future benefits of Events / Extensions NO MORE OBJECT MERGES!!! Costly upgrade task. You will be able to upgrade more often. It will require much less retesting and troubleshooting to upgrade. Can update ISV add-ons much easier to take advantage of improvements in their features.
What are my next steps to an upgrade? Need to upgrade at least to BC365 (or Nav2018). This will give the most access to Events and allow the client / VAR to change mods over to Events. If not fully using Events, this will allow client to morph over to that in the BC365 / 2018 versions. ISV add-ons need to be publishing their add-ons as fully Evented at least, and possibly as full Extensions.
What upgrade roadmaps exist? Once you are upgrading to at least BC365 or 2018, you can accomplish this 1 of 2 ways: You can merge mods forward as they are now to Latest version of NAV, and then perform an Eventing project after the upgrade as a phase 2 to Event and test those retooled mods as you move them out of base objects. You can incorporate into your next upgrade either full or partial eventing to move you down the road towards full eventing. You can use the object merge above to figure out what mods you want most moved into Events. Usually the manual merge conflicts is a good criteria to Event.
What are the exceptions to full Eventing? If an ISV add-on is not fully evented, then client mods inside/tied to add-on mods cannot be Evented. Put pressure on ISV s for fully Eventing and/or Extensions. If base NAV does not have a feature to support a mod, then you will have to come up with a different way of performing that mod. Retooling some mods may be required.
What options does this present? You may have a conversation with your VAR about some type of subscription service to get your costs maintained on a level basis for upgrade services. Upgrades as a subscription service would allow you to take advantage of the latest version(s) of NAV without having to go back to the well to get budget approval all of the time. Subscription upgrade = leveled out costs
Dynamics 365 Business Central Deployment Options Option 1: Business Central SaaS This deployment option involves deploying Business Central on Microsoft s Dynamics 365 Platform where Microsoft manages the entire backend infrastructure related to the deployment. Option 2: Business Central Azure This deployment option involves deploying Business Central in a partner or client managed Azure instance using Azure SQL. Option 3: Business Central Hosted This deployment option involves deploying Business Central in a third-party hosted environment. Option 4: Business Central on Premises This deployment option involves deploying Business Central on a physical server or in a virtualized environment that is managed and maintained by the client.
Dynamics 365 BC Deployment Options OnPrem Business Central
Upgrade to SaaS D365 Business Central Start from OnPrem D365 BC ( All Customs/ISV s Extensions )
Run Replication Now
Run Replication Now
Replication D365 BC SaaS In the Cloud D365 BC OnPrem
Replications Ramifications Replication requires that both the SaaS DB and OnPrem schema are the same Replication may take days, weeks or months GoLive can only happen when the Delta is able to replicate in hours or minutes. GoLive on OnPrem D365 is virtually inevitable
Everest Base Camp is essentially the bottom of the top of the world.
D365 BC SaaS In the Cloud D365 BC Base Camp OnPrem
D365 BC SaaS In the Cloud Event and De-Couple Code D365 BC Base Camp OnPrem
D365 BC SaaS In the Cloud Wait for ISV s to Release Extensions Event and De-Couple Code D365 BC Base Camp OnPrem
D365 BC SaaS In the Cloud Customizations to Extensions Wait for ISV s to Release Extensions Event and De-Couple Code D365 BC Base Camp OnPrem
D365 BC SaaS In the Cloud Replicate Customizations to Extensions Wait for ISV s to Release Extensions Event and De-Couple Code D365 BC Base Camp OnPrem
GoLive on SaaS #D365BC Replicate Customizations to Extensions Wait for ISV s to Release Extensions Event and De-Couple Code D365 BC Base Camp OnPrem
Upgrade to OnPrem D365Business Central OnPrem D365 BC is the base camp to the Summit OnPrem is where you can prepare for the ultimate leap to SaaS Event Extensions Abandon the desktop client(rtc) and start getting used to the Web Client Evaluate dependencies that are not compatible with SaaS, SSRS queries, Jet Reports, ISV s that are not on Extensions yet And Finally Replicate to SaaS
Q & A / Discussion David Kaupp Jon Long ArcherPoint Upgrades info@archerpoint.com
Suggested Resources www.archerpoint.com/services-upgrade-nav www.archerpoint.com/blog www.navug.com