Serversilo's blijven tactisch verantwoord (juni 2005)


Veel organisaties die met terminal servers werken, bouwen silo's. Dit zijn groepen servers, waarop dezelfde groep van toepassingen worden aangeboden. Zo zou u bijvoorbeeld een Office-silo kunnen inrichten waar Office XP op geïnstalleerd is en een tweede silo waarop de browser met alle plug-ins en helpertoepasssingen voor webgebaseerde toepassingen zijn geïnstalleerd. Een reden waarom dit gedaan wordt is veelal beheer. In ons voorbeeld ontkoppelt u de browser van Office, met als gevolg dat u beide omgevingen afzonderlijk beheert en voorziet van Service Packs, fixes en dergelijke. Een andere reden om silo's te maken is dat u toepassingen ontkoppelt die potentieel tegenstrijdige eisen aan de systemen stellen.

Browser en Office los
Weer kijkend naar ons voorbeeld: door de browser te ontkoppelen van Office, hebben prestatieproblemen op de servers veroorzaakt door bijvoorbeeld flash-animaties binnen de browser, geen effect op de prestaties van het Office-silo. Voor toepassingen die in zijn geheel niet samengaan op één server, bent u bijna genoodzaakt silo's in te richten. Zo geeft Office Professional 97 problemen als deze met een andere nieuwere Office-versie op één server wordt geïnstalleerd en ligt een silo met Office 97 en een silo met Office 2003 voor de hand. Er zijn organisaties bekend die grote aantallen silo's bouwen, waarbij ze voor nagenoeg elke toepassing een aparte silo maken. Het gevolg is vele honderden eenvoudig te beheren servers. Een enkele organisatie heeft geen silo's: alle toepassingen draaien identiek op alle servers. Honderden toepassingen op dit soort servers is binnen deze opzet geen uitzondering.

Een silo bestaat niet
Een silo is overigens een niet bestaande entiteit binnen terminal server of Citrix. U komt deze term niet tegen in de grafische beheerprogramma's. Silo's functioneren alleen als u gebruik maakt van een load balancing-oplossing, waarbij de groepen van identieke servers daadwerkelijk voor de eindgebruiker transparant worden. Start de eindgebruiker Word XP dan wordt dit volgens load balancing-criteria gestart op een server binnen de silo waarop dit wordt gepubliceerd. De eindgebruiker is zich uiteraard niet bewust van silo's en farms. Silo's vereenvoudigen de omgeving aanzienlijk, mits u de silo's niet onderling laat overlappen. In ons voorbeeld zou u een overlappend silo in de farm creëren, als u zou besluiten op de Office-servers tevens de browser met plug-ins en helpertoepassingen te publiceren. Tot slot biedt het werken met silo's het voordeel dat de servers beter te conditioneren en dimensioneren zijn voor de betreffende toepassingen; met andere woorden de kans dat er prestatieproblemen ontstaan binnen een silo is sterk te reduceren. Er zijn omgevingen bekend waar binnen silo's aanvullende functies om geheugen en processor te optimaliseren (met software van bijvoorbeeld AppSense) niet meer nodig zijn.

Voordelen silo's
Laten we de voordelen van het werken met silo's eens op een rijtje zetten. Bij het gebruik van silo's hebt u:

1. minder last van ongewenste afhankelijkheden van toepassingen;
2. een eenvoudigere serverinrichting doordat (veel) minder toepassingen per server draaien;
3. eenvoudiger serverbeheer met eenvoudiger change management;
4. de mogelijkheid toepassingen die tegenstrijdige systeemeisen stellen te scheiden;
5. de mogelijkheid toepassingen die niet samen op een server mogelijk zijn te scheiden;
6. in bepaalde gevallen minder aanvullende beheertoepassingen nodig.

De tijd staat niet stil
Er zijn ontwikkelingen gaande die een aantal redenen om silo's te bouwen, doen verminderen. Citrix geeft zelf aan dat in Citrix Presentation Server 4.0 als gevolg van de Application Isolation Environment de noodzaak voor silo's afneemt. Met AIE wordt er op een Presentation Server een virtuele Windows-omgeving gemaakt voor toepassingen waarvoor u dit inschakelt. Hierbij worden de Windows-bestanden en het register op een virtuele schijf bewaard, ontkoppeld van de rest van de server. Het naast elkaar aanbieden van Office 97 en Office 2003 op een enkele server is dan geen probleem meer. Deze functie is standaard beschikbaar in CPS4.0. Maar ook zonder Presentation Server-functies, bestaan er producten die het naast elkaar draaien van tegenstrijdige toepassingen versimpelt. Denk bijvoorbeeld aan Softricity SoftGrid dat in staat is toepassingen in een virtuele omgeving naast elkaar te laten draaien op een server. Zelfs beheertoepassingen als RES PowerFuse of de AppSense Performance suite bieden hulpmiddelen om pakketten beter samen te laten werken op een enkele server. Wordt het werken met silo's nu stilaan overbodig? Nee, AIE van Citrix en de andere producten voorzien alleen in een gedeeltelijke oplossing van punt vijf uit ons voordelenlijstje: ze bieden de mogelijkheid om toepassingen die niet samen op een server mogelijk deze toch gedeeltelijk te scheiden en op één server(farm) aan te bieden. De overige voordelen van silo's blijven geldig.

Complexiteit in beheer
Vooral de complexiteitsfactor zal een zwaar punt van aandacht blijven. Wilt u tien silo's van elk drie servers met vijf groepen van toepassingen per silo of beheert u liever dertig identieke servers elk voorzien van de vijfitg toepassingen? In het eerste geval bent u in staat per silo afzonderlijk Service Packs en fixes uit te rollen, en hoeft u slechts drie servers in de silo identiek te houden. Moet u een nieuwe versie van een toepassing uitrollen dan kan dit gebeuren op de drie servers in de silo waarop die toepassing geïnstalleerd is, zonder enig risico voor de overige toepassingen op de andere silo's. In het tweede geval zal het problematisch blijken de dertig servers identiek te houden. Zelfs als u zeer gestructureerd te werk gaat, gebruikmaakt van software voor de uitrol van Service Packs, fixes én toepassingen op de terminal servers. Er komt misschien een momen dat u moet opshalen en enkele servers in de farm wilt toevoegen. Als blijkt dat uw model server dan niet meer te koop is en u bent genoodzaakt andere modellen of wellicht zelfs andere merken servers in de farm van 30 toe te voegen, ontstaat er gegarandeerd een probleem.

Nadelen van silo's
Toch zijn er enkele nadelen aan silo's. In het algemeen hebt u meer servers nodig. Dit mogen wel goedkopere machines zijn, dus effectief zal dit niet betekenen dat er meer geld voor hardware nodig hoeft te zijn. Maar meer systemen wil ook zeggen meer ruimte in de racks van het datacenter, meer stroomverbruik, meer warmteproductie, enzovoort. Een ander nadeel van silo's is dat servers niet optimaal worden ingezet. Immers, als Office-gebruikers met deze toepassingen op het Office silo zijn ingelogd en de farm is goed gedimensioneerd, is er ruimte (geheugen en processorcapactieit) over. Dat geldt ook voor de andere silo's. Dertig servers die allemaal voor bijvoorbeeld 75% in gebruik zijn, betekent dat u wellicht zeven of acht servers 'te veel' hebt. Zou u alle toepassingen op alle servers leggen en het silo-idee afschaffen, dan kunt u theoretisch verder met 22 of 23 servers.

Virtualisatie
Is er geen methode die de voordelen van silo's combineert en de nadelen elimineert? Het antwoord op deze vraag zijn virtuele systemen. Bij virtualisatie is het mogelijk één enkele (zware) server logisch onder te verdelen in meerdere virtuele systemen. Zo kunt u gemakkelijk tien servers draaien op een enkele fysieke server. De tien virtuele servers zijn volledig gescheiden omgevingen, die op slimme wijze de resources van de fysieke machine delen. De tien virtuele servers maken gebruik van identieke virtuele hardware, dus hetzelfde image is te gebruiken voor al deze servers. U hebt wel uiteraard ook gewoon tienmaal een licentie van Windows-server nodig. Het aardige is dat virtualisatie een mooie oplossing biedt om silo's in te zetten en toch weinig fysieke servers nodig te hebben. Maar ook als u juist geen silo's wilt gebruiken heeft virtualisatie veel en grote voordelen. In het themaboek Virtuele systemen dat bij het praktijkpakket Server-based computing & access infrastructure in het najaar verschijnt, gaan we dieper in op de grote voordelen en mogelijkheden van virtualisatie binnen server-based computing, access infrastructure én daarbuiten.