Inleiding
Op zijn Build-ontwikkelaarsconferentie in Anaheim maakte Microsoft vorige week niet alleen meer bekend over de desktopeditie van Windows 8; ook de serverversie kwam aan bod. Windows Server 8 bevat onder meer een nieuwe versie van de Hyper-V-hypervisor, met ondersteuning voor het vhdx-formaat voor virtuele opslagmedia. Virtuele disks kunnen nu maximaal 16TB groot zijn, waar dat voorheen 2TB was. Dankzij Hyper-V 3.0 kunnen virtuele machines bovendien tot 32 virtuele cores en 512GB aan intern geheugen bevatten.
Ook nieuw zijn twee vormen van deduplicatie, waarmee opslag- en werkgeheugen efficiënter kunnen worden gebruikt. Page combining moet ervoor zorgen dat identieke geheugen-pages worden gecombineerd tot één kopie, wat vooral bij virtuele machines voor betere prestaties zou moeten zorgen. Ondersteuning voor storage spaces zorgt ervoor dat een server meerdere harde schijven kan combineren tot één storage-pool en deze vervolgens via het netwerk kan aanbieden. Daarvoor is geen san-array vereist.
De grootste wijziging is echter wellicht dat Microsoft afscheid lijkt te nemen van de grafische interface in de servereditie. Dat is opmerkelijk: waar de serverversies van veel andere besturingssystemen het zonder grafische interface moesten stellen, leverde Microsoft bij elke serverversie van Windows standaard een grafische schil mee. Windows Server 2008 kon desgewenst zonder gui worden geïnstalleerd, maar dat was weinig populair.
Windows Server 8 moet daar verandering in brengen. "Grafische interfaces zijn voor clients, niet voor servers. Servers zijn er om servertaken uit te voeren", zei Jeffrey Snover, lead architect van Microsofts Windows Server-divisie, tijdens een sessie op de Build-conferentie.

Windows NT Server 4.0, met gui
Geen gui op de server
De grafische interface zal voorlopig nog niet helemaal uit Windows Server verdwijnen, omdat dat problemen kan opleveren met bestaande software. Microsoft raadt gebruikers aan om de versie zonder gui te gebruiken, maar er kan ook voor worden gekozen om de grafische shell toch te installeren. In dat geval wordt ook de nieuwe Metro-interface geïnstalleerd. Op de vraag van Tweakers.net waarom de Metro-interface in de servereditie van Windows 8 is opgenomen, antwoordde Snover dat er simpelweg maar één Windows-interface ís.

Windows Server 8, hier met grafische shell en PowerShell
Tussenvariant
Voor wie geen grafische shell maar wel een gui wil gebruiken, is er een 'tussenvariant' die precies dat mogelijk maakt. Bij deze versie ontbreken onder andere de taakbalk, Windows Explorer en Internet Explorer, en de daarmee geassocieerde dll's. Wel is, net als in de versie met de grafische shell, user account control aanwezig. In de Core-versie ontbreekt ook dat, al bestaat daar nog wel de mogelijkheid om software met de rechten van een andere gebruiker uit te voeren.
Bij Windows Server 2008 kon de grafische shell niet in een later stadium worden geïnstalleerd of verwijderd, maar in Server 8 kan het installatietype naderhand wel worden aangepast: in feite is deze shell gewoon een role die kan worden geïnstalleerd. Het veranderen van het installatietype kan met PowerShell-commando's of met Microsofts dism-tool. Tijdens de sessie op Microsoft Build toonde Andrew Mason, principal program manager lead van het Windows Server-team, hoe een Windows 8-server met grafische shell snel kan worden omgekat tot een versie zonder die shell.
Microsoft raadt aan om de versie met volledige grafische shell en de tussenvariant alleen te draaien zolang bepaalde applicaties nog niet zonder kunnen, maar over het algemeen wordt dat afgeraden. "Gui's horen niet thuis op een server, maar op een client", aldus Snover.
Snover weet ook wel dat de Server Core-editie van Windows Server 2008 geen succes was. Dat kwam onder meer door het gebrek aan de mogelijkheid om na een installatie nog te wijzigen tussen de Server Core en volledige installatie. "Maar daarnaast waren er belangrijke applicaties afwezig en schortte het aan beheermogelijkheden", geeft hij toe.
De Server Core-versie van de eerste Server 2008-release bevatte bijvoorbeeld geen PowerShell; die van Server 2008 R2 wel, maar daar waren maar 230 cmdlets aanwezig. Bovendien was er geen ondersteuning voor het op afstand installeren of configureren van server-roles. In Windows Server 8 beschikt de Server Core-versie over bijna 2500 cmdlets en kunnen roles extern worden geconfigureerd met Microsofts Server Manager, via PowerShell, of met WMI. Overigens kan ook de PowerShell desgewenst worden uitgeschakeld.
Voordelen
Het softwarebedrijf uit Redmond heeft genoeg redenen om gui's van de server naar de client te verplaatsen: een gui gebruikt geheugenresources en processorkracht die niet meer voor servertaken kunnen worden gebruikt. Bovendien vereisen complexere gui's zoals die van Windows de aanwezigheid van gpu's. In een tijd waarin servers steeds vaker deel uitmaken van een cluster, betekent dat dat een deel van de servercapaciteit wordt besteed aan het draaien van overbodige interfaces: beheerconsoles die op een client draaien en verbinding met servers maken komen beter van pas. In de ideale cluster zijn meerdere servers extern te beheren zonder dat ze individueel benaderd hoeven te worden - in dat geval zijn gui's al helemaal overbodig.

Windows Server 8 met minimale gui
De memory footprint van Windows Server 8 vermindert fors als geen gui wordt meegeïnstalleerd: voor de installatie is dan maar 512MB intern geheugen nodig en voor het draaien nog minder. Microsoft wil overigens nog niet zeggen hoeveel werkgeheugen er in de praktijk nodig is; er zou momenteel nog druk geoptimaliseerd worden.
Beveiligingsrisico
Het draaien van een grafische interface is ook een extra beveiligingsrisico, zegt Snover: hoe meer onnodige code er in een besturingssysteem aanwezig is, hoe groter het risico is op bugs die voor beveiligingsproblemen kunnen zorgen. Tegelijkertijd zorgt het schrappen van overbodige code ervoor dat er minder softwarepatches hoeven te worden uitgevoerd, waardoor systeembeheerders het weer makkelijker zouden moeten krijgen. Volgens Snover vermindert het aantal 'kritieke' beveiligingspatches bij een Core-installatie met 50 tot 70 procent. Tot slot neemt het besturingssysteem zonder grafische shell minder ruimte in en kan het dus sneller worden geïnstalleerd.
Compatibiliteit
Zoals eerder al aangegeven kunnen gebruikers van Windows Server compatibiliteitsproblemen verwachten als ze Server Core, of de versie met gui-ondersteuning maar zonder shell gebruiken. Ontwikkelaars wordt aangeraden om hun software zo in te richten dat alle handelingen die via een eventuele grafische interface kunnen worden uitgevoerd, ook zonder gui beschikbaar zijn. De grafische shell, indien aanwezig, zou optioneel moeten zijn. Microsoft geeft zelf het goede voorbeeld: zijn nieuwe Server Manager - mét Metro-interface - bestaat in feite uit een grafische schil waaronder PowerShell-commando's worden uitgevoerd.

Applicaties met een grafische interface kunnen problemen krijgen in de Windows Server-versie met minimale interface: problemen kunnen worden verwacht met shell namespace extension-api's en de common dialog box-library. Die laatste, die door applicaties wordt gebruikt om bestanden te openen of op te slaan, werkt alleen als het oude type wordt gebruikt: de nieuwe vereist aanwezigheid van Windows Explorer. Ook applicaties die Internet Explorer gebruiken zullen de nodige foutmeldingen weergeven. Daarnaast is Windows Help afwezig.
Ontwikkelaars kunnen hun applicaties aanpassen om deze te laten controleren welke Windows Server-versie is geïnstalleerd, door de waarden van bepaalde registersleutels uit te lezen of dism-api's te gebruiken. Daardoor kan een nette foutmelding worden weergegeven als gebruikers bijvoorbeeld Windows Help proberen te openen op een server die zonder shell draait.
Voor de Server Core-versie geldt dat software sowieso zonder grafische schil moet kunnen draaien. Dergelijke software moet dus via de command line of met configuratiebestanden kunnen worden bediend, al zijn remote beheersoftware of webinterfaces ook goed bruikbaar.
Of de grafische interface in een toekomstige versie van Windows Server helemaal verdwijnt, is volgens Snover nog onduidelijk. "We onthullen nog niets over nieuwe versies", zegt de lead architect, "maar een gui conflicteert met wat je van een server kan verwachten."