Techdays 2017: Werken in de Cloud

Casper Span
Microsoft heeft met de TechDays, dit jaar op 12 en 13 oktober in de RAI in Amsterdam, hét evenement voor techneuten die met Microsoft technologie werken. Ik was namens Tensing ook als bezoeker aanwezig om te peilen wat de huidige status van de Microsoft technologie is en waar we met z’n allen volgens Microsoft naar toe zouden moeten/willen gaan. Microsoft zet nog steeds vol in op de Azure Cloud omgeving en niets duidt erop dat die visie de komende jaren zal gaan veranderen.
Cloud computing, tien jaar geleden een buzzword, nu kunnen we niet meer zonder. Wie kan zich nu nog een wereld inbeelden waarin de enige manier van samenwerken in een Word document is om het document steeds via een mail te versturen. Wie kan zich nog voorstellen om als ontwikkelaar met ingepakte mapjes met programma code (versie1.zip, versie2.zip) op een netwerk schijf te werken, en dat ook nog eens versiebeheer durfde te noemen! Alle vormen van samenwerken hebben inmiddels een Cloud alternatief en in de meeste gevallen wil ik ook niet meer terug naar de oude manier van samenwerken.
Azure’s rol vergroot
Microsoft heeft in 2011 Azure publiekelijk gelanceerd als Cloud oplossing. Destijds was het primair een locatie om virtuele omgevingen vanaf te beheren. Anno 2017 wordt Azure meer en meer ingezet als spin in het web, als centraal punt in de organisatie. Het beheert de Active Directory, bestanden, databases en applicaties. Op alle onderdelen is een state-of-the-art monitoring aanwezig. Azure heeft inmiddels een naadloze integratie met Office, Visual Studio en Visual Studio Team Services (VSTS), waardoor het een zeer ontwikkelaar-vriendelijk ecosysteem is geworden. Vanaf Visual Studio kan door een code verandering op VSTS direct een compilatie worden gemaakt. Dit resultaat kan vervolgens direct op Azure worden geplaatst met of zonder menselijke tussenkomst. Indien nodig kan Azure de applicatie op en neer schalen bij kortstondige pieken of dalen. Dit gedrag is niet nieuw, maar de herkenning van het punt waarop op of neer geschaald wordt is intelligenter geworden.
Serverless computing
Halverwege 2016 heeft Microsoft App Functions in Azure toegevoegd. Een App Function is een stuk code, op dit moment worden C#, F#, Node.js, Java, PHP, Batch, Bash of een eigen andere toepassing (.exe) ondersteund. Zo’n stukje code kan aan een event worden gekoppeld; een timer, een geüpload bestand, een check-in in GitHub, een event uit een IoT apparaat. De code wordt vervolgens uitgevoerd in de context van die trigger. Als uitvoer kan er een nieuw event ontstaan, maar er kan ook bijvoorbeeld een nieuw element aan een database of bestandssysteem worden toegevoegd. De lijst van in- en uitvoer triggers wordt constant uitgebreid. Microsoft raad ons aan om aan App Function kort te houden. Zo’n functie heeft een standaard maximale levensduur van 5 minuten, met een maximale uitloop naar 10 minuten door configuratie aanpassingen. Elke keer dat er een verzoek komt wordt de functie opnieuw opgestart als een koude opstart, alle objecten worden opnieuw opgebouwd. Het is dus af te raden om een grote opstart te hebben in de functie, zoals een Dependency Injection of Entity Framework opstarten als dat niet noodzakelijk is voor de werking van de functie. Het prijsmodel is een pay-per-use, gemeten in GB-s. GB-s is de nieuwe eenheid voor het aantal GB aan geheugenverbruik per seconde van executietijd. Een functie die een minuut draait en 1 GB aan geheugen verbruikt, verbruikt dus 60 GB-s. De eerste 400.000 GB-s van de maand zijn gratis, net als de eerste 2 miljoen uitvoeringen. Daarna loopt de teller op met (op moment van schrijven) €0,000014/GB-s en €0,169 per 1 miljoen uitvoeringen.
Veilig samenwerken
We delen tegenwoordig constant informatie. Met onze collega’s, met partner bedrijven, met klanten en met het publiek. Dit kan echter fout gaan: een mail met bedrijf kritische informatie die per ongeluk publiekelijk wordt, een USB stick die verloren wordt, om maar een voorbeeld te noemen. Microsoft heeft met de Enterprise Mobility + Security Suite hier een oplossing voor gelanceerd. Het is een integratie, nu via een plug-in en binnenkort ingebouwd, tussen Office en (Azure) Active Directory. Het begint bij het classificeren van een document. Dit kan deels automatisch en daarnaast handmatig. Zo kan een document bijvoorbeeld worden geclassificeerd als een document welke alleen te lezen voor interne medewerkers of als een document wat alleen te lezen is door mensen van afdeling inkoop. De precieze invulling van de rechten zijn per organisatie in te richten. Daarnaast kan deze suite ook op basis van patroonherkenning classificaties toevoegen. Als voorbeeld wordt gegeven de herkenning van een creditcard nummer. Als deze gevonden wordt, wordt de classificatie ‘geheim’ meegegeven en mag het alleen gelezen worden door de verkoop afdeling. Op het moment dat een andere medewerker, of iemand buiten de organisatie het bestand probeert te openen dient er aangemeld te worden om de inhoud te kunnen lezen. Monitoring opties zijn aanwezig om o.a. te kunnen zien wie het document heeft geprobeerd te openen. Al deze opties zijn alleen aanwezig onder de Enterprise Mobility + Security licentie in Azure.