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 die 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 afneemt over het internet en dat het internet vaak aangeduid wordt 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 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 dat 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-dienstverleners is dat ze 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 de medewerkers 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.
Hoewel het altijd leuk is om de stukjes van de cloud clown te bekritiseren heb ik deze keer eigenlijk niet zoveel te zeuren. Misschien komt dat door de andere kijk, een wat breder blikveld op de markt door ook eens open source te noemen bijvoorbeeld. Nu moet ik daar wel een kanttekening bij maken, het is namelijk meestal niet gratis. Of zoals ik het graag uitleg:
“Choosing between OSS and COTS is a ‘make or buy’ decision: spent time, save money versus save time, spent money. But only for the tooling!”
In dat kader is het ook jammer dat het verhaal van API’s ontzettend summier uitgelegd wordt. In tegenstelling tot wat Henri denkt ben ik namelijk wel met het concept bekend alleen dan vaak nog in de CLI vorm. Computing is namelijk inderdaad een vaardigheid welke je op verschillende manieren in de cloud kunt voortzetten 😉
Informatica les van Henri. Client server applicaties draaien in frontend interface en backend servers. Zijn het er meerdere, dan noem je het cloud. Zit er een hypervisorlaag tussen server en hardware, dan zijn ze virtueel. Componenten communiceren via interfaces en de eindinterface in de keten is de geleverde dienst waar het om gaat.
Volgende week een special over 1e t/m 5e generatietalen ?
Begrijp is het goed dat de samenwerking van een verzameling clients niet onder cloud computing valt ?
Willem, goed punt. Hmm, tja, ik ben geneigd te zeggen dat het onder cloud computing zou kunnen vallen. Maar hiermee kom je dan meteen in een spagaat.
Als je een groep clients laat samenwerken om iets te bereiken (bijvoorbeeld gedistribueerd rekenen), dan zou dit best onder cloud computing kunnen vallen, maar misschien ook niet. Een client functioneert dan functioneel immers ook als een server. Maar als je het te breed trekt en bijvoorbeeld peer-to-peer ook als cloud computing wilt zien, kom je wel op een hellend vlak. Wiens cloud is het? en vele andere vragen die het weer lastig maken.
Maar zeker als je “cloud” en “computing” technisch bekijkt volgens mij artikel dan kan een verzameling clients die (op een schaalbare manier) samenwerken best tot cloud computing gerekend worden.
Hier zie je meteen een verschil tussen de de facto definitie van NIST waarin cloud computing in feite een business model is, en mijn model waarin het wat technischer wordt aangevlogen, maar zoals ik schrijf is de leidraad de dienst die eruit voortkomt en is cloud computing als kapstok begrip helemaal niet interessant.
Het woord “cloudcomputing” is nergens scherp gedefinieerd.
Mijn poging: geclusterde virtuele machines die via het internet protokol webdiensten op een schaalbare manier ter beschikking stellen.
Beter kan ik het niet, wie biedt?
Misschien interessant om te weten te komen wie hier met technische implementaties van cloud applicaties bezig houdt. *hand doet opsteken*
@Jan van Leeuwen, 30-08-2014 23:34: Beter kan ik het niet, wie biedt?
Cloud computing: Via het internet op aanvraag beschikbaar stellen van hardware, software en gegevens.
Mijn 5 centen:
Een of meerdere machines waarlangs applicaties beschikbaar gesteld worden waarbij het uitsluitend feitelijk gebruik in rekening wordt gebracht.
Of het schaalbaar, virtueel, fysiek of internet/web-oriented is lijkt me minder relevant. Ik zie dit soort dingen meer als een serie technieken waarmee e.e.a. gefaciliteerd kan worden.
Beter goed gejat dan… “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared
pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that
can be rapidly provisioned and released with minimal management effort or service provider interaction.
This cloud model is composed of five essential characteristics, three service models, and four deployment
models” (zie http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf). Met 3 service- en 4 deploymentmodellen kun je inderdaad, zoals Henry terecht opmerkt, behoorlijk langs elkaar heen praten.
Felix, ik ben een artikel aan het schrijven over 7GL programmeertaal :-), over de werking van het brein en de API’s tussen de diverse onderdelen van de hersenen… lichtjes gebaseerd op “How to create a mind” van Ray Kurzweil en de principes van Machine Learning. Thanks voor de trigger, haha.
Wat betreft de CLI en de API, hier is wel een aardig artikel
http://blog.ipspace.net/2013/06/cli-and-api-myths.html
Ad, de NIST definitie heb ik een haat-liefde verhouding mee. Zij beschrijven cloud computing vooral als een business model; betalen naar gebruik en op basis van zelfbediening. Als je hun model aanhoud, dan blijft er maar weinig cloud computing over in de wereld. Elke software als dienst is daarmee cloud computing en alle andere aanbieders zijn dan al snel “cloud washers”; doen eigenlijk geen cloud computing, maar verkopen het wel als zodanig, terwijl dat vaak ook weer onterecht is.
Nu schrijf ik veel over cloud computing omdat het zo lekker breed is, maar eigenlijk ben ik helemaal niet zo op cloud computing gebrand. Aan de ene kant geloof ik vooral in het business model; zelfbediening schaalt en bedrijven willen nu eenmaal minder vooraf investeren. Aan de andere kant is de techniek juist zo mooi: Op basis van zachtgoed (software) kun je een lean & mean IT consumeren.
Daarom hamer ik zoveel op het verschil tussen cloud als synoniem voor internet en cloud computing – de vaardigheid om groepen computers samen te laten werken.
Cloud is dan in mijn ogen vooral het business model. Cloud computing vooral de technische kant.
Mijn voornemen is dan ook om meer artikelen te schrijven waarin ik cloud computing minder de aandacht krijgt en ik me meer richt op de toepassing van online diensten al dan niet opgewekt door middel van cloud computing.