Weg met de GUI, hier met Windows Server Core!

22/04/2021

Veel mensen weten dat Windows een GUI-gebaseerd besturingssysteem is. Echter heeft Microsoft sinds de release van Windows Server 2008 hard gewerkt om van de Windows GUI een optionele add-on te maken. Toch lijkt deze installatie zonder GUI in de praktijk nog niet razend populair. Hartstikke zonde, vindt Innvolver Jeroen. De voordelen wegen volgens hem absoluut op tegen de nadelen en in dit artikel legt hij uit waarom.

Door Jeroen

Windows Server Core: Geen GUI op de server

Binnen de Microsoft Server familie is ‘Server Core’ al een tijdje aanwezig. Al sinds Windows Server 2008 is het mogelijk om een volledig uitgeklede Windows Server te draaien waarbij alle GUI-functionaliteiten zijn beperkt tot de opdrachtprompt.

 

Voor de duidelijkheid, met een uitgeklede Windows Server bedoel ik écht het volledig verwijderen van alle misbare server-componenten waaronder dus de Desktop Experience, oftewel de GUI. Dit betekent dat alle mooie grafische opsmuk die normaliter door de zogenaamde Windows-shell wordt geleverd, niet meer aanwezig is en alleen de ‘core’ van Windows Server overblijft. De basis die overblijft, geeft ons nog steeds de belangrijke functionaliteiten die we normaal van een ‘Windows Server’ verwachten. We kunnen bijvoorbeeld nog steeds, op een paar uitzonderingen na dan, elke ‘Role’ installeren die we willen.

De voordelen van Server Core

Het werken zonder GUI op de server biedt vele mogelijkheden en voordelen, zowel op het gebied van security, kosten als beheerlast.

  1. Security: Het aanvalsoppervlak wordt enorm verkleind
    Eén van de grootste voordelen (in mijn ogen zelfs de grootste) is de verkleining van het aanvalsoppervlak. Doordat er geen GUI beschikbaar is, is het voor hackers veel moeilijker om tot op deze server binnen te dringen.
  2.  Kostenbesparing: Per server zijn er minder resources nodig
    De installatie van Server Core neemt minder Disk Space in en er is minder memory nodig om het ‘uitgeklede’ OS te draaien. Om de impact van het voordeel hiervan weer te geven, een hypothetisch rekenvoorbeeld:
    “Stel je hebt 100x D4a_v4 Windows Server (met Desktop Experience) servers in Azure draaien, dan kost dit op jaarbasis: €0,1620/uur per server per uur x 24 uur x 365 dagen per jaar x 100 servers = € 141.912. Stel dat je hier 100x D2a_v4 Windows Server (Server Core) servers van kunt maken, dan kost dit op jaarbasis: €0,0810/uur per server per uur x 24 uur x 365 dagen per jaar x 100 servers = € 70.956." Inderdaad! Dat scheelt de helft: Bron
  3. Minder onderhoud
    Bij een Server Core-installatie wordt alleen hetgeen geïnstalleerd wat minimaal nodig is. Aangezien er dus minder applicaties en services geïnstalleerd zijn, betekent dit ook dat er significant minder patches nodig zijn. Wat dus resulteert in minder downtime. Ipso facto; er is minder te beheren.

 

De nadelen van Server Core (en waarom ze niet opwegen tegen de voordelen)

Natuurlijk kleven er ook nadelen aan het werken zonder GUI. De belangrijkste nadelen op een rij.

  1. Systeembeheer wordt technischer
    Sommige systeembeheerders zijn heel erg aan de GUI gewend maar (nog) niet aan Powershell of anders gezegd de command prompt. Een welbekende uitspraak: “Anders was ik wel Linux beheerder geworden….”. Dit zijn waarschijnlijk ook de systeembeheerders die nog op servers inloggen om beheerwerkzaamheden uit te voeren. Echter ben ik er van overtuigd dat een beetje systeembeheerder niet meer om PowerShell en remote beheer heen kan. Ook Microsoft heeft wel in de gaten dat Server Core niet zo populair is en heeft daarom Windows Admin Center (WAC) in het level geroepen. Met WAC kun je vanuit een browser op afstand een Windows Server beheren en dus ook de Server Core variant. Dus i.p.v. commando’s kloppen, kan alsnog via een GUI (remote) beheer uitgevoerd worden op een Server Core installatie. In een latere blogpost zal ik verder ingaan op Windows Admin Center.Dit nadeel is mijn inziens dus te ‘overwinnen’ met opleiding en WAC.Ik kan me eigenlijk niet voorstellen dat er nog systeembeheerders zijn die geen gebruikmaken van PowerShell. Dit hoeven niet eens hele grote scripts te zijn, want met een enkele PowerShell-regel kun je al grote dingen doen. Daarbij komt ook nog eens dat de wereld steeds meer en meer naar Cloud beweegt en ook in het Azure landschap kom je niet meer weg zonder PowerShell-kennis. WAC is al volledig PowerShell. Alles wat je grafisch in WAC uitvoert, wordt onderwater in PowerShell uitgevoerd. WAC heeft ook de optie om jou in PowerShell te laten zien wat er bij bepaalde muisklikken gebeurt. Ideaal dus bij het aanleren van PowerShell.
  2. Beperkingen en incompatibiliteiten
    Server Core is niet compatibel met verschillende toepassingen en functies. Hierdoor kan het vaak de welbekende Windows Server met GUI niet volledig vervangen. In de basis kun je zeggen dat Server Core niet compatibel is met applicaties die een GUI vereisen. Voor mij blijft het tweede nadeel, de beperkingen en incompatibiliteiten, het enige nadeel dat overeind blijft staan. Als jij een server voor een bepaald doel wilt inrichten en die mogelijkheid is er gewoon niet bij Server Core dan houdt het daar simpelweg op. Wat nog wel de moeite waard is om te benoemen, is dat Microsoft geen verschil maakt in licentiekosten tussen de Desktop Experience, Server Core en Nano variant. Hoe het licentiemodel voor Windows Server 2019 eruit ziet, kun je hier lezen.

Is er een middenweg? Windows Server 2019 Features On Demand (FoD)

Server Core is er al enige tijd en wordt ook nog steeds verder door Microsoft ontwikkeld. Sinds Windows Server 2019 is er de mogelijkheid om “FOD" bovenop Server Core te installeren. FOD is eigenlijk een middenweg tussen Server Core en Windows Server met GUI. Er wordt een gedeelte van de GUI-installatiebestanden aan Server Core toegevoegd, maar de GUI zelf dus niet. Dit heeft als gevolg dat Server Core meer compatibel is met applicaties en functies en hierdoor mogelijkerwijs wel sneller ingezet kan worden. Terwijl het aanvalsoppervlak nog steeds beperkt blijft.

Daarnaast worden enkele Microsoft Management Consoles weer lokaal op de server beschikbaar. Denk aan Eventviewer, Windows Verkenner, Performance Monitor, Disk Management, etc. Voor als je een keer geen toegang hebt tot WAC...

Nano server

In deze blog wil ik Nano server toch even kort aanstippen. Nano server is sinds Windows Server 2016 beschikbaar. Nano server is nog meer uitgekleed dan Server Core en wordt vooral gebruikt om een bepaalde functie uit te voeren. Neem als voorbeeld de DNS server van Microsoft. Een Server Core is een minimale installatie van een Windows Server waar de DNS-rol op geïnstalleerd kan worden. Bij een Nano server is de installatie van DNS als het ware de server. Zie het als een losse container waar enkel en alleen de DNS-rol in beschikbaar is (en dus ook alleen de nodig software om dit te draaien). Er zijn geen mogelijkheden om ‘lokaal’ op deze ‘server’ in te loggen, de GUI is afwezig en beheer kan alleen remote via PowerShell uitgevoerd worden (Remote Desktop is niet beschikbaar).

Windows Server Core en de toekomst

Microsoft heeft begin maart de preview van Windows Server 2022 vrijgegeven. Windows Server Core is hier uiteraard ook in aanwezig. In Azure zijn op dit

moment VM-templates te vinden voor Windows Server 2016 en 2019 Core. Zodra Windows Server 2022 in productie gaat, zal het niet lang duren voordat Windows Server 2022 Core aan Azure toegevoegd zal worden.

Windows Server Core is here to stay!

Ik zou iedereen dan ook willen adviseren, mocht je ergens een Windows Server voor nodig hebben; gebruik de Server Core variant. Als het echt niet anders kan, gebruik hem dan niet. De voordelen spreken voor zich en met name aan de security-kant en aan robuustheid win je er veel mee.

 

 

Over de auteur:
Jeroen is al jaren 'Innvolved' en gespecialiseerd als Microsoft System Engineer. Hij volgt de ontwikkelingen van Microsoft op de voet en schrijft regelmatig over zijn vakgebied en opvallende trends die hij tegenkomt.