The Microsoft Technology Stack – What It Is and Why You Should Care
If you’re around technology at all, you’ve become accustomed to acronyms, clever (and not so clever) names, terminology, slang, and so forth—some of which are pretty obvious in their meaning, some not so much. But beyond that conundrum is this question: I know what XYZ term/name/acronym is, but I don’t know why it should matter to me.
This is also true with Microsoft. With hundreds of products and tools for audiences from consumers to enterprises—and in a very fluid market where changes—including name changes—happen quickly and often, it’s hard even for those steeped in everything Microsoft to keep track.
There is one term, however, that is worth noting, defining, and explaining because it offers advantages that any organization looking to embark on an IT project will appreciate: The Microsoft “stack”. This blog post provides an overview of the stack and outlines several reasons why you should be aware of it.
What Is the Microsoft Stack?
The Microsoft stack is a set of applications and tools that are designed to work together—from the back-end data base to coding languages (e.g., C#) and development environments (e.g., Visual Studio), all the way up to platforms and applications, like cloud apps, Microsoft (Office) 365, and business applications like Dynamics 365 Business Central.
In short, the Microsoft Stack is made up of all these pieces, which the user (typically with the help of an implementation partner) chooses from to build an end-to-end solution—all built on Microsoft technology.
An Example of a Solution “Built” On the Microsoft Stack
So, when we talk about “building” on the Microsoft stack, think of each tool, application, or language as a building block, and these building blocks all work together to deliver a solution. For example, if you’re building a website, you would probably use the Visual Studio development environment with a Microsoft programming language. You’re going to probably run the web site on a Windows server running Internet Information Services (IIS). There is also a very good possibility that you’re going to have a back-end database running SQL server to capture and present data. Don’t worry about knowing about these specific tools; the point is that you can design, build, and deploy a website using nothing but the Microsoft Stack.
NOTE: You do not have to use every component of the Microsoft Stack. In our website example, you can use open-source software like Apache for the web server running on a Linux server. You could also use an open-source database like MySQL and write your code with an open source language like Python.
Why Should You Care About the Microsoft Stack
So, now that you understand what it is, the next question is, what benefit is there to building and deploying your solution using the Microsoft Stack? The answer is that there are several:
Benefit #1. Support, Maintenance, and Reliability
Perhaps the biggest benefit is related to the support, maintenance, and reliability of the tools, languages, and applications—as well as the provider. Yes, you can deploy a solution based on non-Microsoft technologies, but you might run into issues with support and stability of individual components. With Microsoft, you have a company that behaves responsibly when it comes to product roadmaps, supporting older versions, releasing regular, stable updates, and ensuring security. And most likely, if you have a problem with a component, others do as well, and Microsoft knows about it.
One of the things I find great about working with Microsoft and the Microsoft stack is the sustained engineering team at Microsoft. That team takes, for example, NAV 2016 and ensures it will run with SQL 2018. So, the product came out in 2016, but they’re going to guarantee that that product is going to work on more current versions of either Windows or SQL. And that sustained engineering team signs off that they have validated and tested the ability for these components to work together … that this application works backwards, forwards, up, down, sideways … every which way on the more current versions.
Whereas if you go open source, it is up to you to do that validation, especially when it comes to doing a patch or an update. You are now responsible for regression testing and all the time-consuming tasks that come with updating. While the engineering team might issue a proviso here and there—for example, if you want NAV 2016 to work with SQL 2018, you need to be at a specific build level of NAV—you can be assured they have done that testing and validation to ensure the whole stack solution will work together from Windows to SQL to application.
You also get an entire community that can help you, which is an advantage of going with a well-known, established provider. You also have a one-stop shop, rather than having to navigate the support maze created when more than one provider is involved. With as long as Microsoft has been around as well as the components of the Stack, the pool of talent is large, with experts in every tool, language, and application. NOTE: Make sure you identify the right people to work on your solution. While there are certainly Microsoft gurus out there, very few are “experts” on all components. If they say they are, check their references! But you will have a large pool from which to pull the experts you need, and Microsoft partners should ensure they get the right people on the team to support your solution.
Benefit #2. Working Together Seamlessly
One problem that is inherent to using disparate components is integration. This has nothing to do with the quality of the component; it’s just that it’s not reasonable for every tool, application, or language to work seamlessly with everything else out there. Whatever components you choose, you will need to make sure they work together and will continue to do so in the future, which cannot be guaranteed, since these companies develop their products independently. With the Stack, since everything is built by Microsoft, you definitely don’t have to worry about the components not playing together nicely.
Benefit #3. Flexibility and Scalability
Because all the components of the Microsoft Stack are made to work together, you can think of your entire solution as organic in a way. It becomes an ecosystem that can stretch and scale and morph as one unit to meet your needs. The tools are there to help you make modifications to Dynamics or add processing power to Azure or whatever you need. The result is that it’s never an arduous journey to effect change, and you can rely on your tools, applications, and languages to do their job. This is definitely not something you can rely on with disparate, open-source components.
Benefit #4: Usability
Being built by Microsoft, the components within the Stack behave and generally look the same. This makes it easy to learn and work with them. Another component of usability in addition to interface is how applications function together. For example, if you have NAV or Business Central and Microsoft 365 (Office), you have direct connectivity from NAV to all the productivity tools. You can click a button in NAV or BC to send it to Excel or create a quote and send it out through Outlook.
Benefit #5: More Tools for Even More Benefits
By building everything on the Stack, Microsoft has paved the way for creating tools that can easily connect Microsoft products with tools and data residing in other systems. The Microsoft Power Platform is a suite of tools that make it easy to develop apps quickly that fill gaps between systems and even build workflows that automate processes, and Power BI brings powerful reporting functionality. If you’re on the Stack, you can take advantage of the benefits these powerful tools provide.
Benefit #6: You Probably Already Have a Head Start
If you’re a business of any type, in any industry today, it’s very likely you are already using a component of the Microsoft Stack, so it’s not a big leap to expand from there. For example, if you’re on Windows or using Microsoft 365 and are considering replacing QuickBooks or a legacy ERP, it makes sense to look at a Dynamics ERP solution. You already have one or more of the building blocks for your end-to-end solution in place. You’re ahead of the game already!
Get on the Stack, Stay on the Stack
If you’re considering a purchase of any new business software for your organization, start by looking at the big picture, rather than creating a checklist in isolation. Today’s tools and apps need to work together for true productivity, collaboration, and visibility across your organization. With that in mind, we invite you to look at what you get from going with a product (or products) in the Microsoft Stack.