Cloud computing biedt in theorie onbegrensde groeimogelijkheden maar wordt tot op heden vooral beperkt door bandbreedte. De kosten en beperkingen van het netwerk worden vaak onderschat of simpelweg vergeten. En dit geldt niet alleen voor de
bovenkant, de toegang van cliënt naar de cloud applicaties, maar ook naar de achterliggende opslag.
Iets om bijvoorbeeld rekening mee te houden is dat veel aanbieders
van cloud computing wel aantallen gigabytes bieden maar geen garanties
in IOPS, het aantal lees- en schrijfacties naar de opslag. En dat kan,
zeker als opslag gedeeld wordt uiteindelijk voor vervelende verrassingen
in de prestatie van applicaties zorgen. En de schaalbaarheid proberen
te vergroten door de werklast te verdelen over verschillende computers
verschuift probleem alleen maar naar de onderkant, vaak de database die
de bron van informatie is voor vele processen en services.
Data(base) bottleneck
Schaalbaarheid van onderliggende database bepaalt dus ook in grote
mate de elasticiteit van een oplossing, zelfs in de theoretisch oneindig
schaalbare cloud. Nu zijn er verschillende oplossingen om de
schaalbaarheid van databases te vergroten zoals clustering (Azure),
caching (Google) en de op file gebaseerde oplossingen zoals noSQL
(Amazon). Het gebruik van deze technieken vraagt echter aanpassing van
de onderliggende datalaag. En hoewel inspanning en kosten hiervan
grotendeels bepaald worden door beoogd doelplatform van cloudleverancier
zal het duidelijk zijn dat een dergelijke migratie geen sinecure is.
Het zijn dus vooral de applicaties die niet alleen de mogelijkheden van
cloud computing bepalen maar vooral ook de migratie kosten. En zeker
voor bestaande applicaties kunnen de investeringen voor een transitie
naar de cloud weleens de uiteindelijke besparingen overstijgen.
Hardware gebonden
Probleem met de toegang tot de opslag komt echter ook voor bij het
virtualiseren van de infrastructuur. In plaats van dit op te lossen door
aanpassingen te maken aan applicaties wordt dit vaak opgelost met I/O
cachekaarten of flashdisks. Er wordt dus vaak voor een hardware
oplossingen gekozen waardoor er uiteindelijk een afhankelijkheid met het
platform is. Ook eisen als schaalbaarheid en herstelbaarheid worden nog
teveel vanuit de 'box' ingevuld waarbij beperkingen van de techniek
bepalend zijn voor de mogelijkheden. Zo klonen we bijvoorbeeld servers
meermaals en voegen een vorm van load balancing toe om de werklast te
verdelen. En op dezelfde manier proberen we ook de betrouwbaarheid van
applicaties te vergroten waardoor dus het aantal servers blijft groeien.
Uiteindelijk dus allemaal niet zo heel erg efficiënt en het is dan ook
niet zo vreemd dat it nog steeds als een kostenpost gezien blijft
worden.
Paradox
Om echt te kunnen profiteren van het nieuwe computerparadigma van
cloud computing zijn dus aanpassingen aan applicaties onvermijdbaar.
Want het blijven invullen van behoeften zoals bijvoorbeeld mobiliteit
met deeloplossingen als terminal services en vdi maakt de architectuur
niet overzichtelijker. Dat bemoeilijkt niet alleen de holistische visie
erop maar ook aansluiting op infrastructuren van derden voor een hybride
locudoplossing. Want uiteindelijk kan natuurlijk niet alles naar de
cloud gebracht worden maar veel van de dertien-in-een-dozijn services
wel. Maar om te bepalen wat je kunt besparen met cloud computing is
inzicht in de kosten van de service nodig en juist dit ontbreekt vaak
bij organisaties. Want veel infrastructurele zaken zoals stroom,
koeling, netwerk, beveiliging maar ook beheer worden namelijk nog niet
in rekening gebracht van de gebruiker waardoor cloud computing goedkoper
lijkt maar niet hoeft te zijn.
Architectuur verschillen
Natuurlijk behoeft niet iedere applicatie een schaalbare
infrastructuur en is dit alleen interessant voor de Enterprise
applicaties die door duizenden tegelijk gebruikt worden of enorme
aantallen transacties moeten verwerken. Veel bestaande applicaties zijn
ook nimmer ontwikkeld met schaalbaarheid als uitgangspunt. Probleem is
echter dat de meeste wel ontwikkeld zijn vanuit een andere architectuur,
namelijk die van netwerk computing. Terwijl cloud computing juist een
grote gelijkenis heeft met grid computing. Hierbij zorgt virtualisatie
voor de dynamisch schaalbare resources en het grid voor federatie van
middelen, uniforme api's maar ook generieke toegangsmechanismen. Het
'cloud enablen' van applicaties gaat dus niet alleen om aanpassingen in
de datalaag maar ook van de middleware, zeg maar de service bus die voor
het grid van cloud computing zorgt.
Platformdefinities
En het zijn deze bouwstenen die de afhankelijkheid weg nemen met
onderliggend platform en de grenzen van het datacenter laat vervagen.
Natuurlijk kunnen we de infrastructuur virtualiseren maar dat is nog
geen cloud computing, tenminste niet platform as a service. Misschien
dat daarom bij uitbesteding ook zo vaak verwarring is over de definitie
platform. Zo wordt de ene keer de middleware en database als onderdeel
van het platform gezien en de andere keer juist weer als applicaties.
Hierdoor wordt de belofte van cloud computing - een schaalbare en
flexibele oplossing waarbij grenzen niet door techniek maar de
economische aspecten bepaald worden - dus niet altijd waar gemaakt. Want
pas als applicaties aangepast worden aan de nieuwe architectuur van
cloud computing kunnen eisen als schaalbaarheid en betrouwbaarheid hoger
in de stack, binnen de software zelf ingevuld worden.
Servicegericht
Dan is er niet alleen meer dynamiek in de infrastructuur maar gaan de
kosten pas werkelijk omlaag. Bijvoorbeeld door alleen het herstelpunt
en hersteltijd van de kritische services te verbeteren via database
synchronisatie in plaats van alles via gebruikelijke 'one-size-fits-all'
oplossing met replicatie van gecentraliseerde opslag. Of door het
elimineren van ruim aanwezige overlap in functionaliteiten binnen de
bestaande infrastructuur door te rationaliseren. Maar omdat kosten voor
de baten uit gaan wordt meestal gekozen voor het vrijwel ongewijzigd
laten van applicatielandschap. En dus zijn steeds meer toevoegingen aan
de architectuur nodig om de wensen van de organisatie zoals mobiliteit
en flexibiliteit te kunnen blijven ondersteunen waardoor kosten van ict
blijven stijgen. Dit mede omdat omslag van kosten teveel gebaseerd zijn
op servers in plaats van service en er dus nog veel verborgen kosten
zijn.
Geen opmerkingen:
Een reactie posten