Cloud Computing Definitie In de recente literatuur rond Cloud Computing zijn enorm veel definities te vinden die het begrip allemaal op een verschillende manier omschrijven. Door deze diversiteit zijn er op youtube al veel filmpjes te vinden die een uitleg geven die begrijpbaar zou moeten zijn voor Jan Modaal. Maar deze filmpjes gaan natuurlijk te weinig in op wat het fenomeen allemaal inhoudt.
Cloud Computing Wat is nu die zogenaamde “cloud”? De term zelf is afkomstig van de traditionele weergave van het internet, namelijk een wolk. Deze wolk duidt op het gigantische onderliggende netwerk van hardware en software in gigantische datacenters. In andere woorden kan de “cloud” dus vergeleken worden met het internet. Bij de opkomst van web services werd de cloud dan meer gebruikt als connectie tussen de internetservice en de computer van de gebruiker. Dit om de complexiteit van de connecties uit te beelden. Er bestaan 3 verschillende soorten clouds. Private clouds Wat?
Bereikbaar voor?
Public clouds
Intern datacenter van Datacenter van een een bedrijf bedrijf dat is opengesteld aan het publiek. Intern, enkel bevoegd iedereen personeel Internal, on premisses
External, off premisses
Hybrid clouds Een mix van een private en een public cloud. Bepaalde delen zijn beveiligd, andere delen toegankelijk Off, on premisses
“the cloud” Deze drie vormen van clouds zijn alle drie even interessant. In deze thesis wordt er wel meer gefocust op de public clouds aangezien deze nauw samenhangen met Platform as a Service. Private clouds bevinden zich binnen de infrastructuur van het bedrijf zelf. Hybride clouds maken een combinatie tussen de publieke cloud en de private cloud. Via beveiligde verbindingen wordt deze link gelegd. Een vierde vorm die ik nog even ter volledigheid vermeld is de Community cloud. Dit is een private cloud maar dan voor meerdere bedrijven.
De cloud wordt als het ware gedeeld door verschillende organisaties die dezelfde noden hebben. (Michael Armbrust, 2009) (Rajkumar Buyya, 2008) Om als cloud te mogen doorgaan moet er aan bepaalde voorwaarden voldaan zijn. Deze voorwaarden zijn: Flexibiliteit Dit is een zeer belangrijke eigenschap van de verschillende services. Een applicatie die in de cloud draait kan zowel op één server draaien als op honderden. Het verschil tussen deze twee is niet meer dan één muisklik. Wanneer de gebruiker dit wil, kan hij zijn infrastructuur uitbreiden. PaaS gaat hier nog een stap verder door het aanbieden van handige management tools die het toelaten om het gebruikte aantal servers en dergelijke mooi in de gaten te houden en te veranderen indien nodig. Pay-by-use Bij Cloud Computing betaal je enkel voor wat je gebruikt. De flexibiliteit laat toe om op verschillende momenten verschillende hoeveelheden servers ter beschikking te hebben. Men wordt ook maar gefactureerd voor het aantal servers dat wordt gebruikt. Op een piekmoment kunnen dit er veel zijn, terwijl de rest van de tijd een minder groot aantal servers kan volstaan. Dit systeem wordt verder toegelicht bij de voordelen van Platform as a Service. Self – service Als gebruiker sta je aan het roer van jouw aangekochte Cloud Computing diensten. Een cloud aanbieder regelt veel zaken en voorziet allerhande vormen van ondersteuning maar de uiteindelijke macht ligt bij de gebruiker. Wanneer de gebruiker dit wil kan hij meerdere servers gaan huren De infrastructuur die wordt gehuurd is dus in principe een onderdeel van de infrastructuur van de gebruiker. Programmability De cloud mag dan nog zo abstract zijn, zij is wel programmeerbaar. De resources die verkregen worden in de cloud werken niet zonder onderliggende code. De flexibiliteit van een cloud based systeem is ook maar te verkrijgen door de applicaties die ontworpen worden ter management van het systeem. De flexibiliteit roept ook om oplossingen zoals mobiele toegang en dergelijke. Deze oplossingen vormen nieuwe uitdagingen voor ontwikkelaars. Deze vier eigenschappen vormen samen de kern van het idee en concept dat men de cloud noemt. Een Private cloud moet dus flexibel, programmeerbaar, kosteneffectief en zelf te managen zijn.
(MSV, 2010)
Cloud Computing Nu we weten wat we onder de term “cloud” moeten verstaan, gaan we hier na wat we er precies mee kunnen doen. De term Cloud Computing is de jongste tijd zo gehyped als de nieuwe revolutie op IT gebied dat iedereen er deel van wil uitmaken. Tegenwoordig noemt iedereen alles Cloud Computing1, aldus volgens Larry Ellisson, CEO van Oracle. Dit zou zeker verklaren waarom het zo ingewikkeld is om een duidelijke definitie op te stellen. Maar gaat het hier enkel om een nieuw buzz word, een modegrill in de snel evoluerende IT industrie, of zit er meer achter? Samen met het idee van “de cloud” is er ook een golf aan bijhorende services ontstaan. Deze worden veelal bekeken als onderdelen van Cloud Computing maar eigenlijk zijn dit diensten die kunnen werken door het idee van Cloud Computing. Deze diensten maken het dan op zijn beurt weer mogelijk om Cloud Computing te gaan definiëren aangezien zij volop gebruik maken van de verschillende eigenschappen van Cloud Computing. Iaas of infrastructure as a service leunt erg dicht aan bij hosting. Wanneer een bedrijf gebruik gaat maken van IaaS gaat men de infrastructuur die het bedrijf normaal zou aankopen, gaan huren bij een grote aanbieder zoals Microsoft of Amazon. Deze gehuurde infrastructuur functioneert dan ongeveer hetzelfde als mocht deze bij de gebruiker zelf staan. Zo kan een bedrijf hier zijn eigen applicatie op draaien om deze open te stellen aan het eigen personeel of aan een klantengroep. Het bedrijf kan ook op andere manieren gebruik maken van deze infrastructuur. Er kunnen bijvoorbeeld databases aangelegd worden of zware gegevensverwerkingen worden voltrokken. Hiervoor kan men IaaS nog verder gaan indelen. Staas of Storage as a service bestaat al langer dan vandaag en gaat over het aanbieden van opslagruimte in de cloud aan bedrijven. Een voorbeeld hiervan is de simple storage service van Amazon 2 . Hierbij stelt Amazon haar eigen opslaginfrastructuur ter beschikking van het publiek. Een verplaatsing van de harde schijf van de gebruiker (of het kleine datacenter van het bedrijf) naar het gigantische dataframe van een groot bedrijf dus. Caas of computation as a service is het systeem dat wordt gebruikt bij Amazon’s EC23 waarbij processorcapaciteit wordt aangeboden aan het publiek. Wanneer een bedrijf zware bewerkingen moet uitvoeren kan het dus gebruik maken van de schijnbaar oneindige hoeveelheid computerkracht die het web aanbiedt. StaaS en CaaS zijn allebei onderdelen van Infrastructure as a Service.
1
Larry ellison – What the hell is Cloud Computing (Video) http://aws.amazon.com/s3/ 3 http://aws.amazon.com/ec2/ 2
IaaS CaaS
StaaS
Figuur 1: Caas en StaaS vormen samen de infrastructuur PaaS of Platform as a service is het aanbieden van een platform waarop klanten hun applicaties kunnen ontwikkelen, laten werken en managen. Platform as a service is een aanvulling van IaaS met verschillende diensten die nog meer ondersteuning bieden voor ontwikkelaars. Bij IaaS krijgt de ontwikkelaar toegang tot verschillende soorten resources zoals opslag en computercapaciteit. Bij PaaS wordt er bovenop deze resources een extra laagje gelegd met allerhande ondersteunende diensten die het makkelijker moeten maken voor een ontwikkelaar om zijn applicaties van start te laten gaan. Veelal verdwijnt het zicht op de onderliggende resources gezamenlijk met het verschijnen van deze extra laag. De ontwikkelaar wil dat zijn applicatie functioneert, maar het kan hem niet veel schelen hoe zij functioneert. Nog één vergelijking ter verduidelijking; infrastructuur is op zich niet nuttig, het wacht op een applicatie die er gebruik van gaat maken. Dit kan men vergelijken met het Belgisch wegennetwerk dat zich pas nuttig maakt indien de mensen er gebruik van maken. IaaS is te vergelijken met het wegennetwerk. De gebruiker bouwt zelf zijn auto (de applicatie) en gebruikt deze op de infrastructuur. De PaaS aanbieder geeft je toegang tot de infrastructuur, stelt daarnaast een grote hoeveelheid standaardauto’s voor en indien je toch een andere auto wil, geeft hij je de tools om deze auto te bouwen. Verder stelt de provider zich ook volledig verantwoordelijk voor het onderhoud en de juiste werking van de auto. Deze extra laag aan diensten is het verschil tussen IaaS en PaaS.
PaaS IaaS CaaS
Extra diensten
StaaS
Figuur 2: PaaS voegt abstractie en extra diensten toe.
Saas of Software as a Service (ook wel Application as a Service genoemd) is één van de meest bekende services die gepaard gaan met Cloud Computing. SaaS speelt in op de kleiner wordende laptops en de groter wordende ondersteuning van bandbreedte en internettoegankelijkheid. Via SaaS worden applicaties zoals Microsoft Office en Photoshop niet meer op de harde schijf van de computer geplaatst maar wel op de infrastructuur van de aanbieder. Zo zou een SaaS versie van Office op de infrastructuur van Microsoft draaien. Gebruikers van deze software kunnen deze dan via het net raadplegen op hun goedkope maar zeer draagbare laptop. Het is dan niet eens nodig dat de systeemeisen van de computer hoger zijn dan deze van de software. Deze laatste wordt toch op de uitgebreide infrastructuur van een aanbieder gehost. Een ander voordeel is de mogelijkheid om via een abonnement te werken. De klant kan per maand betalen voor het gebruik van de programma’s. Wanneer hij deze niet meer nodig heeft kan hij of zij het abonnement gewoon opzeggen. SaaS software wordt veelal gebouwd bovenop de diensten van een PaaS aanbieder.
SaaS app. PaaS IaaS CaaS
Extra diensten
StaaS
Figuur 3: SaaS diensten worden aangeboden via PaaS IaaS, PaaS en SaaS zijn de meest voorkomende diensten die gebaseerd zijn op het Cloud Computing idee. We merken elke keer een verplaatsing op van een bepaald bedrijfsobject zoals infrastructuur of applicaties naar een grotere IT speler die deze objecten aan veel lagere kosten kan aanbieden. Ik omschrijf Cloud Computing dus als volgt;
Cloud Computing is het geheel van IT resources en diensten die aangeboden worden via het net, ter bevordering van schaalvoordelen bij aanbieders en besparingen op infrastructuur en kosten bij vragers.
(cloud computing journal, 2008) (Beckman, 2009) (Rajkumar Buyya, 2008) (MSV, 2010)