Yesterday I wrote a post extolling a view of where I think the world of technology is heading. You can read it here: A Brave New World – Truly Technology Agnostic
One of my colleagues quickly pointed out that I currently work in an environment that is counter to everything I laid out. Namely, our network is mostly technologically monolithic (Microsoft from top to bottom).
While it is true that we only have a few Linux servers in our environment, I wouldn’t quite call our environment monolithic… rather I would point out that we have a lot of extended functionality via other software solutions/platforms and all of that is built around a Microsoft backbone… which actually goes to support my prior thesis.
In our case though, it is my impression that this has happened haphazardly, rather than being part of a larger IT strategy. I.E. we need a backup solution, so we vet three different enterprise solutions, try out two of them, settle on one. It runs on Windows, but it isn’t built by Microsoft and has its own proprietary way of doing things. We are also using third party VPN solutions, third-party system monitoring, etc. etc. All pursued and bought with the same mentality… i.e. here is an issue, lets investigate and find something to fix it. I think this is how many departments operate… and not even in just IT. I don’t even know if it is necessarily wrong, however it does tend to lead to some fragmentation.
This all got me thinking though, is there an inherit value in being as “monolithic” as possible in your approach? I.E. sticking with one vendor from top to bottom as much as is absolutely possible, what can be gained from this? I think there is actually quite a bit to be said for this methodology. Some of the things that came to mind:
1. Your hired talent can be extremely focused as you are supporting few different kinds of systems
2. Your vendors and support contact lists can be kept short
3. Should be a much higher degree of compatibility among the different functionaries of your network (ex. your employee SSO system is going to more easily integrate with web applications you build).
4. From a security standpoint, your “risk profile” is shrunk greatly as the avenues for attack on your network are much more limited in a single solution environment.
5. Less variety in your network tends to equal less complexity. There are several valuable results that are garnered from this. First, user mastery and understanding of your environment is much more achievable. Second, easier troubleshooting. Third, as a result of one and two… less scrambling in a crisis.
All of the above is why I am such a huge advocate of Microsoft Hyper-V for Microsoft Environments. If your company is already on a Microsoft backbone, and you are considering diving into virtualization, Hyper-V makes perfect sense and VMware should only be an option if you have a very specific/required/researched use-case. That is my-2-cents at least.
My formal technical training is actually in Microsoft products and infrastructure, so I am sure I am biased when I say there is a good chance you are doing yourself a favor if you choose to use Microsoft as the core technology provider for your network. Especially if you are striving for a focused “monolithic” environment for all of the reasons described above. Due to Microsoft’s big push in certifications over the past… 20? years there is a fair bit of available talent. In part, due to their sheer size, they have products that fit into many many facets of a network. Most of which are prepacked with Windows Server as roles or features. DNS, SSO, User Administration, Centralized Security Controls, Logging, Web hosting, etc. etc… Microsoft does have all of that and more. Because it is the predominant client facing and end-user operating system for enterprise (Windows…) this also means your network is going to be more highly compatible with the technology your end-users have on their desktops.
Don’t get me wrong, it isn’t all a bed of roses. Your cost of operation are going to be extremely high vs. focusing on say, a Linux back-end. That being said, if you are going enterprise, it is still pretty affordable vs. going with a vendor/technology backbone like IBM or Oracle. So it should be held in perspective.
I still contend that you are also going to limit yourself. Microsoft (or IBM, Oracle…) does a lot of things well and some things probably better than anyone else. However, if you are trying to keep all of your infrastructure under one umbrella… well if all you have is a hammer, everything (problem, opportunity, project, etc.) tends to look like a nail.
I will also throw this out there as well. Your talent is going to be easier to find, but finding excellent talent is going to be harder. I mean no offense with this, but there are a LOT of Microsoft Certified XYZ people out there. Such that some of the value and meaning behind the certs can be lost. Furthermore, Microsoft is so popular because it does a lot of “hand holding” for those that have to administer it. Hence it is very popular and a LOT of people can administer it. But this makes finding your true “power
users admins” more difficult.
Anyhow, it all really comes down to individual use-case. What makes sense for your company? If you are just starting out or are looking at significantly expanding or re-working, I would challenge you to think through these kinds of issues. I believe that all things should be tied to core ideology and values. Your network, technological resource planning, infrastructure, etc. should all be a rational, physical extension of the vision/mission/culture/values that drive your organization, not some disparate part that is tacked on to simply provide a service.