Terug naar lijst

Innovatie in het bouwen van bedrijfsapplicaties: een begrip dat niet altijd door de eindgebruiker gehoord zal worden. Toch heeft het een grote invloed op de ervaring van de gebruiker. Bij Growteq maken we sinds kort gebruik van Azure Functions, één van de vele public cloud diensten uit het aanbod van Microsoft. Maar wat is het precies? Wat kan ik ermee en hoe haal ik het meeste uit deze dienst? Dat vroegen wij ons ook af en daarom vertel ik in deze blog wat onze kijk is op Azure Functions.

Azure Functions?

In een notendop is het een beheerd platform waar je je code naartoe kunt pushen om dit gebeurtenis-gestuurd aan te roepen. Stel: je hebt een nieuwsbrief en deze moet iedere maandag om 8.00 uur verstuurd worden. Je maakt hier een timer voor aan die een Function op een specifieke interval start. Je schrijft code om de mail te versturen, en alles is geautomatiseerd. Dit is een heel concreet voorbeeld, maar geeft wel een kort en duidelijk beeld over hoe triggers/gebeurtenissen gebruikt kunnen worden om korte stukjes code uit te voeren.

Wat zijn de voordelen?

Als je het bovenstaande voorbeeld gelezen hebt zou je denken dat je dit ook kunt doen met een scheduled task of iets dergelijks. En dat is correct! Maar vergeet niet dat je met het gebruik van Azure Functions onder andere de volgende voordelen meepakt:

  • Je code draait in een professioneel beheerde omgeving.
  • Je code schaalt mee met het platform, dus je komt nooit performance tekort.
  • Je betaalt op de seconde voor de infrastructuur, TCO is verwaarloosbaar.
  • Je ontkoppelt functionele code als geheel proces van de businesslogica.
  • Jouw Function kan ook weer andere events aansturen/chainen in het Azure ecosysteem.

Het maken van een Azure Function

Zelfs het aanmaken van een Function kan geautomatiseerd maar laten we het voor nu in de portal doen. Als je je op de homepagina bevindt, klik je op de ‘Create a resource’ knop om een nieuwe resource aan te maken:

Je komt dan – als het goed is – terecht in de Azure Marketplace. In het zoekveld zie je dat als je het woord ‘function’ invult je een Function kunt creëren:

 

 

Door op ‘Create’ te klikken kom je in een wizard waar je alle technisch gerelateerde informatie invult. Je krijgt daarbij onder andere de keuze welke programmeertaal je wilt gebruiken voor je Function.

Het bouwen van een Function

Om het kort maar krachtig te houden: het maken van een Function gaat via een SDK. Je krijgt de mogelijkheid om tussen drie SDK’s te kiezen: één voor Visual Studio, één voor Visual Studio Code, en een command line toolkit met het commando func. Ik gebruik zelf de SDK voor Visual Studio Code en daaruit kan ik heel makkelijk een nieuw project opzetten en dit allemaal pushen naar de cloud! Meer over de verschillende SDKs kun je hier teruglezen.

In retrospect

Azure Functions is een geweldig onderdeel uit het ecosysteem van Microsoft Azure. Het biedt een degelijke oplossing voor batchtaken met een korte levensduur: denk hierbij bijvoorbeeld aan de uitvoering van ETL processen, het uitvoeren van een first in first out wachtrij, het genereren van PDF documenten en ga zo maar door. Het is makkelijk te combineren met je bestaande programmatuur en koppelt losstaande functionele code los van je systeem. Daarnaast past de oplossing binnen een hybrid -en full cloud oplossing. Het is zeker de moeite waard!