Last week Microsoft announced and revealed Nanoserver. Which is an even more stripped down version of Server Core, whereby there literally is no interface, no way to login to the server at all. All management is done remotely. Since that announcement people have more or less been losing their minds. From the supporters that think this is the best thing since sliced bread and the detractors who think this is the worst thing since sliced bread. Ok, that last statement might be a little hyperbolic. Regardless, we’re IT people we’re highly opinionated and often times if its not my way, its the wrong way. That said there have been some comments and discussion I have seen that I disagree with.
I have seen a lot of people say about Nanoserver, “this is the way the industry needs to go,” according to who? There are many companies out there, and a lot of them have no use for servers without a GUI. They don’t need Dev and Ops to work together, because they don’t even have a “dev” person let alone a department full of Devs. They need servers to host files on, host webpages on, host databases on (most of which come from some software vendor not an internal development team) and whatever else they need servers for.
Another arguments I have seen in favor, is that Nanoserver will prevent people from installing crap software on your servers. My response to that is, why are you allowing people to install crap software on your servers? Seriously.
A particularly annoying comment I saw on twitter was along the lines of “A GUI makes people think they know more than they do.” Essentially, this is implying that you only know what your doing if you are doing it by command line, this only reeks of a little arrogance. The blogger SkatterBrainz puts some data behind what I already knew with regards to GUI vs CLI. An example, I may not be an IIS guy, but working for small companies I had to learn about IIS. Specifically replacing SSL certificates, whats faster? Going into the GUI for one server, import the new SSL certificate, and binding it to the webpage? All of which is very self explanatory in the GUI. Or going to your favorite search engine, typing in “IIS powershell commands” and searching until you find the exact commands you need to figure out how to do this. As the blog points out, if you are doing this one time or a few times, its simply faster and more efficient to do this in a GUI, if you have to do it on hundreds or thousands of servers, then yea, its probably faster to script it. However, in smaller companies there’s simply no way to know all the PowerShell commands, so having to go look up the exact command every time you want to do something, would get tiresome, and take extra time when the task could have already been completed in the GUI.
Another argument in favor of Nanoserver is less patching. What does it matter if you get 1 patch or 20 patches, if you still have to reboot the host? Besides, patching isn’t really that big of a deal, with Cluster Aware Patching, or Orchestrator and SCCM.
Don’t get me wrong, I like PowerShell, a lot. In the year plus since I’ve started learning System Center Orchestrator, I have learned more PowerShell than I did the other 6 years of my short career. Several of my runbook examples I have posted all use PowerShell in one way or another.
The Cloud Game
Jeffrey Snover tweeted after the announcement, “if you are not automating, you’re not in the cloud game.” Well, how many companies are actually in the cloud game? Microsoft, Amazon, Google and a bunch of also rans? How many companies actually need to host 1000 servers on one Nanoserver Hyper-V host as was demonstrated during the release? My guess would be not many. All of the smaller companies I worked for didnt have more than 350 servers each. At my previous employer we had a 4 node hyper-v cluster that hosted about 50 VMs, with plenty of room to grow, and we also had an older 3 node ESX farm that we were looking to depreciate. Even some larger fortune 500 companies I have done some deployments at this year only have around 800 or so servers.
Fear of the CLI
Yes, a lot of Windows admins really are afraid of not having a GUI. At that same company I mentioned before, I was in charge of the Hyper-V Cluster. I proposed we switch it to Server Core, even though we had VMM 2012, Failover Cluster Manager, hyper-v manager and of course PowerShell. Even though we had all those tools available to remotely manage the cluster, the change request was denied.
Further to that point, Aidin Finn recently did a survey, located here, about Hyper-V deployments and which one people used. Not surprisingly Full UI is over 70%. This is even more impressive given the types of people voting on the survey are likely in the upper echelon of hyper-v experts.
Anecdotally I have talked to some fellow consultants at my current employer, I’ve talked to some former consultants that are now back in Operations for a oil and gas company, and a former Microsoft PFE, no one I talked to has ever seen a Server Core deployment in the wild. Some of them even said not only have they not seen it, they would almost never recommend it to a client.
The skill set simply isnt there. What I have learned in the last year or so following the top MVPs on twitter and blogs and since becoming a consultant myself is that the general skill set of admins at your average company is at minimum two to three years behind whats “current” if not more. Can the skill set improve? Absolutely, but as long as there is a GUI option for install, it is my personal opinion that admins are going to continue to install it, until there is no GUI option.
What Nanoserver Means
That said, what does Nanoserver means to you? If you are a windows admin the only reason you should fear not having a GUI is if Microsoft completely removes the option to deploy server with a GUI. If you are a Hyper-V MVP or Consultant, Nanoserver may be something you should learn just to have in your back pocket. As Aidan points out in the previously linked blog, and I 100% agree with him, the only use I see for Nanoserver right now is for a huge highly available, hyper-v deployment, AKA being a cloud provider.
What does it mean to me? Well it means I have more cool stuff I can learn if I want to. I’ve already made a great career advancing upward by learning things cool things like Hyper-V and System Center.
All of this to say that Nanoserver is very exciting, and it is nice to know that there will be options for all kinds of server deployment in the future. I don’t pretend to know what way the industry is going to go, I’m just commenting on what I see now.
Agree or disagree? Let me know in the comments.