The BCUG/NAVUG Podcast is your easy opportunity to stay current with news and insights on Dynamics 365 Business Central / Dynamics NAV. Each month the User Group interviews community leaders to hear about the latest product and technology developments and discuss their perspectives and insights regarding how these tools are being applied.
In the May 2019 episode, we heard from Microsoft MVPs James Crowter and Erik Hougaard on their thoughts regarding Microsoft’s progress with the new platform, how existing NAV customers can prepare for the future, and a range of other insights on the ever-changing technology landscape.
It’s an informative, engaging discussion- and we’ve transcribed it for you in 3 parts. Here’s Part 2: Enjoy!
BCUG/NAVUG General Manager
James Crowter, MVP
Erik Hougaard, MVP
E Foqus Danmark A/S
STOP! If you haven't read Part 1 already, click here.
The (potential) issue with Add-ons.
MARK RHODES: I'm going to come back and ask you, after I ask this next question, what's the impact for all of those NAV on premise customers out there? How do some of these things affect them? But let me ask a different question first. This came in from one of our members along these same lines, just kind of working through the growing pains a little bit. Really the issue is around when you have add-ons. And those add-ons adding new tables and complexity of dealing with indexes, then, across the tables. Is that a real issue? What's going on there?
ERIK HOUGAARD: At some point it will become a real issue. If you add in apps that add new fields to the heavy-duty tables like the entry tables or value entry, all those tables, if you keep adding to that, you'll have a severe impact, because having six ‑‑
MARK RHODES: One would think.
ERIK HOUGAARD: The table, that would need to be joined together as ‑‑ it's not a pleasant one.
MARK RHODES: Yeah.
ERIK HOUGAARD: I don't think Microsoft has a solution to that. The other aspect of your question was how about combined indexes where you actually have an index that's multiple fields across different extensions?
There are several suggestions on how to solve that. It can be solved. It's not complicated, but it can be solved. And they will solve that. It's mainly about dragging extra fields into those extra tables. So replicating certain field values across the tables to make sure that you have the index available.
And I know they're working on that one.
JAMES CROWTER: I think the introduction of the unique key that we saw in April ‑‑ or was it October? I've got a suspicion you might see a lot more tables designed with an ID, which is just a GUID. And then actually you might use the unique key to prevent, to structure that. So I think you're right, there are multiple ways around that particular ‑‑ in terms of multiple extensions, we have not ‑‑ and I've now managed implementations where they've got 30, 40 extensions because we tend to do every change request as an individual extension and deploy those in. So certainly you look at something like the item table, you might have six, seven, eight, they have ‑‑ they've done some work about whether the extension tables are actually pulled in depend on the query whether that field is actually needed, part of it.
They're being intelligent about when those tables are pulled, which seems really sensible, correct? Makes sense. And we've not, in some fairly large implementations now where you're talking hundreds of thousands if not millions of entries, performance ‑‑ the work they've done on performance with the engine, overall performance to tune it, has actually been far more beneficial than the downside of having multiple extensions. Actually, I think performance of the overall system has got faster. Per se.
ERIK HOUGAARD: One of the most impressive pieces of the service tier is actually its caching ability. The cache is just amazing. We have a product that was running on classic. Actually this bit was running on the NAS as a single instant code unit, as a temporary table. We have this whole mechanism for a cache built running in NAS. It was very snappy and perfect.
And then moving to the newer versions, how can I solve this? I did the nerdy thing and so, okay, I need to implement a cache, a static cache running with tools and some .NET craziness. I created a static cache inside the service tier that was available across sessions where I stored a lot of data and that cache was good. It was lightning fast. And I implemented this piece of code and ran a benchmark, oh, it was not bad. It was on par with my old thing and the classic NAS. I was happy.
Let me just try to run it without this thing. I ran it. And it was freakin' faster. All that code became something of a ‑‑ they would put this over here as a for all to see and don't do that kind of piece of code because the cache is really impressive. And that cache works on the abstraction level of the data. I don't think that joint is that painful on cache.
JAMES CROWTER: Yes, I've shared it about the theory of doing it, but I've not actually seen it in practice. And as I say the platform ‑‑ now Microsoft has to spend dollars running their own platform. They are very interested in how expensive those queries. And so really the telemetry is giving them real world feedback about what's costing them money. And I've had several emails and phone calls around saying what's this particular tenant doing because we've noticed that. And then they come back a few weeks later saying, okay, this is our time to mitigate this. I think we are in a better performance space than we've ever been. And that goes back to the native database. I think we've talked about that. SQL Azure has got some place, when you platform on that, I really like the capability and the performance we can get out of that app.
Impact on on-premise customers.
MARK RHODES: Let me bring this back then for the majority of our listeners. The majority of the world is running on‑premise NAV. And we did a member research project with our community. I think it was ayear and a half ago. They're running add-ons from at least three different ISVs on average, right? And no telling how many ISVs actually or how many add-ons to run in there, they've got customer ports. They've got dozens of custom mods. They've got integrations going on.
Is there, as much as you can, can you make a suggestion or recommendation in terms of how they should approach their future over the next couple of years? Obviously, we want them to sit down, talk to their Partner about their individual situation, but what do you think? Do they go to BC quickly? Do they go to 2018 and wait a while? We've heard that recommendation. There's a hybrid approach in terms of putting some of your mods over into extensions and kind of getting familiar with it.
What's a good path or what should at least the factors that they should consider?
ERIK HOUGAARD: So not all add-ons are the same. They're not ‑‑
MARK RHODES: Great point.
ERIK HOUGAARD: So typically, whenever you look at a customer, there's the maker one, there's the main ISV solution or something, that's the big one. And then there's some other ones. That's the typicals. Or there's the big one and there's a few like very specialized that would handle a very specific operation.
But they've got to start with the big one, figuring out what are that vendor, what is their roadmap right now.
JAMES CROWTER: And if they're not working on transitioning that roadmap, find yourself a new vendor.
MARK RHODES: And it's happening out there, isn't it?
JAMES CROWTER: It's a shake‑up.
ERIK HOUGAARD: I'm convinced that certain add-ons, ISVs, will basically drop out of this space.
JAMES CROWTER: I think there's a nuance of this, that it's really important that end users understand as well. So what Microsoft is saying around that represents the keynote this morning is that you'll be able to customize the base AL extension. Okay. And the reason they're doing that is ‑‑
MARK RHODES: The reversal, correct?
ERIK HOUGAARD: No.
JAMES CROWTER: It's not a reversal. It's a clarification.
MARK RHODES: All right. Thank you.
JAMES CROWTER: The reason that they're doing that is they're desperate to get some of the bigger ISVs on to the SaaS platform. And those bigger ISVs are saying it's going to be a four‑year process to really write that stuff as proper attentions and Microsoft can't wait that long. They don't want to wait that long. If you take that route, if you adopt that customization of the core, just the way that you've always struggled to add other vendors' stuff on top of your heavily customized ISV solution in CAL, you are going to have the same issue, potentially, as an extension. You're not going to be able to pull stuff out from AppSource or have that kind of multicultural world, as I sometimes call it, available to you.
So for the INSV, I think some of them quite like that idea because it will lock those customers being utterly dependent on them in a way that wouldn't be if you had that open and add this from this vendor and this from this vendor routine.
So be aware. You need to understand how your particular vendor is talking about migrating to SaaS. And you need to understand the implications of that. And now I'm going to come to Summit and do a session where we sit and I'll take through these are the questions you should be asking and these are the pros and cons of each approach because I think everybody who's responsible for spending money on a NAV implementation needs to understand really what they're signing up for and how that's going to affect them for generations.
ERIK HOUGAARD: Yes, a very simple example is that when you're on the SaaS offering with normal extensions, your instance get updated once a month with the news topics and everything that Microsoft ‑‑ they will update that for you.
So will your ISV that have modified the base app, would they maintain the base app once a month and update everything from Microsoft and their customized version of the base app, and how is that all going to play out with Microsoft's requirements to it.
JAMES CROWTER: How long is the sync going to take when they apply a new base app which updates all of those tables?
ERIK HOUGAARD: Yes.
JAMES CROWTER: Whereas, if you're not careful ‑‑ it's going to have a huge impact on the Microsoft platform. I'm not sure what you go through.
ERIK HOUGAARD: But we don't know how Microsoft is going to do that when they go to a base app as an app because right now it's basically just C/SIDE on the SaaS platform also. Microsoft will also have that issue themselves.
JAMES CROWTER: They will. Look, the next few years there's going to be lots of alternatives, and I really ‑‑ I'm already seeing, when I sit down with my customers in the UK, it could be immensely confusing, because we use all these kind of acronyms and technical terms and it's kind of like, okay, what does this mean for us? It's important that they understand what's blocked off, what's not blocked off. Going the easy route in the short term is not always the best long‑term option, is it? I think with your Business Central system, God knows once you run it, it needs to be long term. You can't be taking something that's a quick fix because you want it for decades.
ERIK HOUGAARD: Exactly. A lot of the customers that aren't on customized NAV today, they are fighting with decisions they made 15 years ago.
JAMES CROWTER: Yes. But I think they have payback on that for 15 years. It's not ‑‑ we can't expect everything is magic wand country and it will just happen like that. There is ‑‑ and that NAV system today is more important and more critical, actually if it's been successfully implemented over those 15 years, it's utterly critical. The data is immensely valuable. You're not just going to get a free easy pass to SaaS. There is going to be some cost to get that right. If anybody says that's ever going to be free, we have a saying in the UK: ‘There's no such thing as a free lunch’. But does that translate?
MARK RHODES: Oh, absolutely.
JAMES CROWTER: I think in the Business Central world that's certainly true.
[END OF PART 2]
Stay tuned for Part 3 coming soon!
Listen to the full version of this podcast (and other episodes) at: www.navug.com/podcast