Als iemand die zeer veel tijd investeert in het onderzoeken van techniek en deze het liefst zo snel mogelijk inzet, kan ik een goed beeld vormen wat de trend is en waar het naartoe gaat. Blijf ook bij en lees mee. De meeste trends en hypes voelen al snel aan als afgezaagd. Met mijn toelichting zal ik het tastbaar maken. Deze trends staan in nauwe verbinding met elkaar en vormen een megatrend.
Serverless
In 2011 schreef ik al een mini e-book met als tagline ‘Kick-start your new company with server-less IT’. Het beschreef hoe je een zojuist opgezet bedrijf kunt runnen zonder een eigen server te beheren en richtte zich dus vooral op het omarmen van software as a service. Het serverless van nu richt zich vooral op de ontwikkelaars. Hoe kun je back-end functies maken zonder servers te hoeven beheren? En wat is de reden waarom je geen servers zou willen beheren? Ik wil een database om data in op te slaan omdat een applicatie data genereert en deze data betekenis heeft. Dat is dus de gewenste functie; bewaren en beschikbaar stellen van semi-gestructureerde data.
Het in de lucht houden, patchen, beveiligen en repliceren van servers kost moeite, tijd, geld en vergt expertise. Door dat naar een abstracter niveau te tillen en te delegeren naar je service provider is dit een directe besparing en maakt het je flexibeler. Nu database capaciteit vloeibaar is geworden kun je het makkelijk laten mee ademen met die behoefte. Als er zeer weinig database activiteit in de nacht is, waarom zou je daar dan dezelfde server capaciteit op willen zetten als overdag?
Voor steeds meer zaken heb je geen virtuele servers meer nodig. Denk aan data opslag, uitvoeren van rekentaken, uitvoeren van processen en applicatie logica. Dus van fysieke server via virtuele servers naar Docker containers en uiteindelijk microservices die leven in een serverless omgeving. Alle zaken die niet bijdragen een de primaire gewenste functie zijn ballast. Soort lean management voor data en rekenkracht. Snij alle verspilling weg. Bijkomend voordeel is dat je dus ook steeds minder betaald. Een eigen server kost iedere minuut geld.
Geen wonder dus dat serverless enorm in opkomst is. Iedereen heeft nu de kracht van de enterprise voor een fractie van de kosten. Zoals Simon Wardly het zo mooi quote in een stuk over Serverless: ‘I’m quite content to watch the executives of software giants flap around like headless chickens whilst their industry disappears’.
Client-side processing
Na mainframe kwamen de fat clients en client-server model, met de opkomst van het internet leek de client juist weer dunner te worden en kwam de rekenkracht van de server af. Maar nu de telefoons steeds krachtiger worden en de browser centraal staat en de software klok Javascript slaat -een taal die eerst vooral op de client uitgevoerd werd, maar nu ook op de server- is het enorm in opkomst dat de browser zelf het zware tilwerk verricht. Het tekenen van een webpagina gebeurd toch al op de browser, dus als je nu ook de data daar met microservices naar toe haalt dan kan de gehele logica en verwerking dus op de client uitgevoerd worden.
Een belangrijk aanjager hiervan is de steeds breder geaccepteerde en omarmde standaard: html5. Meer technische achtergrond vind je hier en hier. De server die de webpagina’s serveert wordt daarbij steeds slanker en mogelijk is de webserver al snel helemaal niet meer nodig. Dit staat haaks op bijvoorbeeld php waarbij de server juist nog wel de code uitvoert en het resultaat naar de browser verstuurt.
Met deze ontwikkelingen wordt ook het verschil tussen native apps die je nu voor zowel pc, iOS als Android moet ontwikkelen en bijhouden steeds kleiner ten gunste van de web/browser-app. Deze ontwikkelingen kunnen een enorme impact hebben op bijvoorbeeld het voortbestaan van de App Store en Google Play. Naast de centrale rol voor de browser en html5 ligt de nadruk steeds meer op het veelkoppige monster dat Javascript heet.
Javascript fatigue
Veel ontwikkelaars hebben een haat/liefde-verhouding met Javascript en beide niet zelden op één dag. De taal is verrassend veelzijdig, krachtig, snel en is praktisch op alle devices aanwezig zowel op de client als op de server. Helaas is het ook een draak van een taal waarin je nooit bent uitgeleerd. Het is een taal die zowel low level als high level is zonder een helder onderscheid waar het ene begint en het andere eindigt. Ook veel legacy uit het verleden zorgt voor een enorme lock-in die veranderingen enorm in de weg staan. Javascript lijkt op de de schuld van de Verenigde Staten als je het vergelijkt met de technische schuld die over de wereld met javascript is opgebouwd.
Veel ontwikkelaars ervaren dus een fatigue als het aankomt op Javascript. Soms voor de simpelste dingen heb je meer dan tien frameworks nodig om een stuk functionaliteit te bouwen,onderhouden en in de lucht te houden. Toch zie je dat ontwikkelaars zich steeds meer ergeren aan de Javascript fatigue omdat deze dus zinloos is en vandaar de trend ‘Javascript moeheid’ moeheid. Javascript is vooralsnog de meest essentiële taal om te beheersen, dus wen er maar aan.
AI is de megatrend
De drie beschreven trends leiden allemaal naar het automatiseren van de automatisering. Doordat alles steeds abstracter wordt is het veel gemakkelijker om dingen in gang te zetten en te automatiseren. Met code maak je code die code schrijft en processen uitvoert en dat allemaal zonder centrale servers die beheerd moeten worden en dat leidt tot de grote megatrend; artificial intelligence ofwel kunstmatig intelligentie, kortweg AI genoemd. Om de verwachtingen te temperen met AI, dit gaat vooralsnog niet om systemen die slimmer worden dan mensen! Zover is het nog lang nog niet en ga dus ook niet verder in op de gevaren van AI voor de mensheid.
AI manifesteert zich vaak in de vorm van ‘deep learning’ wat weer een vorm is van machine learning als subset van AI, zoiets als Scrum een implementatie is van het Agile manifest. Het komt neer op patroonherkenning. De grote drie ‘generieke’ cloud-providers; Microsoft, Google en Amazon zetten hier vol op in en na een cloud-first, mobile-first is het nu de beurt aan een AI-first strategie en ik verwacht de komende jaren geen verandering in. Maar wat zal AI opleveren? Waar zit de functie met waarde? Ik zal een paar voorbeelden geven.
Betere spraak naar tekst. Het inspreken van grote stukken tekst, maar ook het communiceren met je spraakassistent is toch te gebrekkig om breed omarmd te worden. Ruis, achtergrond geluiden, verschillende intonaties zorgen nog voor te grote afwijkingen. Deep learning biedt mogelijkheden om dit van een 95 procent goed naar 99 procent goed te brengen, essentieel voor een goede gebruikerservaring. Als het omzetten van spraak naar tekst sneller en foutlozer gaat leidt dit tot input voor chatbots of voor conversatie in het algemeen.
Alexa van Amazon komt in steeds meer huishoudens terecht en deze trend is onomkeerbaar. Door deze te knopen aan andere AI-services worden spraakassistenten steeds veelzijdiger. Spraak is een vervanger van devices zoals smartphones en AI is de absolute motor van deze trend. Als je geen device in handen hebt moet een systeem ook terug kunnen praten, dus ook natuurlijke spraak is een onderdeel wat door AI enorm wordt versterkt. De persoonlijke assistent die hieruit ontstaat leert je steeds beter kennen. Waar je werkt, waarvan je houdt, welke spullen je waar wilt bestellen, naar welke muziek je wilt luisteren en ga zo maar verder.
Zoekmachines zijn enorm beperkt en hoewel AI daar al heel veel aan toegevoegt met automatisch aanvullen, url-geschiedenis en eerdere zoekopdrachten, is er conversatie nodig om de zoekopdrachten meer betekenis te geven.
Ook voor it-security kan AI zeer veel betekenen. Niet alleen door beelden van camera’s te analyseren, maar ook verdacht verkeer, hack-pogingen, phishing, frauduleuze transacties, et cetera. Er wordt al een hoop AI toegepast, maar vanaf volgend jaar zullen de contouren van de mogelijkheden pas echt duidelijk worden.
De toepassingen voor AI zullen voordelen voor alle bedrijven, diensten en overheden bieden, AI is de basis van moderne it, de verschillen tussen wel en niet AI toepassen zullen zo groot zijn dat bedrijven die het negeren achter zullen blijven.
Serverless AI
Internet of things (IoT) heb ik hier niet genoemd. Hoewel IoT momentum krijgt, verwacht ik niet dat 2017 het jaar van het IoT zal zijn. Vorig jaar twijfelde ik ook nog aan virtual reality en dat is terecht gebleken.
Overheden die nu werk maken van de digitale transformatie zullen de vruchten van wat ik hier beschreven heb nog niet kunnen plukken. Veel bedrijven zijn er ook niet op toegerust om de voordelen van serverless it te kunnen benutten.
Enige hoop gloort er wel want veel van de mogelijkheden worden nu ge-commoditized. Dit betekent dat de late instappers wel zullen profiteren van gemakkelijke aansluiting op moderne serverless en AI gedreven oplossingen.
De aanbieders van bijvoorbeeld serverless it en AI zijn namelijk niet jouw rechtstreekse concurrent. Het zijn versterkers. Het is namelijk nog maar de vraag of de Ubers en Airbnb’s van deze wereld het zullen redden.
Interessante tijden… serverless AI for the win!
We gaan het zien Henri.
Overigens is Javascript kwalitatief uitermate teleurstellend en zal dat naar alle waarschijnlijkheid ook zo blijven.
Mijn voorspelling is dat klanten/mensen kritischer worden en hoe paradoxaal ook meer optimistischer en meer ondernemend.
Blijft dat de keuze van serverless IT toch afhankelijk is van de prijs van de aangeboden diensten. Vaak zijn eigen servers bij een bepaald aantal toch goedkoper en het beheer daarvan is ook uit te besteden.
Thanks voor de reacties.
Corne, ieder zijn ding 🙂 En als je workload heel constant is heeft het hebben van eigen servers mogelijk lagere kosten. Als je echter kijkt naar de security kennis van veel bedrijven denk ik dat het veilig maken van je infrastructuur bij een goede provider makkelijker is.
Zelf zie ik servers als een noodzakelijk kwaad. Zoals het telefoontouwtje van 30 jaar geleden.
Voorspellen is altijd leuk en als mens zijn we er niet zo goed in.
Steeds meer Internet van Dingen.
Tzijn de kleine dingen die het doen.
Servertjes zegmaar.
Servertjes met microservices, waar praten we nog over ?
Die software draait echter weer serverless. Ik raak de draad alweer kwijt.
Serverless is zonder server maar dan toch met, het draait op somebody elses computer.
Alleen, als je dat ook vindt dan heb je het niet door en ben je een dino. Ze stierven nl uit door een disruptive inslag uit de Cloud.
Ik doe nog een poging om ergens een touw aan te knopen. Het gaat vast allemaal om de interpretatie. Je zegt serverless omdat die server in dat jargon abstract is gemaakt en commodity is geworden. Niet alleen servers, ook de services blijkbaar. Vloeibare databases capaciteit bijvoorbeeld. Ik las het net nog. Doe meer met minder, doe minder met meer. Ik zeg ook maar wat. Je moet hoog inzetten.
Fat clients, thin clients. Server of client side JS, wat wordt het nu ? Het draait blijkbaar overal en het zuigt. Microservices die client side JS bedienen voor processing in browsers op fat clients die vloeibare data naar zich toe halen en daar AI verwerken ? Early or late adopter, for the win or the wining ? Man en paard ?
Ik word er inderdaad moe van.
Maar voor 2018 voorspel ik dat Henri weer komt orakelen.
Ieder zijn ding.
Ach Dino,
We willen allemaal goedkoop, snel en makkelijk. Daar gaat het stukje over en ik hoop dat ik kan blijven orakelen tot 2071.