Windows Server Without Windows
In a recent blog post of mine, I said “New technology and ideas don ‘t come along very often. New ideas are often regurgitated old ideas.”
I have another example. Microsoft is moving away from the Graphical User Interface (GUI) for its Windows servers. GUI based Windows servers are now discouraged in favor of the “recommended” Server Core. Microsoft is now encouraging Windows server administrators to configure Windows without any windows. Remember MS-DOS? Wikipedia says “it was gradually superseded by operating systems offering a graphical user interface (GUI)”. I doubt if GUI based “Windows” servers will be “gradually superseded” by non-GUI servers but “Windows” administrators will be and are encouraged to do all their administration work via PowerShell.
I understand the reasoning for Server Core. No windows mean less resource consumption. It means a smaller attack surface. The downside is Server Core is not “intuitive”. Even with the Graphical User Interface, administering a Windows server takes training and experience. Server Core is designed to be administered with PowerShell. PowerShell has come a long way since it was first introduced but PowerShell is not intuitive. Server Core administrators will need to remember a vast set of esoteric PowerShell commands. Thankfully, PowerShell has a rather extensive help and fortunately, Server Core is not entirely command line. GUI commands such as notepad and regedit still work.
I’m trying to keep an open mind when it comes to Server Core but I am also somewhat skeptical. GUI based Windows servers are designed to be “intuitive”. I don’t always need to remember the exact details about how to configure a component. If I’m not sure how to configure a component, the Graphical User Interface can often guide me through the process. Not so much with Server Core. Help might guide me, but I need to remember the exact PowerShell command or at least part of the command to use Help.
It’s a good idea to be able to work on either kind of server. For that reason, I’m running Server Core in my home lab alongside GUI Windows servers. Should an interesting employment opportunity come along, I want to have the skills to meet the prospective employer’s needs. You never know when the boss will come to you and say “Hey Bob, I need you to build and manage a Server Core server for a new application”. I’m not going to say “I don’t know how to manage Server Core, see Joe”.