Solution architect Matthias
'Ik verdiep me in technische kennis, en werk toch breed genoeg om de hele ketting in de vingers te hebben. Het beste van twee werelden dus.'
Matthias, vertel eens, hoe kwam jij bij District09 terecht?
‘Ik heb handelswetenschappen gestudeerd, met afstudeerrichting Management en Informatica. Toen ik op zoek ging naar een stageplaats, kon ik bij District09 aan de slag. Het projectbureau stond hier toen in de startblokken, en drie maanden lang heb ik dat mee helpen uitbouwen,’ steekt hij van wal.
‘Nadat ik afgestudeerd was, ging ik op zoek naar een meer technische job. En ook daar bood District09 een antwoord.’
Werd je direct solution architect?
‘Nee, ik ben eerst vijf jaar applicatiebeheerder geweest’, legt hij uit. ‘Ik stond toen heel dicht bij de business, en zocht constant concrete oplossingen voor onze eindgebruikers bij de Stad. Dat was heel leuk om te doen. Ik zag direct de impact van mijn werk, mensen konden weer verder werken zodra ik hen geholpen had.’
‘Maar ook al deed ik dat heel graag, ik specialiseerde mij niet meer op technisch vlak. En dat vond ik heel spijtig. Rond hetzelfde moment werd hier bij District09 de Service Factory opgestart, en zo ben ik langzaam in de rol van solution architect gerold.’
De Service Factory, wat is dat?
‘Het doel van de Service Factory is – zoals de naam al zegt – om services aan te bieden. Om dat zo efficiënt mogelijk te doen, delen we die op in microservices, die we laten draaien op een containergebaseerd applicatieplatform. Hierdoor werken we op een schaalbare en wendbare manier, waardoor we snel kunnen opleveren en veel efficiënter kunnen werken,’ licht hij toe.
Hoe begin je daar dan aan?
‘Ons applicatieplatform is onze fundering. Het applicatieplatform zelf draait op een aantal virtuele servers. Binnen het platform kunnen we applicaties uitrollen in containers. Dankzij deze opstelling kunnen we de onderliggende hardware efficiënter inzetten en verdelen onder de verschillende applicaties. Het platform op punt krijgen, was dan ook één van onze belangrijkste stappen om de Service Factory verder te kunnen uitbouwen.’
‘Als volgende stap gaan we onze applicaties uitrollen in één of meerdere containers. We kunnen bijvoorbeeld een applicatie in zijn geheel uitrollen op ons platform. En we kunnen ook een applicatie op basis van haar functionaliteiten uit elkaar trekken en deze kleinere blokken in de vorm van microservices uitrollen. Elk van deze blokken kan apart en op zichzelf bestaan. Willen we ze samen laten werken als applicatie, dan doen we dat door een API (Application Programming Interface) te definiëren.’
Welke voordelen biedt werken met microservices?
‘Een heleboel! Door zo te werken kunnen we al die losstaande blokken heel gemakkelijk en snel op verschillende plaatsen en in verschillende applicaties hergebruiken. Zo vermijd je dat je logge programma’s schrijft waarin elke functie apart beschreven moet worden en waarin je nauwelijks aanpassingen kan doen zonder het hele programma te gaan herschrijven. Je linkt gewoon de verschillende microservices die het proces al kennen aan elkaar.
Je kan dus snel aanpassingen doen, je hoeft niet te wachten op specifieke tijdstippen om die aanpassingen in productie te brengen, en je kan sneller testen of iets wel of niet werkt,’ verduidelijkt hij.
‘Werken met microservices laat ook toe dat je verschillende applicaties meer en meer op elkaar laat inspelen. Het zorgt voor standaardisering, en maakt het gemakkelijker om zelf pakketten samen te stellen, en om met anderen samen te werken. Zo stappen we meer en meer af van grote monolieten die geleverd worden door 1 leverancier van wie je dan compleet afhankelijk bent. Zo vermijden we bovendien dat services moeilijk uitbreidbaar zijn, of moeilijk te vervangen zijn.’
Klinkt als een uitdaging! Met hoeveel werken jullie daaraan?
‘We werken in een klein team. De helft daarvan zijn beheerders die instaan voor het onderhoud en het beheer van ons platform. De andere helft zijn solution architects, zoals ik, die microservices ontwerpen.’
Dat ontwerpen, wat houdt dat precies in?
‘Als ontwerper los ik bestaande en nieuwe problemen op met de juiste architectuur. Eerst ga ik kijken naar de bestaande architectuur en check ik wat reeds beschikbaar is. Stukken van het probleem die nog niet zijn opgelost, gaan we dan opvangen. Als het een klein iets is dat ontbreekt, kunnen we dit oplossen door een microservice te maken. Eentje die we aanschaffen, of zelf ontwikkelen als die nog niet bestaat.’
‘Per definitie doet een microservice één ding en doet het dat één ding goed,’ verheldert hij. ‘Op zich is het dus niet heel moeilijk om één microservice te ontwerpen. De complexiteit ligt vooral in het samenwerken en orkestreren van de verschillende microservices. Dit gebeurt bijvoorbeeld aan de hand van een REST API. Deze API’s zijn meestal beschreven in contracten die het voor iedereen gemakkelijk maken de services te consumeren. Het opstellen van een duidelijk en bruikbaar contract is ook een belangrijk onderdeel van het ontwerpen van microservices.’
Wat vind je leuk aan deze job?
‘Ik word elke dag weer uitgedaagd om op zoek te gaan naar de perfecte oplossing, en leer daarvan telkens weer bij. Ik krijg veel vrijheid, en veel ruimte om zelfstandig te werken en mijn ding te doen. Ik kan me verder verdiepen in technische kennis zoals alles wat met cloud technology te maken heeft, en tegelijkertijd werk ik toch breed genoeg om de hele ketting in de vingers te hebben. Het beste van twee werelden dus.’
Bedankt voor het gesprek, Matthias!