Achter de cloud schijnt de zon

Door Jasper Jorna - 12 December 2018

In deze eerste blogpost van de “proud to be cloud” reeks gaan we in op hosting en servers. We beschrijven de evolutie van de speciale computers die stukjes informatie ter beschikking stellen via het internet. Het onderbrengen en aanbieden van data, software of websites op deze servers noemen we hosting. Ons artikel geeft je eindelijk een compleet overzicht van alle gangbare varianten. We beginnen bij de kleinste en meest eenvoudige vorm van hosting en bouwen langzaam op naar de cloud.

Het pre-cloud tijdperk

Shared hosting

Bij shared hosting deel je als klant een webserver met andere gebruikers. De rekenkracht van die ene server wordt over alle gebruikers verdeeld. Shared hosting is hierdoor meestal goedkoper dan het huren of bezitten van een eigen server. Deze vorm van hosting is zeer geschikt voor kleine websites en eenvoudige zakelijke toepassingen. Er kleven wel een aantal nadelen aan shared hosting. Zo kunnen de andere gebruikers bij piekbelasting zorgen voor vertraging in jouw project. Bovendien kent deze vorm beperkingen voor ontwikkelaars. Omdat de server gedeeld wordt met andere gebruikers krijgen zij meestal geen volledige toegang, ook wel ‘root toegang’ genoemd. Bij software ontwikkeling is dat al snel nodig en daarom wordt er meestal gekeken naar een van de andere hosting opties.

Virtual private server

Een virtual private server houdt het midden tussen shared en dedicated hosting. Het is eigenlijk een eigen softwarematige server waarvan er meestal meerdere draaien op een fysieke server. De VPS beschikt over een eigen versie van een operating system zoals Windows of Linux. Hierdoor kunnen ontwikkelaars toegang krijgen tot instellingen die bij shared hosting niet beschikbaar zijn en kunnen vrijwel alle software op deze servers installeren. Ze kunnen bovendien naar eigen inzicht updates doorvoeren en de virtuele machine opnieuw opstarten. Functioneel zijn ze zodoende vrijwel gelijk aan dedicated hosting, met het belangrijkste verschil is dat er meerdere virtual private servers op dezelfde hardware draaien. Hierdoor is een VPS doorgaans goedkoper.

Dedicated server

Bij een dedicated server huur je een fysieke server in een datacentrum. Het kan natuurlijk ook gaan om een eigen server in een serverruimte op jouw kantoor. Deze server kent veel flexibiliteit en weinig beperkingen, maar vereist een zekere kennis om hem te onderhouden. In de basis ligt de verantwoordelijkheid voor updates en onderhoudt bij de klant. De meeste aanbieders van dedicated servers bieden de mogelijkheid om deze werkzaamheden voor jou te verrichten (managed hosting). Bij MSML kiezen de meeste opdrachtgevers voor dergelijk onderhoud als onderdeel van hun service contract (SLA). Bij een dedicated server stel jezelf de hardware samen om te voldoen aan jouw eisen. Het datacentrum zorgt ervoor dat jouw server een constante internetverbinding en energietoevoer heeft. Deze kosten worden dan in de huur van de server opgenomen.

Serverclusters

In sommige gevallen is een enkele server niet voldoende voor een project. In zo’n geval kunnen meerdere servers in een groep samenwerken. Ze verdelen dan de belasting over de rekenkracht en bijvoorbeeld opslagmogelijkheden van meerdere servers. Deze zogenoemde serverclusters worden vooral ingezet bij projecten waarbij de prestaties ook onder extreme omstandigheden gegarandeerd moeten blijven. Denk bijvoorbeeld aan een webshop die in korte tijd enorm veel bestellingen moet verwerken. Het is onacceptabel dat er omzet verloren gaat wanneer er na een reclamespotje veel orders binnenkomen. Om die piekbelasting te verdelen is een servercluster geschikt. Een zogenaamde loadbalancer verdeelt de bezoekers over de beschikbare servers. Zo kunnen klanten die gelijktijdig winkelen toch op verschillende servers zijn ondergebracht. Daar merken zij niets van.

Een servercluster heeft meer functies dan alleen maar het verdelen van de belasting. Meestal is een cluster gebaseerd op een serverarchitectuur. Dat is een ontwerp van servers die dezelfde of soms verschillende functies hebben en de manier waarop ze met elkaar in verbinding staan. Denk bijvoorbeeld aan een server die alleen maar gebruikt wordt als database, of een server die voortdurend back-ups maakt van de data op alle andere servers. De keuzes voor een goeie serverarchitectuur worden altijd gemaakt met continuïteit, betrouwbaarheid en veiligheid als belangrijkste overwegingen.

Serverclusters komen veel voor bij organisaties die complexere websites of softwareproducten aanbieden aan medewerkers of klanten. Om een dergelijk cluster op te zetten en te onderhouden hebben deze bedrijven vaak eigen beheerders in dienst of besteden de werkzaamheden in het geheel uit (ook wel outsourcing genoemd). In beide gevallen zijn de beheer en onderhoudskosten aanzienlijk.

As a service modellen

Met de opkomst van de cloud heeft het ‘service georiënteerd denken’ een vlucht genomen. Het gaat daarbij minder om de afrekening op eigenaarschap, maar juist over dienstverlening.

As a service diensten gaan gepaard met nieuwe kostenmodellen. Zo betaal je bij veel aanbieders niet langer een vast bedrag per maand, maar zijn de kosten flexibel naar het gebruik van de cloud. Denk daarbij aan een afrekening op basis van het aantal verzoeken die jouw software of website doet aan de cloud. Hierdoor zijn de vaste kosten meestal laag, en hoef je geen zorgen te maken als jouw software of website ineens veel belasting te verwerken krijgt. Je betaalt dan alleen voor de extra servercapaciteit tijdens de piek en hoeft dus niet je maandbedrag structureel te verhogen of meer hardware in te zetten.

We bekijken de belangrijkste drie modellen, waarbij we weer beginnen met de eenvoudigste variant en uitbreiden naar de meest complete.

Infrastructure as a service (IaaS)

Bij Infrastructure as a service (IaaS) sluit je een service-overeenkomst voor virtuele machines, fysieke servers, data opslag, loadbalancing en het netwerk. Hierdoor krijg je toegang tot een hosting omgeving vergelijkbaar met een servercluster, maar met een vrijwel onbeperkte schaalbaarheid. Ontwikkelaars hebben in deze variant beperkte toegang tot de configuratie.

Platform as a service (PaaS)

Een platform as a service gaat nog een stapje verder dan IaaS. Zo biedt het ontwikkelaars geavanceerde mogelijkheden om applicaties te ontwikkelen en heb je meer invloed op de ‘platformconfiguratie’. In het platform zijn toolkits beschikbaar waarmee ze eenvoudig kunnen koppelen. Deze toolkits handelen vaak specifieke taken af zoals bijvoorbeeld financiële transacties. IBM biedt in haar cloud-oplossing inmiddels ook een mogelijkheid om de blockchain als service in projecten te integreren.

Software as a service (SaaS)

Als we spreken over software as a service, is er in de context van de cloud veelal sprake van programma’s die door de techreuzen worden aangeboden. Zij beheren niet alleen de infrastructuur en het platform maar ook de applicatie. Gebruikers betalen op basis van hun gebruik, veelal via een abonnement. Deze vorm is echt gericht op de eindgebruikers van de software zoals consumenten of medewerkers van een bedrijf. Ze krijgen toegang tot de software via bijvoorbeeld een webbrowser of mobiele telefoon. Het aanbieden van SaaS diensten is niet alleen voorbehouden aan de grote jongens. Ook MSML kan maatwerk software – al dan niet in opdracht – in een SaaS model aanbieden.

De cloud

In veel opzichten lijkt cloud computing op een servercluster. Er is ook sprake van meerdere servers die met elkaar communiceren en data uitwisselen. Een servercluster is echter gekoppeld via een local area network (LAN), terwijl bij de cloud alle servers via het internet zijn verbonden. Hierdoor kunnen ze overal op de wereld staan. Lang was de snelheid van het internet de beperkende factor voor de evolutie van de cloud. Tegenwoordig is het internet zo betrouwbaar en snel dat de servers niet langer fysiek bij elkaar, of in hetzelfde netwerk moeten staan.

Private cloud

Een netwerk van servers die via het internet zijn verbonden, maar exclusief zijn voor één organisatie, noemen we een private cloud. Met name de wat grotere bedrijven en instellingen bevinden zich tegenwoordig op dit gebied. In sommige gevallen beschikken zij over eigen fysieke hardware of over eigen datacenters. De kosten voor het beheer en onderhoud zijn ook in deze variant nog behoorlijk. Bovendien is de schaalwaarheid bij piekbelasting beperkt en de kwetsbaarheid voor bijvoorbeeld DDoS aanvallen aanzienlijk.

Op 28 november 2018 vertelde Jurrie van Rooijen – CTO van Bol.com – op de Google cloud Summit over hun transitie naar de cloud. Dagelijks proberen zo’n 400 IT-specialisten een betrouwbare winkelbeleving te bieden aan hun klanten. Een hele klus, zo blijkt uit de cijfers. Bol.com biedt meer dan 20 miljoen producten van 20 duizend verschillende verkopers. Tijdens piekuren stijgt de belasting naar 25 orders per seconde. Ook voor Bol.com bleek het wedijveren met de grote cloud-aanbieders zinloos. Hun innovatie- en rekenkracht was niet bij te houden, zeker niet in relatie tot de exploitatiekosten van het eigen netwerk. Bol.com liet haar ontwikkelaars zelf het cloudplatform van hun voorkeur kiezen.

Public cloud

De public cloud is een geheel aan internetdiensten die ter beschikking worden gesteld aan particulieren en ondernemers. Soms zijn deze gratis, maar in veel gevallen betaal je voor intensief of zakelijk gebruik. Bijna alle grote Tech bedrijven bieden hiervoor oplossingen aan. Microsoft noemt zijn public cloud Azure, Amazon heeft zijn Amazon Web Services (AWS) en Google Cloud Platform is de oplossing van de zoekgigant uit Californië.

Onder de motorkap is de architectuur van een public en een private cloud grotendeels hetzelfde, maar de veiligheid en de omvang zijn enorm verschillend. En juist omdat de public cloud in de regel zoveel groter is, lopen organisaties zelden aan tegen de beperkingen van de schaalbaarheid. Daarnaast is het netwerk van computers in een public cloud zo omvangrijk, dat deze beter beschermd is tegen aanvallen van hackers. Bij een public cloud is het beheer van de fysieke hardware altijd de verantwoordelijkheid van de aanbieder.

Bij cloud computing (vooral public) hoeven organisaties niet noodzakelijkerwijs te weten op welke fysieke machines hun data of software is ondergebracht. Dat komt omdat niet langer de hardware maar de dienstverlening of service wordt ingekocht. De aanbieder zorgt er dan voor dat jouw cloud-omgeving altijd beschikbaar is en bovendien beschikt over de laatste updates en back-ups. Jouw data wordt regelmatig gekopieerd en verschuift voortdurend over meerdere fysieke machines en over alle datacentra van de aanbieder.

Hybrid cloud

Voor de echte fijnproevers is er ten slotte de hybrid cloud. Zoals de naam al doet vermoeden is het een combinatie van meerdere public en private clouds. Elk van deze omgevingen houdt zijn afgeschermde eigenschappen maar wisselt op specifieke onderdelen informatie uit met de andere clouds. Zo kunnen organisaties ervoor kiezen om delen van hun softwarelandschap onder te brengen in hun eigen omgeving terwijl voor specifieke taken een beroep doen op de public cloud.

Whats next?

Cloud computing biedt organisaties en ontwikkelaars toegang tot een vrijwel onbeperkte rekencapaciteit. Hierdoor wordt het mogelijk om complexere processen te automatiseren tegen een fractie van de oorspronkelijke kosten. De rekenkracht maakt bovendien de weg vrij voor kunstmatige intelligentie, beeldherkenning en het verwerken van data op een ongekende schaal.

Voorlopig zal de cloud aan populariteit blijven winnen en zullen organisaties stapsgewijs een steeds professioneler serverlandschap verwachten. Het is duidelijk dat de grote Tech-bedrijven enorm inzetten op de transitie naar de cloud. Ze vallen werkelijk over elkaar om met toegankelijke en soms gratis proefperiodes vertrouwd te raken met hun dienstverlening.

Op termijn zal er ook meer sprake zijn van bedrijven die dankzij hun verhuizing naar de cloud een concurrentievoordeel halen. Zo zijn zij bijvoorbeeld in staat om complexere analyses en dus betere voorspellingen te doen met de enorme rekenkracht die ze dankzij de cloud tot hun beschikking hebben. Dit zal hun concurrenten dwingen om dezelfde stap te maken.

Waar de cloud nu nog vooral een oplossing lijkt voor organisaties met complexe serverlandschappen, raken gewone burgers al steeds meer vertrouwd met de opslag van foto’s en andere bestanden in de cloud. Het lijkt onafwendbaar dat de cloud de nieuwe norm wordt voor het aanbieden en verwerken van software en data.

Proud to be cloud is een serie van blogposts over de cloud in begrijpelijke taal. We beschrijven wat de cloud is en welke toffe toepassingen het mogelijk maakt. Thema’s als artificial intelligence, gezichtsherkenning en big data passeren de komende tijd de revue. Volg onze serie en je krijgt alle inzichten die je nodig hebt om mee te praten bij de koffieautomaat (én om strategische keuzes te maken voor de toekomst van jouw organisatie natuurlijk). Wil je verder sparren over deze onderwerpen, of heb je een vraag? Stuur ons een bericht.

Jasper Jorna, Lead developer & DevOps
Jasper Jorna
Lead developer & DevOps

Bij MSML staan we voor je klaar.

Kan jouw organisatie ook slimmer, sneller of efficiënter werken?