Blog Tune into the Cloud: Gregor Petri over the need for speed

Gregor Petri

Het is inmiddels algemeen bekend dat we in de cloud snel kunnen starten. Maar nog belangrijker dan snel starten is dat we snel resultaat hebben. We hebben het dan over high productivity platforms, ofwel PaaS. Grappig genoeg kwamen cloud leveranciers als Microsoft en Google eerst met hun PaaS platform en pas later - toen ze zagen hoe snel de op virtual machines gebaseerde IaaS services van Amazon populair werden - deden ze technisch een stapje terug en lanceerden een lower level IaaS service.

Het bereiken van cloudiness aspecten zoals schaalbaarheid, elasticiteit, betalen naar (nuttig) gebruik en service oriëntatie is echter best lastig als de bouwstenen louter bestaan uit virtual machines en load balancers. Netflix is een voorbeeld van een bedrijf die dit tot in de finesses beheerst, maar dit was niet eenvoudig om te realiseren (Netflix heeft de door haar ontwikkelde tools inmiddels beschikbaar gesteld als open source, zodat anderen het wiel niet opnieuw hoeven uit te vinden, maar desalniettemin blijft het complex).

Inmiddels zien we bij de toonaangevende cloud leveranciers een kentering. In plaats van klanten te vragen functionaliteit in virtual machines onder te brengen en vervolgens zelf te regelen dat er op ieder moment voldoende van die machines actief zijn, laten ze klanten functionaliteit eenmaal definiëren waarna de cloud provider zorgt voor de verdere uitvoering.

Een goed voorbeeld hiervan zijn Amazon’s recente Lambda service en Joyent’s al langer bestaande Manta service. Hierbij kan de cloud gebruiker definiëren (bijvoorbeeld in Javascript) wat er moet gebeuren als een object wordt opgeslagen of wordt geopend. Bij het opslaan van een foto kan bijvoorbeeld automatisch alvast een thumbnail en een lijst met zoektermen worden aangemaakt. De ontwikkelaar hoeft zich niet af te vragen of op enig moment 100 of 100 miljoen foto’s worden opgeslagen (en of dat hij hiervoor 10 of 10.000 VMs in de lucht moet hebben). Dat is nu de zorg van de cloud provider.

In deze architectuur definieert de gebruiker louter microservices en specifieert wanneer die moeten worden uitgevoerd. De rest (de uitvoering) is aan de cloud provider. Dit is een significant andere manier van programmeren. Sommige van ons kennen dit vast nog uit de tijd van Visual Basic en daarvoor Oracle Forms, waar we functies koppelden aan events (veldjes en knoppen) in de userinterface. In de cloud kunnen die events overigens van alles zijn (opslag van data van een internet of things sensor, het aanloggen of toevoegen van een nieuwe gebruiker, het optreden van een fout, het overschrijden van een (kosten) grens, et cetera).

Look ma, no servers!

Dankzij deze aanpak kunnen gebruikers sneller en grotendeels ‘serverloos’ steeds grootschaliger event driven applicaties gaan ontwikkelen. Dat het overigens nog sneller en productiever kan, laten uber-platforms als Omnifone en Twillio zien. Deze gespecialiseerde platformen voor het maken van respectievelijk muziek applicaties (zoals Spotify) of communicatie applicaties (zoals Uber, de taxi app) zorgen voor een nog significantere versnelling van de steeds belangrijkere ‘time to market’. Zij doen dit door naast slimme technology ook alvast ‘relevante content’ ter beschikking te stellen. Zo heeft Omnifone voorgedefinieerde contracten met de meeste muziekuitgevers en kan Twillio out of the box gebruikt worden met honderden mobiele telefoon providers. Taxi App Uber is een goed voorbeeld van wat een snellere time-to-market voor mind- en marketshare en - niet onbelangrijk - voor de beurswaarde, kan betekenen. Traditionele cloud providers die nog denken dat ze - door het toevoegen van een paar grotere of snellere VM’s of door over te gaan op flash storage - de concurrentie met deze nieuwe platformen nog een tijdje aankunnen, zullen in mijn ogen de boot drastisch gaan missen.

De hogere productiviteit die deze moderne aanpak biedt lijdt overigens wel vaak tot significant meer cloud vendor lock-in. En klanten moeten zich dan ook afvragen of ze bereid zijn om in ruil voor die snelle time-to-market een stukje vrijheid op te geven (of zoals Simply Red al zong: ‘I’ll give it all up for you’ 3x).

Met ‘Something Got Me Started’ (1991) toonde Simply Red - tot die tijd met name bekend door de balads van lead singer Mick Hucknall - dat er qua tempo best een tandje bij kon. Hoewel het nummer, anders dan Simpy Reds eerdere hits, niet meteen de top 10 haalde, beheerste het wel vele maanden achter elkaar de club en dance lijsten.