maandag 1 september 2014

Een andere kijk op cloud computing

We zijn nu een aantal jaren verder met cloud computing. Door inzicht en gebruik verandert het inzicht over wat cloud computing is en voor wie.

Laat ik beginnen met mijn definitie en toelichting:

Cloud computing is de vaardigheid van een bedrijf om een verzameling servers samen te laten werken.

Simpel toch? Cloud computing bestaat vooral uit het perspectief van de eigenaar van de servers. En eigenlijk is dit heel logisch. Want wat heeft Software as a Service nu met cloud computing te maken vanuit de afnemer? Vaak komt Software as a Service in de vorm van een applicatie welke draait in de browser. De afnemer heeft werkelijk *niets* met cloud computing te maken! De applicatie kan draaien op een enkele server die ergens bij iemand op zolder staat. Hooguit kun je zeggen dat je de applicatie af neemt over het internet en dat het internet vaak aangeduid word als cloud.

Dus nog een keer; cloud computing gaat op voor de de eigenaar van de servers, niet per se op de gebruikers van de servers al kan dit uiteraard hetzelfde bedrijf zijn en krijgt de term “private cloud computing” meteen ook weer betekenis!

Virtualisatie

Alle huidige cloud computing volgens mijn gestelde definitie maakt gebruik van bestaande technologie en leunt sterk op het gebruik van hypervisors. Een hypervisor is een laag tussen het besturingssysteem van een server en de hardware. Een hypervisor is een soort illusionist die een besturingssysteem voor de gek houdt. Hiermee wordt het mogelijk om meerdere virtuele servers op één fysieke server te laten draaien, maar ook om deze server naar een andere fysieke server te verplaatsen zonder consequenties. Een voordeel van een virtuele server is dat je deze “zwaarder” en “lichter” kan maken zonder dat de onderliggende hardware hoeft te worden aangepast. De techniek van virtualisatie wordt ook gebruikt om softwarematig data-opslag mogelijk te maken zodat je niet alleen een hogere performance krijgt, maar dat opslag ook veerkrachtig wordt. Als een element in de keten faalt, blijft de data gewoon bereikbaar. Maar genoeg over techniek, de basis is dat cloud computing vooral gebruikt maakt van bestaande technologie en dat bedrijven hier zaken aan toevoegen om bijvoorbeeld zelfbediening en betalen naar gebruik mogelijk te maken.

Deze uitleg is nodig voor de volgende stap in mijn betoog. Namelijk dat bedrijven met dit zelf gemaakte maatwerk verschillende diensten kunnen aanbieden. Veel hosters kunnen nu middels een zelfbediening portaal mogelijkheden scheppen dat klanten zonder tussenkomst van menselijk handelen een virtuele servers en anderen diensten af kunnen nemen.

Amazon Webservices en OpenStack

Nu stoort het veel mensen dat als ik praat over cloud computing ik het praktisch altijd heb over diensten zoals Amazon Webservices en Microsoft Azure. Dit komt omdat zij voorop lopen in hun competentie om grote groepen servers samen te laten werken en het product hiervan als diensten aan te bieden. Amazon is veelal gebaseerd op de technologie van Citrix, Microsoft Azure is uiteraard gebaseerd op technologie van Microsoft. Zo is er ook een open source project : OpenStack. Deze biedt in feite volledige software aan die het mogelijk maakt om servers samen te laten werken inclusief een portal om dit te beheren. Deze software is gratis, dus ieder bedrijf wat servers en serverruimte heeft kan deze software installeren en een cloud computing provider worden, als is je onderscheidend vermogen in de basis beperkt.

API is de sleutel

Een zeer belangrijk onderdeel van cloud computing diensten is dat zij een Application Programming Interface (API) aanbieden. Ofwel je kunt met regels programma code de dienst consumeren en daarmee maak je nog meer automatisering mogelijk. Uiteraard is IaaS niet alles wat de klok slaat. Diensten zoals Orchestrate.io bieden database als dienst aan wat aangemerkt wordt als Platform as a Service (PaaS) en Dropbox biedt bijvoorbeeld Software as a Service in de vorm van data synchronisatie. Het aardige van Dropbox is dat zij zelf een dienst hebben gebouwd bovenop een dienst van een andere cloud computing provider en daarop meeliften. En dit illustreert eigenlijk het punt wat ik wil maken.

Cloud computing is heel breed met de huidige definitie zodat er moeilijk een goede discussie over gevoerd kan worden. Het afnemen van infrastructuur is totaal iets anders dan een applicatie die functioneert in de browser. Voeg daar de ruis van hybride cloud computing aan toe plus de eigenschappen van specifieke cloud diensten en de waarde van al die artikelen daalt hard naar een nulpunt qua toegevoegde waarde.

Dit verklaart waarom ik het zo vaak over Amazon Webservices (AWS) heb. Zij zijn voor mij het voorbeeld over waar het naar toe gaat en waar ik ook naar toe zou willen. Amazon is meesterlijk goed in het ontsluiten van bestaande technologie en hebben een extreme customer focus, maar zij ontwikkelen ook technologie die hiaaten opvullen. Zij luisteren naar geluiden in de markt, faciliteren deze en door middel van continuous delivery verbeteren dit met een ongekende snelheid. Daarnaast hebben zij een ongeschreven regel welke het fundament is van automatisering, alle functionaliteit kan via een API geconsumeerd worden.

In het kort

Ik zal het nog een keer samenvatten.
Cloud computing is een vaardigheid. Cloud computing borduurt verder op huidige technologie. Cloud computing is vaak een competentie van de leverancier, niet van de afnemer. Cloud computing wordt versterkt door API’s.  Uiteindelijk gaat het niet om cloud computing, maar om de dienst die daar uit voort komt. De discussie zou dus niet zozeer moeten gaan over de betekenis van cloud computing, maar meer over de diensten die daar uit voortkomen.

Deze blog is ook gepubliceerd op de site van Computable : http://www.computable.nl/artikel/opinie/cloud_computing/5156757/2333364/een-andere-kijk-op-cloud-computing.html