This post is sponsored by VMware. Learn about VMware virtualization and cloud solutions for small & mid-size business visit info.vmware.com



This article is available in other languages:

Germany Virtualisatie vs. de cloud: hoe maak je de juiste keuze? France Virtualisatie vs. de cloud: hoe maak je de juiste keuze? China Virtualisatie vs. de cloud: hoe maak je de juiste keuze? Netherlands Virtualisatie vs. de cloud: hoe maak je de juiste keuze? England Virtualisatie vs. de cloud: hoe maak je de juiste keuze? Portugal Virtualisatie vs. de cloud: hoe maak je de juiste keuze?

Stel dat je verantwoordelijk bent voor de technische kant van een opkomende web startup. Je hebt een levensvatbaar product, de gesloten bèta was een succes en nu is het tijd om een omgeving te creeëren waarin de applicatie voor miljoenen potiënele klanten ingezet kan worden.

Mijn aanname is dat je overweegt om de app in de cloud te zetten. Cloud hosting heeft de afgelopen jaren veel aandacht gekregen dus het is je vergeven dat je daar gelijk aan dacht. Het lijkt zeker de meest verstandige keuze op dit moment.

Tegelijkertijd wil ik het hebben over het opzetten van je eigen ‘privé cloud’ door een gevirtualiseerde omgeving op te zetten, te bouwen op hardware in een gewoon datacenter. Hiermee wil ik niet de indruk geven dat ik in het algemeen tegen cloud hosting ben, de startup waar ik op dit moment voor werk – een sociaall netwerk voor bioscooppubliek – is ook gehost in de cloud.

Voordat ik mede-oprichter werd van dat bedrijf, runde ik de techniek voor een aanbieder van e-Commerce software. Ons meest populaire product was een soort marktplaats – een webshop format – met website templates en tegen de tijd dat ik bij het bedrijf vertrok draaide er negen compleet verschillende webshops op basis van dezelfde code en hosting.

Met die startup gingen we eigenlijk tegen de stroom in door de app uit de cloud te halen en in een virtuele omgeving te plaatsen, op fysieke hardware waar wij de controle over hadden. Ik wil deze twee mogelijkheden tegenover elkaar zetten om je te helpen bepalen waar jouw app het best tot z’n recht komt.

Virtualisatie is een must

Of je gebruik wilt gaan maken van de reeds bestaande cloud of een eigen omgeving, virtualisatie is een must. Voor mij zijn twee voordelen van virtualisatie doorslaggevend.

Ten eerste zorgt het er voor dat app server builds (of rebuilds) een software probleem worden in plaats van een server probleem. Het is gebruikelijk om te rebuilden in plaats van servers aan te passen en dat is een logische stap als je te maken hebt met veel en kleine wijzigingen, zeker als die handmatig worden toegepast.

In het verleden was het dan nodig om in het budget rekening te houden met reserve servers waarvan je onderdelen kon gebruiken voor een nieuwe database. Terwijl die werd aangezwengeld kon de oude worden uitgeschakeld en weer klaar gezet worden om de cyclus te herhalen. Nu kun je een nieuwe ‘server’ in een paar minuten inzetten, stel de gewenste configuratie in en met een paar kliks of shell scripts ben je op pad.

Ten tweede stelt deze opzet je in staat om de schaalbaarheid ‘net op tijd’ in te plannen. Als de onderliggende, fysieke capaciteit maar in orde is kun je opschalen met wat voor specificaties dan ook wanneer je ‘t nodig hebt.

Laten we aannemen dat virtuele servers in jouw geval de beste oplossing zijn. Ga je dan naar de cloud of zet je, je eigen op?

De belangrijkste verschillen tussen de cloud en virtualisatie

Bestaande cloud hosting is financieel voordelig en flexibel met de kanttekening dat de prestaties tegen kunnen vallen en met het risico dat er andere, zware applicaties op dezelfde servers kunnen draaien.

De opstartkosten voor het runnen van je eigen omgeving liggen hoger en je moet de hardware zelf onderhouden, of daar iemand voor in dienst nemen. Op de langere termijn is dit wel betrouwbaarder en je hebt zelf de touwtjes in handen.

Hoe groeit je bedrijf?

De eerste vraag die ik stel als ik moet kiezen tussen de cloud en virtualisatie is: ‘hoe groeit mijn bedrijf?’ Voordat je nadenkt over het technische vraagstuk, let er op dat je het beste krijgt voor de lange en korte termijn en in de berekening wel meeneemt of er veel aan de hardware gedaan moet worden of niet.

Met de bouw van het sociale netwerk voor bioscoopbezoekers wisten we niet of en wanneer het hard zou gaan lopen. Het leasen van servers kan dan betekenen dat je te vroeg en onnodig geld uitgeeft. Flexibiliteit gaf daarom de doorslag al leverde we iets in op prestaties en beschikbaarheid. In dit geval waren we daar content mee.

Voor de webshop startup was de situatie heel anders. Het product was stabiel en de grootste groei moest nog komen. Een groei in omzet was overduidelijk verbonden aan een groei in verkeer en na een paar jaar begrepen we dat verkeer gebonden was aan seizoensinvloeden, met deze gegevens konden we zodoende rekening houden.

Met een dedicated, virtuele omgeving behielden we de flexibiliteit op micro niveau die we hadden op een cloud dienst met een ‘master plan’ op macro niveau. Dat laatste zorgde voor aanzienlijk voordeel in de kosten.

Wat betekenen prestaties en beschikbaarheid voor je bedrijf?

Een CEO zal waarschijnlijk eerst roepen dat jullie “99,999% beschikbaarheid en de snelste website in de markt” nodig hebben. Als je dan aangeeft wat dat gaat kosten is de reactie waarschijnlijk genuanceerder.

Zoals gezegd, voor ons sociale netwerk is flexibiliteit het allerbelangrijkst. We hebben acceptabele prestaties en uptime in vergelijking met onze directe concurrentie en daar zijn we blij mee.

In het geval van het marktplaats bedrijf was de situatie gecompliceerder. De marktplaatsen zijn gericht op makers van digital content zodat zij hun ‘winkel’ open kunnen stellen voor de hele wereld. Hierdoor wilden we aan de standaard eisen voor een e-Commerce app voldoen, gecombineerd met hoge IO prestaties vanwege alle ‘digitale goederen’ zoals video’s, foto’s en templates.

Op het e-Commerce vlak zijn de prestaties voor de eindgebruiker heel belangrijk. Als de concurrentie toeneemt zijn de prestaties van de front-end alleen maar belangrijker. Elke minuut dat je niet bereikbaar bent loop je geld mis.

Het is belangrijk om in de opzet van systemen en back-up systemen rekening te houden met uitval groot en klein. In de cloud moet je hier omheen bouwen, Netflix doet dit bijvoorbeeld heel goed. Artikelen van het bedrijf gelden als de standaard voor cloud hosting.

Eén van de uitdagingen van de webshops was dat we weinig technische resources hadden. In plaats van de applicatie af te stemmen op de cloud, verbouwde we ons cloud systeem tot het met onze app werkte.

Hierdoor hadden we wel volledige controle over wat er door onze netwerken liep, de prestaties werden voorspelbaar. We waren in staat om de onderliggende opslag van bestanden te optimaliseren voor onze specifieke werklast. Als de databases hogere prestaties nodig hadden dan de virtuele servers aankonden, schakelde we naar echte servers en parkeerde deze dichtbij de virtuele structuur om latency te beperken. Omdat we zoveel controle hadden over alle betrokken machines bleef de kans op groot falen klein en bleef het onderhoud overzichtelijk.

Het enige dat nodig was om op deze manier te werken was een grotere investering vooraf (die zichzelf terugbetaalde) en natuurlijk moesten we de groei van fysieke machines op orde hebben om snel genoeg virtuele servers toe te voegen.

Conclusie

Linksom of rechtsom, virtualisatie is bij een nieuw project essentieel. Ook als je een bestaand project gaat migreren trouwens. Als het onzeker is op welke termijn er meer verkeer komt, kijk dan serieus naar bestaande cloud hosting diensten.

Als het verkeer beter is in te schatten of als je specifieke prestatie wensen hebt (of als je een control freak bent), bekijk dan de mogelijkheden om je privé cloud op te zetten.