You must have seen this blog post from Microsoft: Maintain AppSource apps and per-tenant extensions in Dynamics 365 Business Central (online)
And/or this blog of AJ: Business Central App maintenance policy tightened
And/or this post from James: SaaS enables progress, why block it?
If you didn’t, please do. Because as a Microsoft Dynamics 365 Business Central partner, your job does not end with “being able to implement some customizations at a customer”. No . When you create apps – these apps will live at a customer that most probably will have continuous updates. And to quote Microsoft:
“It is your responsibility for continuously aligning the added code to Microsoft’s release rhythm that is expected for all Business Central online customers”.
Kurt Juvyns – Microsoft
Make no mistake! Don’t believe in the fairy tales of some people that Microsoft will/should make sure your code will work forever. No, it’s your code, your responsibility. Like phone-manufacturers change OS and Sizes, the apps on it need to either follow or be abandoned.
Microsoft refers to a page on docs: Maintain AppSource Apps and Per-Tenant Extensions in Business Central Online, with resources like release plans, access to pre-release, deprecation information, training and coaching information, … . And – a very clear warning:
If publishers lack to keep their code updatable, they risk that ultimately their apps or PTEs will be removed from the customers tenant, and this will most likely result in important data not being captured as it should. For apps, this also means removal from the marketplace.
Microsoft (Docs)
The article also explains that they will do what they can to inform the right parties when a problem is to be expected. I don’t want to put it here in the blogpost what they do and how frequently .. just check it out on Microsoft Docs – because that will be maintained.
Reading through the article, I was like .. uhm … hello .. didn’t you forget a chapter? Shouldn’t you include a “how to do this?” or “Best Practices” kind of chapter? I was actually quite disappointed it didn’t mention one single word about the “how”. Well .. if they would have .. I would have at least found the word …
DevOps
Let it be no surprise that whatever Microsoft just “announced” isn’t really a surprise. It’s rather a “confirmation” than it is an “announcement”. But putting something in a contract is one thing. Dealing with it on an operational level is another! And what I (and not only me ..) have been screaming from the rooftops for the last so-many months – no – years, is exactly that: “DevOps is going to be key”!
Honestly, since 3 years now, I have not seen any way around DevOps. Questions like:
- How will we work in teams?
- How can we contribute to the same codebase .. and keep that codebase stable?
- How will I be notified when my code won’t work against the next version – minor or major?
- How will I deploy all these dependent apps?
- How will I keep track of dependencies?
- How will I maintain “breaking changes”?
- How can I prepare myself against a next version, so that when it’s release, I have my own app ready that same day?
- …
All these, and many more challenges, have had one simple answer: Microsoft Azure DevOps. And it’s time every single Microsoft Dynamics 365 Business Central partner is not only asking himself those questions – but also start to take action in answering them for their company and dealing with it. I can see only one reason why Microsoft is writing the article above .. and is because they notice that (some) partners do NOT take up that responsibility.. .
I’m serious. We, as a community, make the name of Business Central. If we f..mess up, we mess up the “Business Central” name. It’s as simple as that. Customers will not say “that app sucks” or “the partner sucks” .. customers will say “Business Central sucks”. And it doesn’t. Business Central rules! Or as Steve Endow would say: Business Cenrtral Is Amazing! It makes all the sense in the world that we do all we can to be as good as we can.
Starting with DevOps
The general Business Central partner might not be familiar with DevOps – we didn’t really use it with C/SIDE, did we? It’s going to take an effort. Sure. So let me give you a few resources, besides the many coaching-possibilities that Microsoft has in their “Ready To Go” program.
I really liked this book: DevOps for Dummies from Emily Freeman. And today, I just learned that BC MVP Stefano Demiliani also wrote a book on DevOps. I have no idea if it’s good – but I can’t imagine it isn’t ;-). I’m buying for sure!
If you look more to AL, there are people in the community that can definitely help you. I know we have Soren, Kamil, Gunnar and Luc that have been advocating “DevOps” and “Build Pipelines” for a long time. Just watch their videos on youtube from NAVTechDays. You have blogs from Michael Megel, and Tobias Fenster is also diving into making DevOps much more approachable for all partners!
Then you have me :-). I have been advocating DevOps so much the past couple of years. So. Much. And I’m still doing that by an occasional virtual training (thanks to COVID-19) and sessions on (virtual) conferences. A few years ago, I had a session on Directions US, and I had many requests like: hey, can you please make your software available to us .. which even resulted in tooling that you can use now, right within DevOps. But, that’s not the only tooling you can use – also Freddy maintains the BcContainerHelper, which can be used to create and maintain your apps in DevOp as well! Just follow his blog here.
Conclusion
So, about this article from Microsoft, if you have any questions about the “how” – just answer them with “DevOps” ;-). There is absolutely not a single reason that any partner that creates any kind of apps for Microsoft Dynamics 365 Business Central .. to not try to make its life as easy as at all possible. And a good start there, is “Microsoft Azure DevOps”. But that’s just my opinion ;-).
3 comments
1 ping
What if we do not want to use azure devops, if we already have other git/deployment solutions?
Author
If you’re doing automated checks against vNext, you’re all set, I guess ;-).
I… Do not 🙂
Do you have any good resources on checks, testing, etc. for BC? I didnt really found any when I looked.
Regards from Tienen
[…] You wonder how? The answer is “DevOps”! […]