Site pictogram Cloudlets

Serverless computing met Knative

Knative logo

Wat is serverless?

Serverless computing stelt je in staat om je applicatie te draaien zonder dat je daarvoor een server nodig hebt en zonder verder omkijken naar de onderliggende infrastructuur. Serverless computing is bezig aan een snelle opmars. De mogelijkheden waren er al, maar door de versnippering van het serverless landschap met onder andere AWS Lambda, Googles App Engine en Azure Cloud Functions, was er niet één standaard en waren veel ontwikkelaars huiverig voor een Cloud-lock in. Met de lancering van Knative halverwege 2018, lijkt een standaard te ontstaan en komt de adoptie van serverless in een stroomversnelling. Knative maakt het mogelijk om applicatiecode platform-onafhankelijk te draaien, waardoor je niet langer bent gebonden aan één Cloud aanbieder. 

Dankzij Knative komt serverless binnen handbereik van een groter publiek. Doordat je met Knative niet gebonden bent aan één aanbieder met eigen werkwijzen en eigenaardigheden, is Knative in korte tijd al door veel partijen omarmd. Google, IBM, SAP, Red Hat en Pivotal dragen bij aan de ontwikkeling en GitLab kondigde in december 2018 aan ondersteuning te bieden voor serverless deployments met Knative.

Mede-initiatiefnemer Pivotal omschrijft Knative als volgt:

“A simpler way for developers to deploy and run serverless apps and functions atop Kubernetes and Istio (Pivotal)”

Wij verwachten dat serverless computing in 2019 vaste voet aan de grond zal krijgen en dat Knative zich als standaard zal bewijzen. Er zijn namelijk veel use cases waarbij serverless computing bedraagt aan een hogere efficiency en een betere omgang met resources.

Hoe is serverless anders dan containers?

Knative is middleware voor Kubernetes. Het breidt de functionaliteit uit en voegt een laag toe tussen je applicatie en Kubernetes. Wetende dat je in een handomdraai een container bouwt en uitrolt op Kubernetes, kan je je afvragen wat de toegevoegde waarde van serverless computing is. Zeker als je weet dat serverless applicaties op de achtergrond ook gewoon containers zijn. Hoe serverless verschilt van container orchestration, wordt snel duidelijk zodra je de basisconcepten van beiden kent.

Bij container orchestration met Kubernetes ben je zelf verantwoordelijk voor (in ieder geval een deel van) de inrichting van de infrastructuur. Je dient er bijvoorbeeld voor te zorgen dat je van buitenaf de applicatie bereikbaar is, automatisch opschaalt, herstart bij problemen en dat container upgrades op de juiste manier uitgevoerd worden.

In het geval van serverless computing heb je geen omkijken meer naar dat infrastructurele deel. Knative heeft dat voor je geregeld en introduceert drie nieuwe concepten waarmee je zelf alle noodzakelijke flexibiliteit en controle hebt om je applicatie te draaien. Deze concepten in vogelvlucht:

Met bovenstaande concepten biedt Knative een innovatieve oplossing waarmee je schaalbare workloads Cloud-onafhankelijk kunt draaien. Het is in het bijzonder geschikt voor het uitvoeren van functions of microservices, d.w.z. kleine applicaties met één taak. Om die reden worden platformen als Knative, AWS Lambda en Google App Engine ook wel FaaS (Functions-as-a-Service) genoemd. Het grote voordeel ten opzichte van andere FaaS-oplossingen is dat ieder Kubernetes cluster kan worden uitgebreid met Knative, waardoor je niet langer aan één leverancier bent gebonden.

Voor wie is serverless / knative interessant?

Er zijn een aantal duidelijke situaties waarin Knative voordeel biedt. De meest voordehandliggende situaties waarin de inzet van serverless computing de moeite waard is:

Aan de slag met Serverless?

Met Knative wordt het mogelijk om zelf je Serverless platform op te zetten. Knative kan geimplementeerd worden op ieder Kubernetes-cluster, zowel on premise als bij een willekeurige Cloud-aanbieder. Dat maakt het heel interessant voor use cases waarbij serverless applicaties in een private cloud moeten draaien, bijvoorbeeld vanwege strenge veiligheidseisen of wetgeving.

Benieuwd wat serverless computing voor jouw situatie kan betekenen? Laat je contactgegevens achter in onderstaande formulier voor een gratis adviesgesprek!