Het begrip green computing speelt de laatste tijd meer en meer in onze IT-wereld. Wat mij betreft is dit volkomen terecht, en kan de nadruk voorlopig niet genoeg liggen op green computing. Het gaat hier tenslotte over een onderwerp wat ons allemaal aangaat, het gaat over onze wereld.
De laatste tijd heb ik mij wat meer verdiept in het idee van green computing, en dit tegen meerdere personen in mijn omgeving aangehouden. Tot mijn schrikt lijkt dit onderwerp bij de meeste ontwikkelaars helemaal niet te spelen. De meeste ontwikkelaars hebben nog nooit van de term green computing gehoord. Zo slecht zijn wij als IT-ers toch ook weer niet voor het milieu, is vaak de reactie? Ok, de meeste van ons rijden dan wel in een grote lease auto, maar daar blijft het dan ook bij. Toch?
De werkelijkheid is anders. Op dit moment gebruiken data/reken centra ongeveer 2% van de totale geleverde hoeveelheid energie in West-Europa. Dit is een groot getal. Helaas groeit dit getal nog steeds, en wordt de hoeveelheid energie die we gebruiken voor de data centra iedere 5 jaar verdubbeld. Hopelijk is dit met name groene energie, maar zelfs dat blijkt niet het geval te zijn. De laatste jaren lijken de servers in de diverse data centra op konijnen, ze vermeerderen zich gestaag in een vlot tempo. Hiervoor betalen we een prijs: een hoge energie rekening. Op dit moment is het zo dat menig reken centra een energie rekening heeft die groter is dan de hardware die wordt aangeschaft...
Wat moeten wij hiermee als software ontwikkelaars, dit is toch een probleem van de IT-afdeling? Er staat nergens in mijn set aan eisen iets over green computing, of energie zuinig ontwikkelen. Wel staan er keiharde eisen over de beschikbaarheid van de oplossing: 99,9%. Dit is dan ook direct een probleem. Green computing is zelden een eis, beschikbaarheid is altijd opgenomen en gekwalificeerd als eis. Beschikbaarheid is nu net een eis die slecht is in het kader van green computing. Beschikbaarheid vraagt om redundantie, en hiervoor is weer meer energie nodig. Kunnen we deze neerwaartse spiraal doorbreken? Ja, het antwoord is: share. Deel de resources met elkaar. Waarom een server installeren die alleen overdag file en print server is en 's avonds en 's nachts niets staat te doen?
Het delen van de infrastructuur wordt vaak gerealiseerd door virtualisatie. Dit is een begrip wat de laatste jaren steeds meer aan populariteit heeft gewonnen. In basis is virtualisatie niets anders dan het idee om met elkaar resources te delen. Virtualisatie kan klein beginnen en uiteindelijk eindigen in cloud computing. Ik kom de laatste tijd steeds vaker een tabel tegen waarin verschillende niveaus van virtualisatie worden beschreven. Laats kwam ik de tabel als volgt tegen in The Architecture Journal:
Maturity Name Applications Infrastrcuture Location Ownership
Level 0 Local Dedicated Fixed Distributed Internal
Level 1 Logical Shared Fixed Centralized Internal
Level 2 Data center Shared Virtual Centralized Internal
Level 3 Cloud SaaS Virtual Virtual Virtual
Veel organisaties bevinden zich op niveau 0 en 1. Wanneer een organisatie meer virtualisatie toepast, dan is dit beter binnen het kader van green computing. Wat betekenen de vier verschillende niveaus?
Level 0 - Local
Dit is het niveau waarop geen virtualisatie plaats vindt. We hebben het hier over applicaties die lokaal draaien, en gebruik maken van de locale resources. Kan hier niets gebeuren? Wel degelijk zijn hier verbeteringen mogelijk. Begin eens dichtbij, is het nodig dat je PC dag en nacht aan staat? De applicaties die je schrijft zijn die instaat om transparant om te gaan met sleep/wake mode van je PC? Of houdt je diverse connecties op waardoor de PC niet naar een slaapstand kan over gaan? Kortom voor de ontwikkelaar voldoende uitdaging!
Level 1 - Logical
Het niveau waarop de eerste virtualisatie gaat plaats vinden. Dit is de wereld van client/server en N-Tier applicaties. We delen resources zoals bijvoorbeeld een database en een web server. Dit kan op afdelingsniveau gebeuren, maar ook op het niveau van je bedrijf. Dit is reeds een flinke stap voorwaarts. Op dit niveau kan natuurlijk nog de nodige consolidatie plaatsvinden. Heb je echt al die servers nodig? Zorg ervoor dat jouw software de omgeving kan delen met andere applicaties, verwacht geen exclusiviteit!
Dit is ook het niveau waarop ik de mogelijkheid tot thuiswerken zie. Maak het mogelijk om thuis te werken. Zorg dat je remote bij mail, files en andere resources kan. Maak bijvoorbeeld gebruik van VPN. Thuiswerken past prima in het plaatje van green computing!
Level 2 - Data center
Dit is het niveau waaraan de meeste mensen denken wanneer ze het woord virtualisatie horen. Dit is het niveau waarop alle data wordt geconsolideerd op een SAN in een rekencentrum. Dit is het niveau waar virtualisatie software zoals Microsoft Virtual Sever of VMWare wordt gebruikt. Op dit niveau gaan we nadenken over het optimaal gebruiken van onze servers. Een zeer aansprekend voorbeeld voor software ontwikkelaars is de virtualisatie van de OTAP omgeving. Het is toch niet noodzakelijk om voor iedere omgeving binnen de OTAP een fysieke server beschikbaar te hebben, logisch toch?
Level 3 - Cloud computing
Op dit moment het ultieme niveau van delen. We delen resources in de cloud en richten niet meer onze eigen rekencentra in. We maken gebruik van de schaal grootte die voordeling is voor het totale energie gebruik. Heel eenvoudig, twee servers die voor 50% zijn belast zijn nadeliger voor het milieu dan een server waarop twee virtuele omgevingen draaien waardoor de machine voor 100% is belast.
Met de komst van het Azure Services Platform bestaat nu ook binnen de Microsoft familie de mogelijkheid om na te denken over cloud computing Naast Microsoft zijn ook Amazon en Google sterk bezig met cloud computing. Op dit moment richt Microsoft enorme data centra in om de cloud ook werkelijkheid te laten worden. Je kunt hierover verschillende video's vinden. Een interessante ontwikkeling. Een ontwikkeling waarbij een volgend niveau van virtualisatie, oftewel delen, ontstaat. De rekencentra zijn schaalbaar, er wordt gebruikt gemaakt van containers met daarin ongeveer 200 PCs. Waarneer er meer rekenkracht nodig is, dan wordt er een container bijgezet. Deze rekencentra draaien op groene stroom en zijn ingericht om efficiënt om te gaan met koeling en elektriciteit.
Wat betekent dit allemaal voor de software ontwikkelaar?
De eerste stap die we moeten maken is green computing een wezenlijk onderdeel maken van het pakket van eisen die we aan de applicatie stellen. Net zoals we eisen opstellen rondom beveiliging, schaalbaarheid, performance en beschikbaarheid. Hiervoor is een mind shift nodig. Dit is niet eenvoudig, we zijn jaren lang verwend. de prijs en capaciteit van PCs zijn nauwelijks een belemmering geweest om er nog maar eentje meer te nemen.
Het is als in een hotelkamer. Ik betrap me er altijd op dat ik heel veel handdoeken gebruik wanneer ik logeer in een hotel, ondanks de waarschuwingen die overal hangen. Wanneer er vijf handdoeken zijn dan blijkt dat ik ze op wonderbaarlijke wijze alle vijf nodig heb. Ik denk wanneer er slechts twee zouden liggen dit voor mij ook ruim voldoende zou zijn. Zo is het ook gegaan met servers. We moeten weer meer gaan denken en ontwerpen vanuit de beperking en niet de overvloed.
Zo zouden we bijvoorbeeld goed kunnen kijken naar onze read-only data. Deze data hoeft geen gebruik te maken van ons fail-over cluster, maar kan rustig ergens in de cloud draaien, Wanneer we de data meerdere keren dupliceren dan is dit nog steeds voordeliger voor de energierekening. In onze applicaties moeten we er meer rekening mee gaan houden dat de services tijdelijk niet beschikbaar zijn. Ga denken in het "shopping basket" model. Dit werkt uitstekend voor de meeste websites. Er is nog veel meer mogelijk, maar veel moet nog worden bedacht. Hier zijn heel veel kansen…
Gaat dit werken?
Gaan software ontwikkelaars nadenken over green computing? Worden er eisen gesteld aan een applicatie in het kader van green computing? Ik denk dat dit vroeg of laat gaat gebeuren. De reden hiervoor is dat green computing ook een kostenbesparing betekend. En wie wil dat momenteel niet? Minder energie gebruiken, betekent een lagere rekening...
Het is nu het moment om na te gaan denken over green computing en cloud computing. Zorg dat je voorbereid bent. Een interessant rapport kun je hier vinden. Ook hiervoor geld, een betere wereld begint bij jezelf!
maandag 11 januari 2010
Abonneren op:
Reacties posten (Atom)
Geen opmerkingen:
Een reactie posten