Managed hosting door True
Deze opinie is van een externe deskundige. De inhoud vertegenwoordigt dus niet noodzakelijk het gedachtegoed van de redactie.

Een andere kijk op cloud computing

 

Computable Expert

Henri Koppen
Directeur, THINGKS. Expert van Computable voor de topics Digital Transformation en 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 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.

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/5156757). © Jaarbeurs IT Media.

8


Lees meer over


 

Reacties

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.

@HBen het met je eens dat de cloud vele gezichten heeft de webservices, SaaS, die onder de noemer cloud vallen of aan de andere kant op een laag technisch niveau de IaaS waarbij het gaat om het flexibel alloceren van resources. In je definitie van cloud kan ik me niet vinden, de vaardigheid om server samen te laten werken. Dat is iets wat ook al gedaan werd voordat de cloud bestond.

Maar ja, hoe zou je de cloud dan wel omschrijven? Gelukkig is daar @Ad met zijn reactie. Vind de quote de spijker op zijn kop en het beste wat ik tot nu toe over de cloud gelezen heb. Treffende omschrijving van de cloud vanuit een technische standpunt en het pdf document geeft ook een heldere uitleg van alle gangbare cloud begrippen. Eigenlijk verplichte kost.

Louis; grappig, ik doe -de verkeerde- aanname dat iedereen de NIST definitie al van haver tot gort kent. Ik kan me dus niet goed vinden in de definitie! Zeker omdat dan 90% van de niet SaaS diensten dus geen cloud computing is volgens deze definitie en het gros van SaaS dus wel als cloud computing wordt aangeduid, maar het technisch gezien niet is.

Niettemin ben ik geen purist hoor! Juist omdat het zo'n grijs gebied is moet je niet teveel blijven hangen in definities en gaat het uiteindelijk om praktische toepassingen.

Henri,

Mooi betoog, maar ik heb natuurlijk wel een aantal kritische opmerkingen te maken. In het verlengde van eerdere discussies, maar het kan nooit kwaad deze nog eens met andere woorden te herhalen :-)

Allereerst je omschrijving van cloud computing: “de vaardigheid van een bedrijf om een verzameling servers samen te laten werken.”.

Het laten samenwerken van servers is problematisch als je via Google op zoek gaat naar omschrijvingen van “samenwerken” of “samenwerking”.

Bijvoorbeeld:
“het richten van de inspanningen van twee of meer personen of instanties op hetzelfde doel”
“Samenwerken kan worden gedefinieerd als het gezamenlijk inzetten om een bepaald doel te bereiken. Samenwerking vindt plaats tussen minimaal twee personen, dus ook in een groep of tussen meerdere groepen. Samenwerken wordt gezien als een belangrijke competentie omdat het een efficiënte manier is om doelen te bereiken. “
Enz. enz.

De vraag is dus: hoe kunnen database-servers, applicatie-servers en alle andere soorten servers die je maar kunt bedenken in een n-tier architectuur nu met elkaar samenwerken om bepaalde doelen te realiseren? Samenwerking vindt toch plaats op het niveau van zelf-standige wezens (personen, instanties)?

In de tweede plaats, aanhakend bij de (zoals altijd) mooie reactie van Felix: je betoog is op z’n hoogst 4GL, terwijl je met 5GL nu juist veel meer uit cloud computing zou kunnen halen.

Op zich is Cobol of Java 3GL; echter, door steeds meer functionaliteit onder te brengen in procedures en functies evolueren dit soort 3GL-talen richting 4GL. Door procedure- en functie-aanroepen kun je met steeds minder regels code steeds sneller nieuwe applicaties ontwikkelen. Eigenlijk zijn API’s op hetzelfde principe gestoeld, met dit verschil dat de aangeroepen procedures of functies niet meer op hetzelfde platform hoeven te draaien en ook in een andere taal ontwikkeld kunnen zijn. Op dat moment wordt dan ook gesproken van services ipv. procedures en functies.

Deze aanpak levert precies de procesgeoriënteerde visie op services op: services zijn processen met invoervariabelen en uitvoervariabelen, zoals beschreven in de API. Je blijft hiermee dus hangen in het procedure-data paradigma, wat ten hoogste 4GL is: actieve procedures verwerken passieve data volgens een input-process-output cyclus. Steeds moeten de invoervariabelen bij aanroep bekend zijn, en de uitvoervariabelen worden teruggegeven aan het aanroepende proces. Bij een 5GL worden services niet meer beschouwd als processen, die aaneengeschakeld moeten worden met bijvoorbeeld BPM-flowcharts (ook wel orkestratie genoemd), maar als actieve doelen, die zichzelf realiseren door het uitvoeren van de benodigde subdoelen. Zoals reeds eerder betoogd vormen beslissingstabellen hier de essentiële 5GL-techniek.

Bij het toepassen van procestechnologie (3GL/4GL) – de taal van ICT - ga je van input naar output door middel van een stapsgewijze verfijning van processen; bij het toepassen van kennistechnologie (5GL) – de taal van de business - ga je van output naar input door middel van een stapsgewijze verfijning van doelen.

Ik mag hopen dat je opmerking over 7GL een grapje is, hoewel in het verleden hier al eens een – beslist niet onaardig - opiniestuk aan is gewijd (“Outsourcing overbodig met 7GL”). Maar het idee van 7GL is natuurlijk onzinnig, zolang 5GL nog een punt van discussie is en we nog geen idee hebben wat een 6GL zou kunnen inhouden.

@Henri Dat is dan een verkeerde aanname, dit was de eerste keer dat ik dit artikel las van het NIST. Ik ben het niet met je eens dat het een artikel is wat vooral over het bussinessmodel van de cloudproviders gaat. Ik heb het niet gelezen (summier), ik lees vooral computerterminologie. Ook de definitie van SaaS klonk heel begrijpelijk en helder. Heb nog een paar keer gelezen en blijf het een hele treffende beschrijving vinden.

Dat in de praktijk er (web) diensten verkocht worden onder de noemer SaaS maar dat volgens deze definitie niet zijn dat geloof ik ook. Nu ben ik wel een purist maar vind dat ook niet zoveel uitmaken. Als het om online diensten gaat die een ICT oplossing voor een bedrijf bieden doet dat er niet zoveel toe vind ik ook. Dat de cloud er te pas dus te onpas bij gehaald wordt, daar moet je dan maar even doorheen prikken.

Louis, de NIST definitie wordt in de "cloud" wereld als de feitelijke standaard gezien. Verder vind ik het ook niet zo interessant, waar nu val ik in de herhaling.

Jack, +1 voor je opsomming over samenwerken :-)
Wat ik bedoel is dat bijvoorbeeld : 3 servers ervoor zorgen dat een website up and running is en blijft en dat er een 4e server wordt aangeschakeld als de druk op de performance toeneemt. Dat bedoel ik bijvoorbeeld als samenwerken. Of meerdere servers die dezelfde data hosten voor performance en redundancy

"...maar als actieve doelen, die zichzelf realiseren door het uitvoeren van de benodigde subdoelen."

Kun je hier concrete voorbeelden van geven, het is nog iets te abstract, ik mis wat haakjes om te begrijpen wat je zegt. Hiermee, meteen mijn punt. Als ik al niet goed begrijp wat je bedoeld, hoe kan dit dan ooit mainstream worden?

Mijn grapje over 7GL is vooral om aan te geven dat we tzt zelf geen code meer zullen schrijven, maar dat we praten of denken en dat een computer dat interpreteert en dit realiseert. Een voorbeeld: Ik heb een database met organisaties en hun klanten (consumenten). Nu komt er een organisatie met zijn klanten bij en dit bestand, of de API die deze gegevens kan leveren wordt aangeleverd. Nu is dat een klus: Converteren naar een formaat, mappings maken naar de diverse velden en evt. functies om de data te schonen of uit elkaar te trekken (adres regel netjes vertalen naar straat, huisnummer, huisnummer toevoeging, misschien anders als het een buitenlands adres is). Wat op termijn mogelijk moet zijn is dat je het systeem gewoon de opdracht geeft om een nieuwe organisatie aan te sluiten. Het systeem vogelt zelf wel uit hoe de data in elkaar steekt, en wat waar hoort. En waar het systeem een probleem of vraagt heeft, kan deze die terug stellen, denk dan bijvoorbeeld aan: Ik zie rijen zonder postcode, wat moet ik daarmee? Waarop ik dan antwoord "Niet importeren en terugkoppelen".

Of mooier nog; mijn systeem stelt vragen aan het systeem van de organisatie en ze voeren zelf wel het dialoog. Dit kan pas als we een heel fijnmazig web hebben van patronen die hiërarchisch zijn opgebouwd. Net als assembler krijg je dan een heel low level taal met laagjes op laagjes zodat er uiteindelijk ook een high level taal uitkomt waarbij de programmeur niet alle lagen hoeft te snappen... Nouja, ik sla los :-) Enne 7GL was vooral om aan te geven: In de (verre) toekomst.

Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×