Ron Rademaker
03.11.2021

De Connect Holland Tech Radar

1635877166635

De Tech Radar van Connect Holland is een tool om onze teams en opdrachtgevers te inspireren en ondersteunen bij technologie keuzes voor hun projecten. We leggen op de Tech Radar onze mening over technieken en ervaring met die technieken vast en delen dit tussen onze teams. De Tech Radar is gebaseerd op de open source tech radar van Zalando. Vier keer per jaar bepalen we met alle teams gezamenlijk onze nieuwe versie van de Tech Radar.

De Tech Radar bouwen we op aan de hand van vier ringen: Adopt, Trial, Assess en Hold. In iedere versie van de Tech Radar is inzichtelijk hoe een techniek zich tussen deze ringen beweegt en daarmee hoe de inzet van technologie binnen Connect Holland zich ontwikkelt.

Naast deze vier ringen, onderscheiden we ook vier kwadranten waarbinnen we technologie groeperen: Languages & tooling, Cloud & infrastructuur, Frameworks & CMS en Data & AI.

De ringen van de Tech Radar: Adopt

Technologie die zich bewezen heeft binnen onze projecten. We hebben veel ervaring met deze technieken en het is een veilige keuze voor onze teams. Een paar voorbeelden van Adopt technieken binnen Connect Holland op dit moment:

  • PHP - PHP gebruiken we binnen Connect Holland al ruim 20 jaar voor de ontwikkeling van onze webapplicaties. Het is daarmee de techniek die, al zouden we de afgelopen 20 jaar ook een Tech Radar hebben gehad, steevast terug te vinden zou zijn in de Adopt ring.
  • Python - Python maakt een snelle opmars binnen Connect Holland, enkele jaren geleden begonnen voor de ontwikkeling van AI modules maar nu de standaardkeuze waar het gaat om de ontwikkeling van serverless applicaties. Hiermee is Python een nieuwkomer in de Adopt ring.
  • AWS Lambda - serverless applicaties zien we inmiddels als het alternatief voor de traditionele applicaties gebaseerd servers of containers. Na meerdere succesvolle projecten zijn we vertrouwd genoeg geraakt met de techniek om deze in de Adopt ring te plaatsen.
  • Docker - servers hebben we niet meer bij Connect Holland, alle projecten (met uitzondering van de serverless applicaties) maken inmiddels gebruik van Docker containers. Hiermee heeft Docker een stevige positie in de Adopt ring.
  • Symfony - Symfony is al jaren het PHP framework van keuze voor alle PHP projecten die we doen, een vaste waarde in de Adopt ring dus.
  • AWS Aurora - AWS Aurora is nieuw in de Adopt ring, we zetten deze database steeds vaker in als alternatief voor MySQL. In een eerdere blog heb ik de voordelen van AWS Aurora uitgebreid beschreven.

De ringen van de Tech Radar: Trial

Technologie die we succesvol in projecten hebben toegepast, maar waarbij we nog wel risico zien in het gebruik, plaatsen we in de Trial ring. Deze technieken passen we toe in nieuwe projecten, het team moet zich echter wel bewust zijn van de risico’s en de kennis over de techniek is minder wijdverspreid binnen Connect Holland dan bij de Adopt ring. Het advies aan teams is om Trial technieken wel binnen nieuwe projecten te gebruiken, maar het aantal Trial technieken per project te beperken. Een paar voorbeelden van technieken in de Adopt ring:

  • Dart - we ontwikkelen mobiele apps steeds vaker hybride, dat wil zeggen dat dezelfde app code gebruikt kan worden voor de Android en Iphone app. Hiervoor gebruiken we Dart en Flutter. De standaard keuze voor apps is nog altijd native ontwikkeling, maar Dart en Flutter worden een steeds beter en vaker gekozen alternatief.
  • Terraform - Terraform gebruiken we om onze infrastructures as code te ontwikkelen. We merken echter dat we soms tegen de grenzen van Terraform aanlopen, met name voor grotere en complexere omgevingen. Daarom zien we Terraform (nog) niet als de standaard en veilige keuze voor IaC oplossingen en kijken we ook naar alternatieven zoals Cloudformation.
  • Storyblok - Storyblok is een headless CMS dat we steeds vaker inzetten. Storyblok lijkt hard op weg om een plekje te veroveren in de Adopt ring.
  • AWS DynamoDB - DynamoDB is een (serverless) NoSQL database die we steeds vaker inzetten. We zien hier nog wel een risico omdat een NoSQL database alleen ingezet moet worden om data op te slaan die ook echt niet relationeel is. Deze valkuil is de reden waarom AWS DynamoDB terug te vinden is in de Trial ring.

De ringen van de Tech Radar: Assess

Technologie die we als veelbelovend zien en de moeite is zijn om beter te leren kennen plaatsen we in de Assess ring. Deze technieken zijn zeer geschikt om bijvoorbeeld in een prototype of labdag verder te onderzoeken. Binnen projecten worden deze technieken alleen ingezet voor kleine (vaak geïsoleerde) functionaliteiten of na uitgebreid overleg tussen onze teams. Een paar voorbeelden van Assess technieken:

  • Gitlab - we gebruiken op dit moment Github als source code repository en Github Actions, Jenkins, SonarQube, Scrutinizer en Docker Hub om onze CICD straat vorm te geven. Gitlab is voor ons interessant omdat we hiermee het aantal verschillende tools die we nodig hebben voor onze CICD straat kunnen verkleinen en daarmee de complexiteit kunnen verkleinen en kosten kunnen besparen.
  • Kubernetes - vier jaar geleden zijn we gestart met het migreren van al onze projecten naar Docker Containers. Hiervoor gebruiken we Rancher, na uitgebreide selectie was dit indertijd een stabiele, state-of-the-art oplossing voor container management. Inmiddels is die rol overgenomen door Kubernetes en treffen we voorbereidingen om onze omgevingen te migreren naar Kubernetes. 
  • Outsystems - we komen steeds meer low code oplossingen tegen en experimenteren hier ook zelf steeds meer mee. Met name low code in combinatie met onze cloud native AWS oplossingen vinden we erg interessant. Afgelopen zomer hebben we een low code summer challenge gedaan waarbij een aantal medewerkers tijdens een labdag in Outsystems een applicatie hebben gemaakt die met verschillende andere systemen (zoals Slack) integreert.
  • AWS Athena - AWS Athena maakt het mogelijk om SQL rechtstreeks op bestanden in een S3 bucket uit te voeren. Hierbij is geen database server nodig. We gebruiken AWS Athena binnen sommige AWS omgevingen inmiddels in productie om flexibel aangeleverde data (bijvoorbeeld CSV) bestanden uit te kunnen lezen.

De ringen van de Tech Radar: Hold

De Hold ring bevat technieken die we niet meer inzetten voor nieuwe projecten en technieken die we nog niet volwassen genoeg vinden om verder te gaan onderzoeken. Veel technologie in de Hold ring gebruiken we nog wel in veel bestaande projecten en het is daarom wel belangrijk de kennis over deze technologie binnen Connect Holland te borgen. Een paar voorbeelden van Hold technieken:

  • SOAP - We zien SOAP als de ‘oude’ standaard voor API integraties en geven de voorkeur aan een REST of GraphQL API. Uiteraard gebruiken we SOAP nog wel in projecten waarbij we de client zijde van de API ontwikkelen, echter voor server side API development kiezen we REST of GraphQL.
  • Cardano - Blockchain is al jaren een ontwikkeling die we nauwgezet volgen, maar weinig actief mee doen. Cardano heeft onlangs smart contracts uitgerold en is daarmee interessant om in de gaten te houden.
  • Windmill - Connect Holland heeft het PHP framework Windmill ongeveer 15 jaar geleden ontwikkeld en was jarenlang het framework dat we kozen voor al onze (PHP) projecten. Symfony heeft inmiddels deze rol overgenomen, maar uiteraard hebben we nog veel projecten draaien die nog van Windmill gebruik maken.
  • MongoDB - MongoDB hebben we in het verleden in veel projecten gebruikt als NoSQL database. Inmiddels gebruiken we DynamoDB als NoSQL database indien NoSQL de beste oplossing is. De meeste projecten die MongoDB gebruiken zijn inmiddels overgezet naar AWS DocumentDB, we hebben echter nog wel enkele projecten die niet omgezet kunnen worden naar AWS DocumentDB omdat deze niet volledig compatibel is met MongoDB.

Kortom

De tech radar helpt onze teams om keuzes te maken bij het opstarten van nieuwe projecten. Het dwingt ons om goed na te denken over de technieken die we gebruiken en stimuleert experimenteren. Potentiële nieuwe medewerkers krijgen dankzij de tech radar een kijkje in de keuken, nog voordat ze kiezen om te solliciteren op een van onze vacatures

Ben je ook geïnteresseerd in je eigen tech radar? De volledige broncode is publiek beschikbaar op Github. Heb je vragen over onze tech radar? Stel ze gerust.

Meer blogs

Wil je graag meer informatie?

Wat fijn dat je onze blog hebt gelezen. Ben je zo enthousiast geworden dat je meer wilt weten. Of zijn bepaalde elementen van de blog niet duidelijk? Neem gerust contact op met de contactpersoon van deze blog.

Bel of mail ons!

Vragen over dit blog?
Neem contact op met:

Ron
Sluiten