maandag 28 januari 2019

Serverless functie in de praktijk


"Show, don't tell" is een credo die hoog op mijn favorietenlijst staat. Ik schrijf veel over cloud computing en innovatie en heb geleerd dat voorbeelden veel krachtiger zijn dan het smijten van jargon om te laten zien hoeveel je weet. Net als met goede bronnen kun je met voorbeelden overtuigend laten zien wat je bedoelt, en hier heb ik weer een prachtig voorbeeld. Eerst beschrijf ik de techniek en het probleem, daarna bied ik de stappen aan om het voorbeeld in de praktijk in te zetten. Uiteraard komt er weer een heel boeket aan concepten krachtig bij elkaar. I Love it! net als engelse uitdrukkingen gebruiken. 



Concept numero uno: HTTP Headers voor veiligheid.

Je weet wellicht dat ik artikelen schrijf voor Computable. Het heeft mij jaren geduurd om ze te overtuigen HTTPS in te zetten. Maar met HTTPS ben je er nog niet, je hebt ook zoiets als HTTPS headers en als je geen idee hebt waar ik het over heb, dan ben je in goed gezelschap. Een zeer groot deel van bedrijven die websites leveren en beheren horen dit ook voor het eerst. Om een idee te geven; ga eens naar https://observatory.mozilla.org/analyze/www.computable.nl . Je kunt in dat laatste gedeelte ook andere websites plaatsen, maar dat is even niet het punt. Als het goed is zie je dat Computable een F scoort op HTTP Headers. Wat betekent dit? Kort door de bocht dat ze hun gebruikers niet beschermen tegen boosaardige code, phishing, injectie van javascript code uit andere bronnen, etcetera. HTTP headers zijn eigenschappen die je meegeeft vanuit de server naar de gebruiker die helpen de veiligheid te verhogen. HTTP headers zijn eigen laaghangend fruit als het gaat om veiligheid. Het lost niet veel problemen op, maar het kost ook niets om in te zetten. Slecht een paar simpele instellingen. Bam! Grote kans dat je nu al iets geleerd hebt en meteen ook iets om bevriende website eigenaren mee te plagen. De F is overigens normaal, de A is uitzonderlijk. De Content Security Policy is namelijk nodig om een A te krijgen en helaas vergt deze een enorme inspanning. Dus de B zul je veel tegenkomen en is in ieder geval wat. De F zegt eigenlijk dat de website eigenaar in de regel nog geen idee heeft, jij nu wel. Echter dit is bijvangst van deze blog.


Concept twee: Serverless.

Serverless is een concept waarbij je rekenkracht en data gebruikt waarbij je niet zelf de servers hoeft te beheren waarop deze berekeningen en data verwerking worden uitgevoerd. Mits goed toegepast is serverless enorm schaalbaar, snel, goedkoop en veilig. Daarnaast kan het een enorme impact hebben op je beheerkosten, in de positieve zin welteverstaan. Serverless in de zuivere vorm betekent ook dat je afneemt van een cloud provider. Serverless betekent dat jij geen servers hebt om te beheren.

Serverless kun je inzetten voor Application Programming Interfaces (API's), micro service architectuur, maar ook voor databases, data opslag en algemene functies. Serverless hebben ook beperkingen en zijn zeker niet in alle gevallen de beste keuzes. Als je nieuwe dingen bouwt loont het wel serverless te onderzoeken. Voor bijvoorbeeld start-ups of software bouwers kan dit het concept zijn die een bedrijf succesvol maakt. Opschalen in al zijn facetten is een horde waar veel renners over struikelen en met serverless neem je misschien wel een horde weg.

Een ding waar wij serverless voor inzetten is voor websites. Technici noemen dit vaak statische websites, ofwel websites die niet snel veranderen. Door een stukje dataopslag zoals Amazon S3 bucket in te stellen als webserver kun je een snelle, veilige website opzetten die ook nog eens goedkoop is. Je koppelt zo'n bucket aan een domein en plaatst er een index.html bestand in en het draait. Het nadeel is alleen dat je niet eenvoudig HTTP headers op een duurzame manier kunt toevoegen en zeker als je een header wilt aanpassen moet je dan alle pagina's hierop aanpassen.

Concept drie: Serverless Lambda functies

Door een serverless functie te schrijven die HTTP Headers injecteert voordat ze naar de surfende gebruiker gaan kun je op eenvoudige manier al je statische websites hiervan voorzien. In dit voorbeeld gebruik ik hier Lambda @ Edge van Amazon Web Services. Lambda zag het licht in 2014 als eerste serverless functie oplossing. Met de Edge toevoeging verplaats je deze naar de rand van je infrastructuur. Dus net tussen dat stukje waar je data Amazon verlaat en via het internet naar de gebruiker vertrekt. Een andere serverless service -cloudfront- zorgt voor een https certificaat en dat de website altijd razendsnel is, hier voeg je in de instellingen de lambda functie toe. Je hoeft deze dus 1 keer te schrijven en daarna kun je hem op alle statistische websites toepassen. Fire and forget, om bij populair Engelse taalgebruik te blijven.
Zelf uitproberen? Hier is een mini tutorial met wel alle essentiële elementen.
Er vanuit gaande dat je een statische website hebt gemaakt in een S3 bucket en je deze via een cloudfront distributie van HTTPS voorziet zijn hier de stappen:

Ga naar Lambda functies in je AWS console. Switch naar regio N-Virginia. Dit is nodig omdat anders Cloudfront de functie niet accepteert. Klik op "Create function" en geef het een naam, bijvoorbeeld addHTTPHeaders.  Kies voor runtime Node.js.6.10. Dit is op dit moment de enige mogelijkheid voor edge functions. Kies bij Rol "Create a new role from one or more templates". Alle functies moeten vanuit een security context worden uitgevoerd en dus niet meer rechten hebben dan strikt noodzakelijk. Deze rol geef je ook een naam zodat je deze kunt relateren aan de functie en deze documenteer je ook dat andere mensen in de organisatie weten wat het is zodat het kan worden opgeruimd als dingen veranderen. Daarna kies je een template policy die aan de rol gekoppeld wordt. Hier kies je voor Lambda@Edge permissions.
Nu zie je een stukje voorbeeld code voor de index.js. Deze maak je leeg en plak je onderstaande code:

'use strict';
exports.handler = (event, context, callback) => {
   const response = event.Records[0].cf.response;
   const headers = response.headers;
   
   headers['strict-transport-security'] = [{
       key: 'Strict-Transport-Security',
       value: "max-age=31536000; includeSubdomains; preload"
   }];
   headers['x-content-type-options'] = [{
       key: 'X-Content-Type-Options',
       value: "nosniff"
   }];
   
   headers['x-frame-options'] = [{
       key: 'X-Frame-Options',
       value: "DENY"
   }];
   
   headers['x-xss-protection'] = [{
       key: 'X-XSS-Protection',
       value: "1; mode=block"
   }];
   headers['referrer-policy'] = [{
       key: 'Referrer-Policy',
       value: "same-origin"
   }];
   
   callback(null, response);
};

Deze code bevat key value pairs voor de divers headers. De CSP header heb ik weggelaten omdat deze alle javascript op je website kreupel maakt. Dit is zeg maar voor gevorderden.

Sla de functie op. Nu moeten we hem alleen nog even aanzetten en dat doe je door bij Actions  op "Publish new version" te klikken. Boven Actions zie je nu een ARN verschijnen met een versienummer. Sla deze ARN even op in je kladblok. Dit is in feite het unieke object adres naar deze functie.

Ga nu naar CloudFront, kies een distributie die je aan wilt passen, ga naar de tab behaviors, klik op de default en kies Edit. Scroll naar beneden tot je "Lambda Functions Associations" ziet en kies in de keuzelijst "Viewer Response". Dit is in feite het moment dat de output van de functie aan een request (opvragen van een webpagina) wordt toegevoegd. Plak daar achter de ARN die je zonet hebt opgeslagen, vink "Include body" niet aan en druk op "Yes, Edit".
Ga naar https://observatory.mozilla.org/analyze/ en vul daar het webadres in wat je zonet hebt aangepast, bijvoorbeeld  www.mijnwebsite.nl en zie dat je nu ineens een B scoort.

Ik haal mijn kennis van het internet en de kracht van zoekmachines kan bijna niet overschat worden. Door te schrijven hoop ik zo ook iets toe te voegen. Als iets niet duidelijk is geef ik met liefde een toelichting. Tot slot de bron die mij geholpen heeft de basis voor elkaar te krijgen:


vrijdag 17 maart 2017

GDPR simpel gemaakt


25 Mei 2018 moeten alle Nederlandse organisaties voldoen aan de General Data Protection Regulation (GDPR). Dit is een hoop tekst en daarom heb ik het hier simpel voor je gemaakt.


Wat wordt er van iedere Europese organisatie verwacht?

  1. Ieder persoon waarover je data op wilt slaan moet expliciet toestemming hiervoor geven.

  2. Je geeft aan welke data je over die persoon opslaat en om welke reden.

  3. Daarnaast communiceer je met ieder persoon waarover je data opslaat met welke andere organisaties je deze data deelt.

  4. Het is de verantwoordelijkheid van de organisatie om de persoonsgegevens te beschermen tegen lekken en misbruik.

  5. Als je deze data deelt met andere organisaties moet je een bewerkersovereenkomst sluiten met deze organisaties.

  6. Je blijft altijd verantwoordelijk over de persoonsgegeven die je opslaat en verwerkt. Je bent verplicht te controleren of de organisaties met wie je bewerkersovereenkomsten sluit, dat deze persoonsgegevens zorgvuldig beschermen tegen onbedoelde toegang.

  7. Ieder persoon waarover je data opslaat heeft het recht deze data in te zien, ofwel; recht op inzage.

  8. Als je als organisatie gegevens over personen deelt met anderen, bijvoorbeeld op een forum of zoekmachine, dan heeft deze persoon in bepaalde gevallen het recht om vergeten te worden.


That's it! Als je hieraan voldoet kun je niet gestraft worden voor het lekken van data. Overigens ben je wel verplicht als er een datalek optreedt om dit te melden aan de autoriteit persoonsgegevens (AP).


Als je deze bondig manier van communiceren goed vindt, geef dat dan aan. Ik zal de komende maanden in heldere hapklare brokken aangeven wat je als organisatie kunt doen om GDPR compliant te zijn. Gewoon concreet. Natuurlijk zijn er veel details, maar alles draait om de basis die ik zonet beschreven heb.


Mail je vragen of neem persoonlijk contact op voor antwoorden.

maandag 31 oktober 2016

Cloud Security Alliance Summit was waardevol

Donderdag 13 oktober was de CSA Summit op het hoofdkantoor van IBM Nederland in Amsterdam. In zes sessies werd er kennis gedeeld op het gebied van cloud security. Hier is mijn verslag over de middag.

Het thema van de summit was Cloud Orchestratie en de eerste spreker is Tom Deprins van KBC Group (België). Een bank qua personeel vergelijkbaar met de huidige grootte van ABN Amro, en aanwezig in vele Europese landen. KBC heeft gekozen voor een strategie om Office 365 van Microsoft in zijn geheel te omarmen en Deprins legt uit welke aspecten belangrijk zijn om dit mogelijk te maken. Voor mij was deze binnenkomer al genoeg om de dag een succes te noemen.

Alle data - buiten het core banking zelf - wordt in de basis opgeslagen in de cloud van Microsoft. Een paar uitspraken uit mijn hoofd geciteerd. 'De data in sharepoint online was veiliger bij Microsoft dan op de on-premises omgeving.' 'Ga de dialoog aan met toezichthouders, in de basis is er zeer veel mogelijk, vooral als je er open over bent.' 'De mate van security die Microsoft aanbiedt gaat verder dan welke je on-premises kunt realiseren als het gaat om kantoorautomatisering.' 'Zelfs hele gevoelige medische data van werknemers is opgeslagen in sharepoint online.'

Dat zijn nog eens uitspraken! Heel inspirerend vond ik de open manier waarop Deprins de ervaringen bij KBC deelt. Alles werd positief benaderd en met overtuiging. Het is een mooie opsteker voor Microsoft en zal vast gebruikt worden in marketingdoeleinden. Natuurlijk betekent alles opslaan bij Microsoft dat je een sterk vertrouwen moet hebben, aangezien Microsoft je sleutels beheerd voor het beveiligen van gegevens. Blijkbaar waren de procedures van Microsoft voor gegevensbescherming voldoende voor toezichthouders om verregaande data opslag bij een Amerikaans bedrijf mogelijk te maken.

Na Deprins kwam Martin Vliem van Microsoft aan het woord. Was het tempo van Deprins al behoorlijk vlot, Vliem wist daar nog een paar tandjes bovenop te doen. Ja, het was een marketing verhaal over Microsoft, maar met voldoende inzichten om het geheel toch aantrekkelijk te houden.

Na Vliem kreeg Dave van Stein van Xebia het woord met een verhaal over security en Agile en hoe deze tegenstelling geen tegenstelling blijkt te zijn. De essentie van wat ik ervan onthouden heb - ik heb de sheets van de dag nog niet ontvangen - is dat security steeds verweven moet worden in je sprints en dat je bijvoorbeeld ook 'evil user stories' daarin mee moet nemen.

Daarna kwam het verhaal van Charlie Howe - de enige Engelse spreker van de middag - van Skyhigh Networks. Helaas met een groot 'wij van wc-eend'-gehalte, maar toch heb ik er wat dingen uitgehaald die ik daarvoor nog niet wist. De hele term casb (spreek uit als Kasbie) ofwel cloud-access-security-broker was mij onbekend. Niettemin snap ik het belang van het product van Skyhigh wel en zal ik me hier zeker verder in verdiepen. Dus in dat geval een win. Het gaat verder waar online identity access management oplossingen ophouden. Hoe mitigeer je shadow IT? Hoe hou je controle over wat je gebruikers uitspoken? Welke middelen heb je tot je beschikking? Het verhaal paste zeker goed in de context van de summit.

Rein van Weerden van Snow presenteerde het volgende gedeelte. Hij vertelde een horror story over security met als tagline 'binnen zonder kloppen'. Helaas waren de voorbeelden - bijvoorbeeld een cloud in de kelder - niet heel sterk en bleef het verhaal wat oppervlakkig waardoor het niet helemaal tot zijn recht kwam. De conclusie was dat te snel beginnen met bouwen een slecht idee is. In zijn voorbeeld kwam naar voren dat de klant - een eigenaar van de te bouwen cloud - zowel klanten als leveranciers naast elkaar in de cloud wilde laten leven. In mijn ogen een standaard verzoek als je een cloud bouwt. Vervolgens moesten die klanten flexibel kunnen zoeken in de data, maar mochten ze elkaars data niet zien en wel eigen custom plug-ins kunnen installeren. Volgens Van Weerden werd dat een security nachtmerrie, al lees ik nog steeds een basis randvoorwaarde voor iedere cloud.

De premisse van het verhaal is dat als je in een hellend vlak van schuivende vereisten terecht komt het beschermen van data erg moeilijk wordt, vooral als security een afdeling is in plaats van een basishouding en als deze die niet nauw bij het project betrokken is en daar ben ik het dan weer roerend mee eens.

Na een korte pauze kwam er een andere bank aan het woord: Olaf Streutker van de ABN AMRO. ABN 'doet' het niet met Microsoft, maar heeft IBM als partner. Wel waren de bevindingen van Streutker niet heel anders dan die van Deprins. Er zaten toch wat interessante stellingen in die ik uit mijn hoofd helaas niet meer op kan lepelen. Het tempo van de dag was behoorlijk hoog en op een gegeven moment nam ik niet zoveel meer op.

De uitsmijter van de dag kwam van Peter van Eijk, mijn cloud mentor. Hij had voor mij een bekend verhaal, maar zeker ook met een twist. Ieder tijdperk van de it van de jaren zestig tot en met het cloud tijdperk was er één van een disruptief karakter en kwam tot de volgende conclusie; 'controleer de automatisering door het automatiseren van de controle.' Het verhaal werd luchtig gebracht en ging er zo aan het einde van de dag gemakkelijk in. Vragen bleven achterwege, iedereen was toe aan een borrel.

Er waren zo'n zeventig aanwezigen, waarvan vier vrouwen. De aanwezigen waren veelal mensen met een security functie. Van auditor tot security verantwoordelijke. De locatie was prima verzorgd en het was een waardevolle besteding van de middag. Ik ging met meer inzichten naar huis dan ik gekomen was.

Dit artikel is eerder gepubliceerd op Computable.nl 

woensdag 28 oktober 2015

Ieder bedrijf profiteert van een Digitale Academy

Hoe zorg je ervoor dat nieuwe medewerkers bekend worden met de visie en strategie van de organisatie? Hoe zorg je ervoor dat zij de regels van integriteit kennen en deze meetbaar is? Hoe zorg je ervoor dat de afdeling verkoop een uniform verhaal vertellen met de juiste argumenten en hoe train je dat? En hoe zorg je ervoor dat je klanten alles weten van jouw producten en diensten? Of doen ze de basiskennis van hulpverlening op en kennen de procedures van een ontruiming?

Dit zijn allemaal voorbeelden wat een digitale academy toevoegd. Nu zijn er drie grote bezwaren tegen dit principe: Reanimeren of een brand blussen leer je niet achter een beeldscherm. Een goed verkoopgesprek zonder feedback ook niet. Daarnaast zul je met een veredelde powerpoint presentatie als content ook niet bereiken wat je voor ogen hebt en in het verlengde daarvan, goede content zal wel heel duur zijn.

Hoe ga je met deze bezwaren om?

100% digitaal is geen 100% oplossing, in situaties heb je dus praktijk training nodig. Het zou een voordeel zijn als de academy deze vorm van blended learning ondersteund. Dus dat de cursist ziet wanneer de praktijk trainingen plaatsvinden en zich met een klik erop in kan schrijven. In het verlengde daarvan kan ook het resultaat van de fysieke training weer opgeslagen worden in de academy.

Zo kan de certificering bestaan uit digitaal en praktijk. 

Het genereren van goede content is niet triviaal, daar zijn specifieke competenties voor nodig. Zo geloof ik dat inhoud in kleine relevante delen moet worden opgedeeld en is het raadzaam als deze aansluit bij het (taal) niveau van de cursist. Door bijvoorbeeld een nul-meting uit te voeren kan bij een slecht resultaat eerst andere content worden aangeboden voordat de eigenlijke training begint. Het opdelen in kleine stukken inhoud heet micro learning en inhoud aanbod aanpassen aan het niveau van de cursist heet adaptive learning. 

Dan als laatste bezwaar: De prijs. Voor goede inhoud heb je meerdere mensen nodig, daarnaast moet inhoud getoetst worden en is het belangrijk dat inhoud er aantrekkelijk uit ziet. Een goede wijn uit een knijppak smaakt nu eenmaal minder. Een bedrijf dat ervaren is met het maken van hoogwaardige content heeft strakke werkwijzen nodig om de kosten zo laag mogelijk te houden. Hiervoor is ervaring, filosofie en continu verbetering nodig. Goede gerichte content zal niet snel goedkoop worden. Dit hoeft ook niet per se. Uiteindelijk is het een afweging tussen kosten en de waarde die het oplevert. 

Doorgaan op traditionele wijze leidt vaak tot hogere kosten en lagere opbrengst. Een klassikale training is een piekmoment. Alleen kun je maar beperkte hoeveelheid kennis onthouden en oefenen in één dag en zonder herhaling zal deze kennis vaak snel wegzakken. Juist hier kan een digitale academy een oplossing zijn. Denk aan periodieke mini toetsen op je mobiel, eventueel met een speelelement dat je resultaten kunt vergelijken met collega's. Of automatische notificaties als er nieuw materiaal beschikbaar is. 

Een goede digitale academy betaal je in lijn met de waarde die het toevoegt. Overigens geloof ik met digitaal leren niet in big bang scenario's waarin je meteen grote hoeveelheden content aanbied. Beter begin je klein en probeer je met een korte iteratie te toetsen of een digitale academie waarde toevoegt. Als dit zo is, dan ga je een stapje verder. Levert het echter te weinig op dan kun je nog stoppen of bekijken waarom het te weinig oplevert. 

Dan zijn er nog een aantal randzaken van belang. Je wilt niet dat een digitale academy nog meer administratieve last met zich meebrengt. Hoe ga je om met mensen toegang verlenen? Maar net zo belangrijk: Hoe zorg je ervoor dat mensen geen toegang meer hebben als ze bijvoorbeeld uit dienst gaan? Integratie bijvoorbeeld met een al in gebruik zijnde systeem zoals Windows Active Directory zou administratieve belasting al significant lager maken, of denk aan het aanbieden van zelfregistratie. 

Daarnaast biedt een goede academy ook het ontsluiten van data aan middels een Application Programming Interface (API), niet nog een eiland en puntsoplossing in het applicatie landschap. 

zaterdag 3 oktober 2015

It’s not about the cloud stupid!

Veelal wordt er discussie gevoerd over naar de cloud gaan of niet. Zelf schrijf ik natuurlijk veel over cloud computing, maar roep ik ook dat cloud computing mij weinig boeit. Klinkt tegenstrijdig, maar is dat niet als je verder kijkt. Lees je even mee?


Cloud computing gaat over IT, IT gaat tegenwoordig over alles wat met computers te maken heeft. Zelfs als je webpagina's maakt dan zit je tegenwoordig "in de IT" en heet het deelgebied front-enden. Aan het stuk werken wat de eindgebruiker ziet. IT is ook een onderdeel of afdeling geworden van ieder bedrijf. Ieder bedrijf heeft computers, een netwerk en ook een website. Grote IT projecten mislukken nogal eens lezen we op het nieuws en het is veelal een kostenpost.


Legacy

Kijk eens naar de manier waarop IT ontstaat en groeit binnen een bedrijf. Het begint met een netwerkje en een een server voor bestanden en email. Als er applicaties bij komen is daar ook een server voor nodig en die applicaties moeten hun data ergens kwijt en zo komt dat op een database server terecht. Voor alle software die je hebt moet je licenties aanschaffen en als je groeit wordt dat uitdagender om bij te houden, net als wat gebruikers met hun PC kunnen doen. Bedrijven die al langer draaien en behoorlijk gegroeid zijn hebben IT die ook al jaren mee gaat en veelal gebaseerd zijn op het model wat ik zonet beschreven heb. Door de opkomst van het internet en het steeds krachtiger maken van de browser is het ook mogelijk om bepaalde software niet meer in licentie vorm te kopen, maar af te nemen als dienst over het internet. De uitdaging daarbij is: Hoe zorg je ervoor dat als iemand uit dienst gaat, niet meer gebruik kan maken van de dienst die over het internet afgenomen wordt?


Een overgroot gedeelte van alle bedrijven van enig formaat gebruikt "Active Directory" van Microsoft voor het beheren van gebruikers account op het eigen netwerk. Als je software aan de Active Directory kunt koppelen heeft dat als voordeel dat als je het account opslot zet in de AD, dat de gebruiker er direct niet meer bij kan en geweerd wordt op het netwerk.


Op het moment dat er nieuwe software aangeschaft word is er vaak integratie nodig. Je kunt bijhouden wie je klanten en prospects zijn in een CRM, maar je wilt wellicht ook een koppeling om te zien hoeveel omzet je met die klant vorig jaar gedraait hebt en hoe dit zich verhoudt met de omzet afgelopen maand. Onder druk van budget en deadlines moet er vaak gekeken worden naar de snelste manier om dit soort zaken te regelen. Dit heeft als gevolg dat het zijn flexibiliteit verliest of dat het niet netjes gedocumenteerd wordt. En voila, het systeem wordt groter, het functioneert, maar door de tijd heen verouderd het doordat er krachtigere nieuwe mogelijkheden komen. Dit noemt met Legacy. De kosten om het systeem in stand te houden lopen jaarlijks op, veranderingen worden steeds duurder en riskanter om door te voeren en de kosten om er afscheid van te nemen lopen daardoor ook steeds verder op. Dit is het probleem waar iedere organisatie tegenaan loopt.


Leveranciers van software diensten beloven echter de oplossing die vaak aantrekkelijk geprijsd is en jouw als klant ontzorgt. Maar als je het onderliggende probleem negeert -dus waar je staat en vandaan komt- dat bouw je gewoon verder aan een inflexibel gedrocht. Nu is dat geen probleem als je omzet toeneemt, of de concurrent dezelfde problemen ervaart. Het wordt wel een probleem als er alternatieven of nieuwkomers komen die aanbieden wat jij aanbiedt, maar zonder de technologische schuld die legacy met zich meedraagt.


Verlichting

De weg naar verlichting kun je echter niet met een olifantenpaadje bereiken. Er is gewoon noeste arbeid, visie en leiderschap voor nodig om je organisatie aan te laten passen aan de veranderende wereld die bovendien versnelt verandert.


Nu is het verleidelijk om IT uit te besteden of "naar de cloud te gaan", maar je moet je huidige organisatie die functioneert respecteren anders zullen al je veranderingen niet brengen wat je voor ogen hebt, of wat je beloofd is.


Stukjes legacy verbinden met nieuwe mogelijkheden trekt je alleen maar verder het moeras in. Het hybride scenario wat tegenwoordig "hot" is lost je probleem niet fundamenteel op. Met het hybride scenario wordt bedoeld dat je de huidige omgeving verbind aan de mogelijkheden die via het internet -vaak als cloud aangeduid- aangeboden worden. Nu zal dit misschien een noodzaak zijn, maar hybride is geen eindpunt maar een doodlopende weg als je er in blijft hangen.


Je moet terug om te kijken waar je IT probleem ontstaan is. Het groeien en uitbreiden van functionaliteit onder druk van te krappe budgetten, te strakke deadlines en niet IT mensen die niet inzien dat er een goede en een slechte manier is om nieuwe dingen te omarmen. In IT geldt misschien nog meer dan elders dat de prijs van "even snel" extreem duur achteraf wordt.


Hoe IT gedaan werd is niet goed. IT is namelijk niet één ding. Natuurlijk met SAP kun je zeer veel dingen in één systeem doen, maar naast dat dit per definitie verouderd is, is het niet compleet. IT is dus een verzamelingen van kleinere systemen die als geheel voor een organisatie moet functioneren. Als je ook in ogenschouw neemt dat er steeds meer verschillende apparaten zijn en verschillende operating systemen en dat we vervolgens deze ook op meer plaatsen moeten kunnen gebruiken beseft dat vaste geïnstalleerde gespecialiseerde software die meer kost dan 1 click om te installeren je probleem verergert. IT is niet meer gebonden aan één kantoor en vaste plekken. IT die niet flexibel is, is te duur om in stand te houden.


Goede software dient dus niet gebonden te zijn aan een plek en dus eigen server plaatsen op een locatie loopt ten einde. Er is geen toekomst voor vaste IT systemen in je pand. Dit is welliswaar wat kort door de bocht. Een bank transactie server zal niet snel mobiel worden, maar de stelling gaat wel op voor zeg 99% van alle gevallen.


The big three

Nu wordt het tijd om de grote drie aanbieders te pluggen van een nieuwe manier om met IT om te gaan. Dit zijn Microsoft Azure, Google Compute Engine (GCE) en Amazon Webservices (AWS). Dit zijn er slechts drie maar ze hebben een aantal dingen gemeen. Ze groeien enorm snel, zijn op alle continenten aanwezig en bieden nieuwe mogelijkheden om anders met IT om te kunnen gaan. Ze kunnen het niet permitteren om te verouderen, dat zou het einde van de dienst betekenen.


Wat zijn de eigenschappen van deze aanbieders? Ten eerste een zeer lage drempel om in te stappen. Ieder mens kan binnen vijf minuten aan de slag, het kleine begin is veelal gratis. Het gebruiken van resources zoals data en rekenkracht zijn goedkoper dan je zelf kunt realiseren en je krijgt er meteen zeer veel zaken bij zoals beheer tools, actieve systeem monitoren en een zeer goed beveiligde omgeving. Veel beter dan de meeste bedrijven zelf kunnen realiseren. Daarboven op geldt: Alles kan geautomatiseerd aangestuurd worden. Daarbij groeien en krimpen de kosten naarmate je het meer of minder gebruikt. Iets wat onmogelijk is als je het zelf zou willen doen.


Een ander subtiel voordeel is dat de diverse diensten die je af kunt nemen niet in elkaar verweven zijn. Alles is "losjes verbonden" en als je dit op de juiste manier toepast kun je dus sneller afscheid nemen van een oplossing. Het beidt dus mogelijkheden om te voorkomen dat je systeem als geheel "legacy" wordt. Zo ken je bijvoorbeeld ook de problemen dat veel bedrijven nog steeds niet overgestapt zijn van Windows XP naar een nieuwere versie. Bij deze aanbieder speelt dit probleem niet meer. Alles word steeds gemoderniseerd.


Tot slot

Ik ben niet voor Amazon, Google of Microsoft, ik probeer alleen te beschrijven wat het probleem met IT is en hoe je dit op kunt lossen. Als je als bedrijf vast blijft houden aan je huidige manier van IT doen zul je gewoon verdwijnen of zit heb je een speciale positie zoals banken, overheid of een hele specifieke business.


Concentreer je niet op naar de cloud gaan omdat men dat roept. Kijk naar hoe je als organisatie IT doet en hoe je de problemen die je ervaart op kan lossen. De cloud is niets, het zijn bedrijven die diensten aanbieden waarnaar je moet kijken.


dinsdag 22 september 2015

Amazon is de koning van cloud computing

Amazon is absoluut de leider als het gaat om cloud computing. Het is een oncomfortabele waarheid die veel weerstand oproept. Tijd om eens een beschrijving te geven van al het moois dat Amazon te bieden heeft. Lees mee en oordeel zelf.

Op het gebied van generieke cloud computing, ofwel het aanbieden van rekenkracht en data opslag heb je in de feite de 'grote 3'. Dit zijn Amazon Webservices, Google Compute Engine en Microsoft Azure. Google is minder generiek omdat het vooral krachtig is op het gebied van Linux en Microsoft uiteraard op het gebied van Microsoft en daarmee heeft Amazon al een streepje voor. Microsoft heeft echter een zeer krachtige office suite en Google is daarin de enige concurrent met Google Apps for Work. Niettemin is Amazon ook daar een zeer geduchte concurrent aan het worden.

Delen van bestanden en samenwerken kan nu al met Workdocs dit kan vergeleken worden met een business variant van Microsoft Onedrive en Google Drive. Amazon is begonnen met Workmail. Dit product mag nog niet in de schaduw staan van Outlook en Gmail, maar als je Amazon kent zal dit enorm snel veranderen, dat hebben ze al heel vaak laten zien.


Reis

Ik zal nog heel kort samenvatten waar cloud computing voor staat : Het aanbieden van it-middelen en applicaties over het internet die je betaald naar gebruik.

Laten we een korte reis maken van een aantal opvallende diensten van Amazon Webservices.

In het begin - en dit gaat terug tot 2003 - was er de Simple Storage Service, ofwel S3. Het opslaan van data als een dienst en hier is onder andere Dropbox op gebaseerd. Later is dit uitgebreid, waarbij je extra performance kunt kopen en data makkelijk kunt versleutelen, of verspreiden over de datacenters van Amazon op een duurzame manier.

Later kwam Elastic Compute Cloud: EC2. Hiermee kun je Linux- en Windows-servers virtualiseren in allerlei smaken. Hoeveelheid geheugen, rekenkracht en data opslag zijn daarin de drie grootste pijlers. EC2 heeft daarmee de lat hoog gelegd met het snel en simpel tot je beschikking krijgen van virtuele servers.

Waarmee EC2 zich onder andere in onderscheid is dat je er direct een hoop bij krijgt. Niet alleen een heldere console, maar ook een heel server monitor systeem waaraan je 'triggers' kunt koppelen voor wanneer de server bijvoorbeeld langdurig zwaar belast wordt. Ook het toewijzen van een elastisch ip-adres is een krachtige eigenschap die je architectuur veerkrachtig maakt en meewerkt aan een hoge beschikbaarheid.

Tot zover het standaard riedeltje die je nu bij heel veel providers af kunt nemen tegen steeds lagere kosten.


IAM

Waarmee Amazon webservices (Aws) excelleert is het adresseren van alle problemen waarmee je te maken krijgt bij automatisering en dat ze die problemen stuk voor stuk oplossen.

DNS beheren doe je met Route53, daarmee kun je ook met een paar klikken een domein registreren en je domeinnaam koppelen aan Office 365 of Google Apps for Work. Identity access management (iam) is het zeer krachtige systeem waarmee je computer of menselijke accounts koppelt aan rechten en die helpt een koppeling te maken met de (online) Active Directory van de organisatie door middel van een andere Aws-dienst: Directory Service. Alleen iam maakt mij al een zeer grote fan van Aws en is iets waarmee Microsoft ongelofelijk loopt te stuntelen. Iam geeft mij niet alleen controle, maar ook inzicht en via Cloudtrail kan ik zien wie, wat, wanneer en waar heeft gedaan. Uiteraard kun je deze data ook nog ontsluiten naar andere diensten zoals Cloudwatch en Simple Notification Services zodat ik actief op de hoogte wordt gehouden als er bijvoorbeeld security setting verandert.


Private cloud?

Nu is er de algemene misvatting dat Amazon alleen een public cloud aanbied. Met de Virtual Private Cloud (VPC)-service kun je prima een private cloud inrichten die verder niet verbonden is met het internet. Door middel van vpn, er zijn meerdere smaken mogelijk, kun je een directe verbinding maken tussen het private netwerk bij Amazon en de eigen on-premises omgeving. Niet alleen is dit gemakkelijk in te zetten, het is heel goed veilig te maken. Ook zijn eigen glasverbindingen beschikbaar, waarvan je precies in kunt stellen hoeveel capaciteit nodig is en deze bandbreedte kan uiteraard gemeten worden.

Je kunt een eigen virtuele server inrichten en daarop een databaseserver installeren, maar je kunt ook een database afnemen zonder dat je de server en alles wat daarbij komt kijken hoeft af te nemen met Relational Data Services (RDS). Lange tijd vond ik deze dienst niet klaar voor productie omgevingen, maar ook daar is verandering in gekomen. Voor specifieke doeleinden kun je ook de NoSQL-database DynamoDB gebruiken en als het neerkomt op 'big data' kun je een datawarehouse inrichten met Redshift en custom query's draaien met Amazon Elastic Mapreduce Hadoop cluster.

Voor het versturen van bulk email die niet in spam-boxen terecht komt word Simple Email Services (SES) gebruikt en voor het ontwikkelen van applicaties op mobiele devices kun je Push Notification Services (SNS) inzetten om bijvoorbeeld berichten naar de mobiele telefoon te pushen. Met SQS ofwel Simple Queue Service kunnen a-synchrone berichtenstromen worden gerealiseerd.

Via deze omweg kom ik weer terug op diensten die handig zijn voor eindgebruikers. Zo is er Workspaces voor virtuele Windows desktops en heb je in je kantoor alleen nog maar (thin) desktops, laptops en tablets nodig om in ieder geval een Windows computer in de cloud beschikbaar te hebben. Daarmee centraliseer je het beheer van de werkplekken, maar geef je de vrijheid terug aan de eindgebruiker om deze overal te kunnen gebruiken.


Over prijzen

In 2011 schreef ik nog een e-book samen met Peter van Eijk over hoe je zonder servers je bedrijf kon automatiseren. Daar zaten nog wat ruwe kantjes aan, die zijn anno 2015 wel verdwenen.

Flexibiliteit door alleen te betalen naar gebruik heeft een prijs. Door het gebruik van een virtuele server voor drie jaar in te kopen kan je korting wel oplopen tot 71 procent. Als je die prijzen bekijkt en realiseert wat er allemaal voor geleverd wordt dan vind ik het vreemd dat veel bedrijven niet wat beter kijken naar wat cloud computing met Amazon inhoud.

Wekelijks spreek ik nog it'ers die zich afzetten tegen cloud computing zonder dat ze zich werkelijk hebben verdiept naar wat het nu eigenlijk is, kan en kost. Regelmatig heb ik wel consultants die na een korte demonstratie echt een 'wow!'-gevoel overhouden en (te) rigoureus naar de cloud willen.


Nadelen?

Zijn er dan geen nadelen aan Amazon Webservices? Laat ik zeggen dat het grootste nadeel een niet functioneel aspect is: Amerikaanse overheid. Hoewel Amazon datacenters heeft in Ierland en Duitsland, zij de hoogste graad van certificeringen hebben en audits daarop, weten we ook dat Amerikaanse overheid slecht te vertrouwen is en Amazon een Amerikaans bedrijf is. Er zijn echter zeer veel versleutel- en beveiligingsmogelijkheden, waarmee je toegang tot servers en data kunt waarnemen, maar er blijft een laag die voor jou als afnemer niet inzichtelijk is en kan zijn. Zelf geloof ik niet dat de Amerikaanse overheid directe toegang heeft tot alles wat er op Amazon-servers afspeelt, maar dat zij zich toegang kunnen verschaffen zonder jou op de hoogte te stellen, moet voor waar worden aangenomen.

Is dit nu echt een show-stopper? Nee, en ik ga deze discussie hier ook niet voeren, want dat leidt af van de inhoud.

Nu klinkt dit misschien als een 'wij van WC-eend'-verhaal, maar daar kan ik het volgende op zeggen: Ik verdien niets aan Amazon Webservices. Klanten laat ik zelf rechtstreeks dingen afnemen en ik ben niet per se voor Amazon, ik doe genoeg met Microsoft en Google om mijzelf onafhankelijk te noemen. Daarnaast maakt advies over cloud computing nog geen 10 procent van mijn omzet uit, ik ben ook gewoon een afnemer en fan van de dienst.

Ook zeg ik niet dat iedereen nu zomaar moet overstappen op Amazon Webservices, zeker als je organisatie sterke competenties heeft in cyber-security, storage en virtualisatie en een behoorlijke grote eigen infrastructuur heeft, zou ik niet zomaar overstappen. Een groot gedeelte van het mkb kan profiteren van cloud computing bij Amazon.


Lock-in

Uiteraard is er wel een consequentie als je all-in gaat met Amazon. Ondanks dat de applicatie programming interface (api) - hiermee kun je de dienst geautomatiseerd afnemen - de standaard geworden is in cloud computing land, creëer je wel degelijk een lock-in. De images kun je niet één-op-één meenemen, al je diensten waarmee je dat wel kunt converteren, maar heel veel code van de automatisering is toch echt gericht op de producten van Amazon. Dropbox had de eerste jaren echt het streven om met meerdere storage-providers te kunnen opereren, dat is er volgens mij nooit van gekomen.

DynamoDB is echt een hele specifieke NoSQL database en ook het hele vpc-verhaal maakt van een verhuizing buiten Amazon een hele uitdaging die wellicht net zo groot is als de migratie van on-premises naar de cloud.

Maar dit is denk ik niet anders dan van datacenter naar datacenter verhuizen, ook dat vergt een planning en inspanning en is niet iets wat je niet ieder jaar wilt doen.


Tot slot

Dagelijks ervaar ik blijdschap door cloud computing toe te passen. Het is zoveel meer dan alleen snelle provisioning. In het begin kunnen al deze diensten wel eens overweldigend zijn, toch is de leercurve helemaal niet zo stijl, dit komt omdat Amazon er nu echt ervaren in is geworden om de ingebruikname zo eenvoudig mogelijk te maken. Er wordt nog wel eens onderschat hoe belangrijk dat is. Iets eenvoudig maken is echter 'rocket science', een zeldzame competentie. Wat ook heel krachtig is, is dat het in de basis bijna niets kost om het je eigen te maken. De grootste investering is tijd. Een paar servers optuigen en afbreken kost nog geen euro. Daarnaast is er zeer veel documentatie aanwezig, filmpjes over hoe je begint en zijn er diensten voor een paar tientjes per maand waarbij je gewoon heel goed opgeleid wordt.

Investeer er eens tijd in en kom met een eigen mening, kans is groot dat je ook besmet raakt met het cloud computing-virus.

dit artikel is eerder geplaatst op Computable

zaterdag 17 januari 2015

Machine Learning is haarlemmerolie


Over een jaar of tien krijgen de ontwikkelaars het moeilijk. Er komt namelijk concurrentie uit onverwachte hoek. En dan heb ik het niet over India, maar over computers die computers gaan programmeren.


In 2013 kwam de film Her uit met  Joaquin Phoenix. Hij installeert een nieuwe operating system op zijn mobiele telefoon op basis van kunstmatige intelligentie en al snel wordt hij hier verliefd op. Nu denk ik niet dat dit in zijn geheel snel werkelijkheid wordt, maar er zijn nu echt duidelijk signalen dat computers steeds beter "begrijpen" wat mensen zeggen. Dit betekent niet dat de computer een bewust zijn krijgt, de onderliggende principes komen gewoon voort uit machine learning, of deep learning en dat gaat ongeveer zo: Je stopt allerlei teksten in een database. Deze teksten worden ontleedt en tegen nog meer data aangehouden. Hieruit wordt context verleent. Ieder onderwerp wordt zo bijvoorbeeld opgezocht en daarna automatisch gelabeld. Zo kan het systeem onderscheid maken tussen personen en dingen en herkennen wanneer het over tijd of over plaats gaat. Door al deze input te koppelen en te verriijken: welke uitspraken waren door mannen gemaakt, welke door vrouwen? Kan een systeem zonder intelligentie wel intelligentie "veinzen". Zo kan een algoritme sarcasme herkennen en uit zijn geheugen een gepast sarcastisch antwoord halen. Door het systeem te trainingen met nog meer -liefst gevalideerde- input wordt het steeds krachtiger. Als het systeem communiceert met gebruikers kan hij van deze communicatie weer leren. Nogmaals: dat leren is een algoritme, er zit geen intelligentie achter, maar uiteindelijk kan zo'n systeem verrassend authentiek reageren.

Zo heb je bijvoorbeeld machine learning implementaties die woorden bij foto's plaatsen. Als je een foto upload naar het systeem, dan antwoord deze met tekst die op de foto slaat. Bijvoorbeeld "twee jongens spelen met een bal". Als je bij de foto ook nog menselijk input krijgt, zal het systeem steeds accurater worden.

Ik zal een paar toepassingen geven waarin dit toegevoegde waarde biedt. Als ik een tekst schrijf en ik wil een aantal links plaatsen in deze teksten, dan geeft het systeem al direct suggesties waarheen je wilt linken. Of als je tegen je telefoon gaat praten, snapt het systeem je intentie. "Kan ik hardlopen vanavond?". Je telefoon weet waar je woont, of waar je meestal hardloopt en kan herkennen dat je bij regen, kou of harde wind nooit loopt, Maar ook of je vrouw al een afspraak heeft en je kinderen hebt.  Het antwoord zou kunnen zijn "Ja, maar om negen uur gaat het regenen". Dit is minder ver weg dan het lijkt. Als je voor een website een foto zoekt kan het systeem juist door te herkennen wat er op foto's staat een aantal voorstellen doen.

Maar wat als je het systeem code gaat voeren? Deze kan automatisch verbeterd en opgemaakt worden, gerefactord (herschreven voor performance, efficientie of leesbaarheid) en aangevuld worden. Maar als dat kan, dan wordt het wellicht mogelijk om aan te geven wat je wilt gaan bouwen en zal het systeem de benodigde code daarvoor schrijven. Voedt het met voorbeeld layout en het ziet er meteen goed uit. Deze code-generator zal sneller zijn dan welke groep programmeurs dan ook en het testen zal automatisch worden uitgevoerd.

"Is er nog wat op TV?" krijgt dan een hele andere betekenis, je TV neemt dan ook al op wat je wilt zien (als dat al nodig is). Dit is echter alleen maar mogelijk als het systeem voldoende data tot zich kan nemen, en hier wringt misschien de schoen. De algoritmen zijn toch tamelijk complex en het geheugen van het systeem zal waarschijnlijk niet lokaal bij je worden opgeslagen. Je geeft daarmee wel heel erg veel van jezelf weg en met de terroristische dreigingen van de laatste tijd worden steeds meer misbruikt om onze rechten op privacy te beperken.

Wat als deze data bij zorgverzekeraars terecht komen? En bij de belastingdienst? Ja we hebben dan handige machines, maar wat voor vrijheid hebben we dan nog om ze naar eigen goeddunken te gebruiken?

Maar ook: Het schrijven en componeren van een hit wordt zo kinderspel, een koud en harteloos systeem kan ons in vervoering en ontroering brengen door het toepassen van simpele patronen.

Dan komt natuurlijk de vraag: Wat levert het ons op? Maakt het ons echt gelukkiger, al dat gemak? Wie zal er nog geld kunnen verdienen?

Het lijkt science fiction waar ik over schrijf, maar ik twijfel er niet aan dat er in dit soort machine learning miljarden gestoken worden. De komende twee jaar zullen we al de contouren gaan zien waar dit heen gaat. Er zijn recentelijk wat doorbraken gedaan, die de weg vrij maken voor de Cortana's, Siri's en Google Now's. Uiteraard zullen we in Nederland niet als eerste aan beurt zijn en misschien is het wel de juiste tijd om Engels als eerste taal te introduceren in Nederlands. Dat zou wel eens een cruciale beslissing kunnen zijn. Althans, dat is de uitkomst van mijn machine learning algoritme...

dinsdag 30 december 2014

Google verjaardagen uit je agenda halen

Sinds een maand ofzo heb ik allemaal verjaardagen in mijn Google agenda staan van mensen die ik nauwelijks ken.



Hier is hoe je die verjaardagen kunt verwijderen. Hint: Het was niet gemakkelijk.


Ga naar je agenda in de browser, klik op instellingen


Aan de rechterkant van je scherm staat ergens een linkje "Door interessante agenda's bladeren"



Klik op de tab "Meer" en zie daar Verjaardagen staan. Klik op Afmelden en Presto!



Bizar dat ze dit soort zaken zo goed verbergen. Dit is één van de donkere kanten van continuously delivery.


Met dank aan Brenden Mulligan .



zondag 7 december 2014

Belangrijke trends voor 2015 en daarna

De laatste keer dat ik mijn blogs terug las kwam ik veel voorspellingen tegen die uitgekomen zijn. Tijd om voorspellingen te doen voor het komende jaar en daarna want we zijn op een uniek punt in de geschiedenis terecht gekomen, maar voordat ik dat toelicht, eerst even een rondje naar de trends die ook jou zullen raken.



Diensten nog belangrijker

Alles tussen het maken van een product en het uiteindelijke gebruik is overhead en vanuit de eindgebruiker; verspilling. Omdat internet de wereld een stuk kleiner maakt is dit een bedreiging voor de keten die iets met de levering van producten doet, die moeten naar manieren zoeken waarop ze waarde “aan het doosje” kunnen toevoegen, en voila, daar is dus de dienst. Ik zie veel bedrijven die deze trend te lang genegeerd hebben en hier nu vijf voor twaalf mee worstelen. Op IT vlak is “as a service” dominanter aan het worden. Diensten aanbieden is iets anders dan outsourcen, nu zie je dus ook op dit vlak dat bedrijven weer zaken als IT naar zichzelf toehalen. De drijfveer voor het afnemen van diensten zijn nog op de eerste plaats kostenbesparing en de wens om niet vooraf te investeren en te betalen naar gebruik. Wie dit goed doet brengt dus de kosten in lijn met de opbrengsten en dit leidt naar de diepere wens van bedrijven om flexibeler te zijn. Het vermogen om te leveren waar vraag naar is, is in mijn ogen de belangrijkste focus die bedrijven nu moeten hebben.

Cloud computing verdwijnt

Ik doe al een aantal jaren aan cloud computing, geef trainingen, lezingen, workshops en ik heb veel interactie met klanten als het gaat over cloud computing. Verdwijnt cloud computing dan? Nee. Maar de term zelf is een holle frase geworden en terecht. Als je nu nog geld wilt verdienen door cloud computing te verkopen, dan zul je het de komende jaren slecht krijgen. Bedrijven willen online diensten afnemen die problemen oplossen, kosten besparen of flexibeler maken. Dat die dienst onder de noemer cloud computing zal hen niet veel uitmaken. Richt je op concrete waarde en voordelen en blijf weg van de algemene verhalen. Er zijn grote providers die generieke computing diensten aanleveren, maar er zijn nog veel meer providers die specifieke zaken oplossen, voor jouw bedrijf, in jouw werkgebied. Zij bieden waarde, niet een term waar nog steeds gesteggeld over wordt over wat het betekent. Daarnaast is één van de belangrijke aspecten van cloud computing -complexe zaken in de infrastructuur automatiseren en beheer eenvoudiger maken- niet alleen meer mogelijk bij cloud providers, maar kun je ook lokaal deze mate van automatisering bereiken en vaak ook nog eens met open source. De community achter deze mogelijkheden zijn enorm zeker nu ook commerciële bedrijven investeren in het realiseren van open source software.

Internet der dingen

IoT wordt steeds meer werkelijkheid. Auto’s die te volgen zijn via het internet, een thermostaat die aangaat als iemand op weg is naar huis. Alarm systemen die slimmer worden, locatie gebaseerde marketing. Het zijn allemaal voorbeelden van het internet der dingen. Apparaatjes die communiceren over het internet. Er zijn drie veelgebruikte methode om data te transporteren: Bluetooth, Wifi en GSM met alle drie iets variërende eigenschappen. IoT is onvermijdelijk maar er zijn twee grote factoren die de massale adoptie vetragen: Vertrouwen en Functie.


Altijd als je iets lees over een nieuw apparaatje wat data communiceert wordt er meteen over hackers en privacy gesproken. Ook hebben veel fabrikanten zoals LG en Adobe het vertrouwen beschadigd door niet alleen stilletjes grote hoeveelheden data te verzamelen van aan het internet aangesloten apparaten zoals TV’s en e-readers, maar dit ook nog onversleuteld en dus onveilig te doen. Toch zul je zien dat steeds meer bedrijven deze boodschap begrepen hebben en dat IoT net zo gewoon wordt als mobiele telefoons is evident. De komende tijd zal de adoptie versnellen en dat komt omdat het 2e grote obstakel - functie- nu steeds meer toepassing krijgt. In veel van de traditionele voorbeelden werden koelkasten genoemd die meld bestelden als deze op was. Een voorbeeld wat gewoon teveel praktische bezwaren oproept waardoor het al snel een ver van mijn bed show wordt. Maar steeds meer huishoudens hebben een “slimme” thermostaat waarmee IoT tastbaar wordt. Saillant details is wel dat die thermosstaten gebracht worden als slim en kostenbesparend, maar dat dit *geen* functie is van de thermostaat zelf. Er wordt dus meer mogelijkheden aan toegekend dan werkelijk het geval is en ook dit zal het vertrouwen weer aantasten.


Wearables

In het verlengde van IoT komen de wearables. Wearables zijn apparaatjes die je kunt dragen zoals een bril, horloge, ketting, et cetera. Ook dit zijn apparaatjes en sensoren die data kunnen communiceren al dan niet via een tussen apparaat zoals de mobiele telefoon. Ik denk dat wearables een voorbewerker is van IoT/ Wearables zullen zeer snel gemeengoed worden -ik denk de komende twee jaar- en hebben niet het obstakel vertrouwen, maar nog wel de belemmering: Functie. Men weet nog niet goed wat je er mee zou moeten. Een horloge is leuk, maar het scherm is klein en als je weer een apparaat elke dag moet opladen zullen veel mensen hem nog laten liggen. Ook de Google Glass die een tijdje terug een enorm momentum had, lijkt vooralsnog geen groot succes te worden, maar dat wearables net zo gewoon worden als een smartphone lijkt mij zeer waarschijnlijk met een early majority fase van zo’n twee jaar. Apple heeft traditioneel het vermogen om nieuwe dingen groot te maken, denk aan de muis, wifi, muziekspeler, smartphone en tablet. Volgend jaar komt de Apple Watch uit. Maar als je de zeer goede ontwikkelaarsvideo (http://goo.gl/oJ27sN) bekijkt zie je dat de watch niet zonder de iPhone kan. Ook is de duur van de batterij minder dan 24 uur en zitten er maar een beperkt aantal functies in die waardevol lijken. Het lijkt daarom niet meteen een groot succes te worden, alleen als je iets dieper kijkt zie je dat dit slechts tijdelijk is. De grootste belemmering zijn nu een kleine interface, beperkte batterij en noodzakelijke functies, maar als de technische beperkingen de komende jaren opgelost worden zal dit een ware vloedgolf aan nieuwe apparaten opleveren. Zo was bluetooth een grote batterijvreter, nu heb ik al meer dan twee jaar een draadloze muis die loopt op twee simpele AA batterijen.


Waarde van big data is onbetwist

Al die apparaten genereren data en data noemt met het nieuwe goud en big data is de naam die men ervoor gevonden heeft om dit fenomeen aan te duiden. Er wordt zelfs al verteld dat bedrijven die niets met big data doen gedoemd zijn te falen. Dit is onzin natuurlijk. Zolang de organisatie waarde beid waarop men zit te wachten is er bestaansrecht, maar big data als hype negeren zal voor sommige bedrijven wel degelijk bedreigend kunnen zijn. Een zeer sterk voorbeeld van de kracht en onbetwiste waarde van big data is Google met zijn zoekmachine. Er kan moeilijk discussie gevoerd worden over dat wat Google op zijn servers heeft staan -bijna een kopie van het gehele internet- niet big data te noemen. En het is ook een onnoemelijk grote prestatie dat al die big data met een simpel te gebruiken tool ontgonnen kan worden. Dat waarde halen uit deze data evident is kun je ook moeilijk bestrijden. De wereld veranderd door de mogelijkheden die zoekmachines ons bieden om kennis te vergaren. Twintig jaar geleden was je afhankelijk van de mensen om je heen en bibliotheken om iets uit te zoeken. Nu leert mijn zoon Loomen door YouTube. Een wijsneus zegt dan “mijn kind leert het van vriendjes”, maar van wie hebben die het dan weer geleerd?


De waarde en case van big data is dus evident en ik kan nog veel andere voorbeelden  geven. Alleen is het gebruiken van big data en de zekerheid om er altijd waarde uit te halen door organisaties geen gelopen race. Er zijn behoorlijk wat uitdagingen, kostenposten en algoritmes nodig om echt onderscheidend te zijn in het waarde onttrekken uit big data. Het is domweg niet voor iedere organisatie weggelegd, maar bepaalde industrieën zoals die van medicijnen zullen deze trend echt niet afdoen als hype en goede data wetenschappers zullen de nieuwe rocksterren zijn de komende jaren.  

Kunstmatige intelligentie

En zo kom ik op de belangrijkste trend aan van dit artikel. Kunstmatige intelligentie. Aan de ene kant is dit zo’n holle term net als cloud computing waardoor AI al snel als hype bestempeld zal worden. Maar ook hier zeg ik: Kijk verder. Want deze trend zal ieder zijn dagelijks leven de komende jaren beïnvloeden. En net als bij big data geldt: Er zijn maar een beperkt aantal organisaties die AI-achtige zaken kunnen leveren. Voor echte intelligentie hoeven we vooralsnog niet bang te zijn, of dat computers een bewustzijn krijgen. Wel zijn we steeds beter in staat AI toe te passen in handige functies en ik zal dalijk een paar voorbeelden geven. AI is overigens weer een kapstok begrip waaronder bijvoorbeeld de volgende zaken vallen: Neurale netwerken, Machine Learning, Natural language processing, et cetera.


Wat er bijvoorbeeld machine learning en natuurlijke taalverwerking wordt gedaan is heel veel voorbeelden en patronen vastleggen en daarop algoritmes loslaten die kennis over deze patronen opslaat als geheugen zodat bij een volgende vraagstelling of input al heel veel verrijking kan plaatsvinden.


Hoe gemakkelijk zou het zijn als je tegen je telefoon kan praten en hij dit in bepaalde mate begrijpt en dus hierop acties kan uitvoeren. Een vermakelijke film op basis van dit concept is Her (2013 : http://goo.gl/kKCCJ6 ). Nu heeft mijn navigatie wel stemherkenning, maar werkt deze zo slecht dat ik het liever met de hand doe.


De toepassing van AI zijn eindeloos. Zo kunnen camera’s intelligenter worden en pro-actief actie ondernemen bij bijvoorbeeld criminele gebeurtenissen. Ook de manier die NSA momenteel verdachten op het oog krijgt is nog relatief primitief. Nu moet je software nog zodanig inrichten dat voorbedachte patronen eruit naar boven komen. Nu kan ik wel met spraak een email op mijn mobiele telefoonopstellen, maar niet zonder het na te kijken en te verbeteren en daardoor is het nog steeds onbruikbaar. Het controleren op spelling en grammatica is nog zodanig slecht dat ik nog steeds niet foutloos mijn blogs kan publiceren. Met een beetje AI zou zelfs mijn schrijfstijl sterk verbeterd kunnen worden door bijvoorbeeld te voorspellen welke zinsnedes zullen inspireren en welke zullen iriteren.


Wat als je tegen een computer kunt vertellen wat voor scene je wilt gaan filmen en deze zelf aan de slag gaat om dit te visualiseren. Maar denk ook aan het gemak dat je in een vreemd land zonder kennis van de taal kunt communiceren met mensen?


Research en kennis opdoen kunnen zoveel efficienter. Op dit moment zijn we echter nog niet zo ver, maar we komen nu wel ergens en ik verwacht de komende vijf jaar dat er echt toepassingen komen die gebaseerd zijn op AI en die we in ons dagelijks leven gaan toepassen zonder dat we er bewust van zijn.  Het ecosteem wat dit het best gaat ontsluiten mobiel -op dit moment zijn dat IOS, Android, Windows Phone en Blackberry- zou hiermee wel eens de dominante partij kunnen worden. Vandaar dat de grote providers enorme investeringen doen in overnames van dit soort partijen. Onze smartphone wordt zeker het eerste apparaat waarmee we AI zullen gebruiken en in beperkte mate doen we dat al. Als je dicteert aan je telefoon zie je dat de tekst tijdens praten nog veranderd doordat het context interpreteerd. Overigens zal Nederlands zeker niet de taal zijn die het eerst ontsloten wordt.


Digitale Transformatie

Al deze onderwerpen hebben een mooi verband met elkaar en hebben zowel toepassing voor het bedrijfsleven als ons persoonlijk leven. De trends zijn ook onderdeel van een mega-trend, namelijk die van digitale transformatie. Soms lijkt het alsof we daar al zijn. Zo worden met een rap tempo banken gesloten en vallen er veel ontslagen door het automatiseren en de verandering van analoog naar digitaal. Het heeft ervoor gezorgd dat bedrijven zoals PostNL een cloud only strategie najagen en dat er hele beroepsgroepen slachtoffer worden van deze trends. Maar er ontstaan ook nieuwe kansen, en dit bedoelde ik met mijn zin dat we op een uniek moment van onze geschiedenis zitten.


Meer dan ooit zijn innovaties mogelijk, een programmeur heeft dezelfde computerkracht tot zijn beschikking als een groot bedrijf en het verkrijgen van geld voor een idee is nog nooit zo toegankelijk geweest. Plaats een filmpje op het internet of ga naar een crowdfunding site en als je idee enige waarde heeft, zullen mensen erin investeren. Het maken van een simpel spelletje -flappy bird- leidde ertoe dat Dong Nguyen meer dan 40.000 dollar per dag eraan verdiende en de indie developer Markus Persson heeft Minecraft in 2014 verkocht voor meer dan anderhalf miljard dollar.

Wat zullen de komende jaren brengen?