- Door
- Robèr van den Brink (Cloudmerge)
- geplaatst op
- 11 januari 2017 10:00 uur
De opkomst van mobiele en IoT-toepassingen stimuleert de groei van serverless computing platformen. Deze nieuwe technologie is gebaseerd op de microservices architectuur die voor een revolutie in de ontwikkeling van software en de implementatie ervan heeft gezorgd. Maar wat is het? Wat zijn de voordelen ervan? En hoe ver zijn we er mee?
De definitie
Eerst maar eens proberen om dit nieuwe fenomeen helder te krijgen. Op de eerste plaats is het begrip op zichzelf al tegenstrijdig. Hoe wil je immers ‘computen’ zonder dat daar op zijn minst een server bij komt kijken. Er liggen dus wel degelijk servers ten grondslag aan deze service. Waar het op neerkomt, is dat er op een abstract niveau functionaliteit ter beschikking komt ten behoeve van de ontwikkelaars. Zij hebben daardoor geen omkijken meer naar infrastructurele en operationele issues. Daardoor kunnen zij zich volledig richten op hun core competentie: het schrijven van code.
Conceptueel gezien zou je kunnen zeggen dat er door de inzet van serverless een drietal extra lagen worden toegevoegd. Behalve compute resources, storage en netwerk zijn er nu ook ‘fabric’, ‘framework’ en functies.
De ‘fabric’ verwijdert alle operationele functionaliteit waardoor een ontwikkelaar als het ware te maken heeft met een black box. Het ‘framework’ faciliteert de creatie van code op basis van een ‘event’ gedreven programmeermodel. In de wereld van IoT waar er sprake is van veel in- en output is dat ideaal, omdat de betreffende applicatie zich snel moet kunnen aanpassen aan veranderde omstandigheden. De functielaag tot slot, biedt alle mogelijke pakketten en een referentie-architectuur om de betreffende applicatie daadwerkelijk te bouwen. Hier bevindt zich de logica en de intelligentie om tot de gewenste output te komen.
De aanbieders
Google Cloud Platform biedt serverless computing aan onder de naam Cloud Functions. Haar definitie: een lichtgewicht, event gebaseerde, asynchrone compute oplossing die ontwikkelaars in staat stelt om kleine, enkelvoudige functies te creëren die reageren op cloud events zonder dat daarvoor een server- of runtime-omgeving beheerd hoeft te worden. Meer weten?
AWS zet deze service in onder de noemer Lambda. Code uitvoeren zonder provisioning of het beheer van servers. Je betaalt alleen voor het daadwerkelijke verbruik. Als je de code niet gebruikt zijn er geen kosten. Met Lambda, kun je code uitvoeren voor vrijwel elk type applicatie of backend service – allemaal zonder enige vorm van administratie. Upload enkel de code en Lambda zorgt voor alles wat nodig is om de app te laten functioneren; van up- en down scaling tot en met het verzorgen van een hoge beschikbaarheid. Meer weten?
Azure Functions is het antwoord van Microsoft op deze ontwikkeling. Haar omschrijving is kort en bondig: een event gebaseerde ‘serverless compute experience’ om softwareontwikkeling te versnellen. Het schaalt op basis van de vraag en er wordt alleen betaald voor de resources die worden verbruikt. Meer weten?
Uiteraard hebben ook de andere grote spelers hun propositie op het vlak van serverless computing. IBM doet dat met IBM Bluemix OpenWhisk. Kijk hier voor meer informatie.
Een partij die als niche speler is te benoemen, is Iron.io.
En als we het dan toch over niche spelers hebben. Ook de start-up Serverless is de moeite waard om te beschouwen. Zij leveren een ontwikkel framework waarmee op relatief eenvoudige wijze gebouwd kan worden op de infrastructuur van AWS Lambda.
De voordelen van serverless computing
Schaalbaarheid: door het ontbreken van servers (vanuit het perspectief van de ontwikkelaar) zal het schalen van de applicatie, als gevolg van de load, automatisch door het onderliggende platform geregeld worden. Het daadwerkelijke aantal gebruikers maakt niet uit. Als gevolg hiervan hoeft een ontwikkelaar zich geen zorgen te maken over provisioning.
Kostenvoordelen: in een conventioneel model zijn er processen die constant actief zijn. De onderliggende infrastructuur wordt daardoor belast en kosten lopen door. Serverless computing zal uiteindelijk leiden tot een lagere TCO, omdat het ‘pay-per-use’ model ten volle wordt benut.
De status
Serverless computing is nog niet voor ieder bedrijf weggelegd, laat staan voor iedere ontwikkelaar. Veel belangrijker bij het beoordelen van deze technologie is het feit dat het gross van de applicaties gewoonweg niet geschikt is voor deze manier van distribueren. Er zal op zijn minst sprake moeten zijn van een ‘cloud native’ applicatie.
Vooralsnog hoeven we dus niet te rekenen op een massale gang naar de serverless compute platformen. Met name op het vlak van IoT gerelateerde apps zijn er duidelijk voordelen te benoemen en aangezien dit doorgaans apps zijn die vanuit een ‘greenfield’ ontwikkeld worden, zullen daar de eerste initiatieven te zien zijn. Keep you posted.
Geschreven door Robèr van den Brink (Cloudmerge)
Dit ingezonden artikel is geschreven door Robèr van den Brink van Cloudmerge.
Stuur ook uw blog, achtergrond artikel of andere bijdrage in!
Indien u zelf een interessante bijdrage, zoals een blog, how-to of achtergrond heeft, dan plaatsen wij die graag en dat kost u niks. Neem contact op met de ISPam.nl redactie via [email protected] of kijk op deze pagina voor meer informatie over het leveren van een bijdrage aan ISPam.nl.