Serverless computing

Sinds enige tijd spreekt men over ‘serverless computing’ en dat geeft de indruk dat we geen servers meer nodig hebben om onze applicaties te draaien. Maar serverless is een bijzonder smaakje van cloud computing; een stapje verder in automatisering. De cloud is eigenlijk niets anders dan het oude principe van het centrale mainframe met vele virtuele machines, maar dan voor het internet. Ergens centraal zetten we een grote hoeveelheid flexibele computer- en opslagcapaciteit neer en via een terminal – de browser – kunnen we met de applicaties op die centrale computer connecteren.

Maar naast applicatie-gebaseerde clouddiensten – software-as-a-service – is het natuurlijk ook mogelijk in de cloud zelf een informatie-infrastructuur op te bouwen en bij de provider virtual machines, storage en memory af te nemen om eigen applicaties te bouwen, te testen en eigen software als een service ter beschikking te stellen aan eindgebruikers. Maar dat betekent dat je zélf de infrastructuur bij die provider moet opbouwen en managen op van te voren ‘ingekochte’ server- en storage-capaciteit.

Servermanagement
Maar het is ook mogelijk dat de provider een platform ter beschikking stelt waarbij de servercapaciteit niet van te voren hoeft te worden bepaald en afgenomen, maar waar servercapaciteit flexibel gebruikt en – belangrijker – die capaciteit per eenheid in de tijd kan worden afgerekend. Natuurlijk zijn er nog steeds fysieke servers nodig om dat mogelijk te maken, maar de gebruiker hoeft die als niet specifiek gealloceerde capaciteit gebruiken. Dus eigenlijk is het begrip ‘serverless’ wat gek gekozen, want de server is niet verdwenen, alleen voor de gebruiker is het servermanagement geautomatiseerd.

Het begrip is ontstaan bij ontwikkelaars die infrastructuur als een service verlangen waarop zij zowel applicaties als microservices kunnen ontwikkelen en laten draaien, zonder zich zorgen te hoeven maken over het servermanagement en de capaciteitsplanning bij de provider. De applicaties draaien dus ‘serverless’ omdat niet van te voren computing services hoeven te worden provisioned.

Automatisering
Wat we zien gebeuren, is dat we op basis van het cloudmodel – een flexibel en schaalbaar centraal computing-platform – steeds meer geautomatiseerde diensten kunnen aanbieden. Niet alleen de technische lagen zijn geautomatiseerd bijvoorbeeld met VMware’s vRealize suite, maar ook de service- en business-laag worden op die manier automatisch ingericht, aangesproken en beheerd. De technische laag behelst de harde IT-automatisering die hardware, operating-systeem, virtualisatie en het over verschillende cloud omgevingen heen managen van die infrastructuur als een service.

Maar boven die laag willen gebruikers specifieke applicaties laten draaien zoals Microsoft, Oracle, SAP of business datalakes, waarvoor niet alleen applicatie-specifieke instellingen en images nodig zijn maar ook gebruiker-specifieke instellingen. Denk aan speciale eCustomer-processen, governance- en compliance-instellingen en bijzondere security-vereisten. Zaken die voor de eindgebruiker enorm belangrijk zijn maar op een hoger niveau door IT-automatisering moeten worden gerealiseerd.

Service-automatisering
We spreken dan over service-automatisering, een proces waarbij de domein- en functionele gereedschappen zijn geïntegreerd om een gestandaardiseerde interface te krijgen voor alle business workflows, ongeacht de onderliggende applicaties of platformen. Het is het proces dat allerhande events, processen, taken en business-functies volledig kan automatiseren. De ultieme automatisering van zowel de IaaS als alle software die daarop voor een organisatie op gestroomlijnde wijze gebruikt moet kunnen worden.

Er zijn tegenwoordig intelligente platformen die op een geïntegreerde wijze event-management, machine intelligence en georkestreerde procesautomatisering uitvoeren. Hierdoor zien we de mensuren die nodig waren om applicatie- en servicebeheer uit te voeren, drastisch dalen. Deze automatisering is veelal gebaseerd op de oude OODA-loop van Observe, Orient, Decide en Act handelingen die oorspronkelijk uit de luchtmacht komen.

Piloten moesten in zogenaamde dogfights heel snel beslissingen nemen en acteren, daarom is het essentieel dat zij vooraf optimaal informatie beschikbaar hebben van de situatie waarin zij verkeren (observe) en waar het mogelijke gevaar zich bevindt (orient). De doelstelling is immers net iets eerder de juiste beslissing te kunnen nemen dan de tegenstander. Hierdoor wordt de theorie van de OODA-loop steeds vaker in allerhande snelle automatiseringssystemen toegepast.

Machine Intelligence
Deze systemen zijn eigenlijk de overgang naar werkelijke machine-intelligence. Hoe kan een systeem niet alleen volledig geautomatiseerd zijn maar ook intelligentie bezitten om op basis van de continue stroom oriëntatie-data (wat gebeurt er om mij heen) en observatie-data (waar moet ik nú op letten) de juiste beslissingen te nemen op basis van de activiteiten die mogelijk zijn.
In de wereld van business-automatisering zijn er drie belangrijke functies die moeten worden vervuld. Allereerst de administratie-functie over waar en in welke staat welke service, applicatie, data of informatie zich bevindt, hoe die te bereiken en hoe inhoudelijk te gebruiken. Kortom de actuele gebruiks- en metadata van alle ingrediënten in de service architectuur.

Vervolgens is de legal-functie van belang; wat mag in welke vorm wél en níet plaatsvinden. Hier valt natuurlijk de compliance en governance ruling onder, die per business-proces, per gebruiker, per geo-locatie en zelfs per applicatie verschillend kan zijn. En niet alleen vooraf besluiten wat wel en niet mag en kan, maar ook het actueel vastleggen van alle processtappen opdat ‘achteraf’ de compliance kan worden aangetoond.

Tenslotte volgt de analytics-functie die bepaalt welke algoritmen of besluitvorming moeten worden toegepast om de oriëntaties en de observaties te beoordelen en daar beslissingen over te nemen. Dit kan op een centraal niveau plaatsvinden waar met big data-verzamelingen ‘deep-learning’ mogelijkheden ontstaan, of op decentraal niveau waar we op basis van fast data over machine learning spreken. Gedecentraliseerde analytics wordt hierbij steeds belangrijker omdat we lang niet alle data meer naar een centrale plaats kunnen of mogen overbrengen.

Automatisch leren of machinaal leren is een nieuw, breed onderzoeksveld geworden binnen de kunstmatige intelligentie waar ook onze infrastructuren als een service nu verder mee worden geautomatiseerd. ‘Serverless computing’ is een eerste stap in het onder de motorkap laten verdwijnen van de totale informatie-infrastructuur.

About the Author: Hans Timmerman

Hans Timmerman (1953) is als CTO binnen Dell EMC Nederland verantwoordelijk voor de ontwikkeling en verdieping van zowel Dell EMC's lokale business en technology development als voor de bestaande strategische allianties en partnerships. Een groot deel van zijn carrière was Hans werkzaam in de Nederlandse vliegtuigindustrie. Daarna bekleedde hij bij verschillende IT-bedrijven management- en directiefuncties.