metapattern

Distribution

Tegenwoordig kunnen we applicaties op veel verschillende manieren beschikbaar stellen aan gebruikers. Door middel van virtual machines, Docker containers maar ook serverless. Dit kan zowel on-premise, in de public cloud of via een hybride oplossing.

Microservice architectuur

Door al de verschillende opties kan het soms lastig zijn om de juiste oplossing te kiezen. Voor Trivento was de keuze eigenlijk vrij eenvoudig, dit komt omdat we al snel de keuze hebben gemaakt om te stoppen met monolithische applicaties en voor de microservice architectuur hebben gekozen.

Omdat we daarnaast ook op een Agile Scrum wijze werken hebben we al snel gekozen om gebruik te maken van Docker containers. In 2014 hebben we met Docker 0.8 het eerste project gedaan met Docker containers. En vervolgens hebben we in 2017 het eerste project gedaan met de container orchestrator OpenShift

In 2019 hebben we ons eigen Apollo platform gebouwd, wat is gebaseerd op OpenShift en draait in meerdere AWS zones. De keuze om voor OpenShift te gaan was vrij makkelijk voor Trivento. Met een standaard Kubernetes cluster moet je zelf nog veel zaken configureren zoals monitoring, logging en security. In OpenShift is dat standaard allemaal al geregeld. Een ander groot voordeel van OpenShift is dat deze, net zoals Kubernetes, cloud-agnostic is. Hierdoor is het voor ons makkelijk is om van cloud provider te veranderen.

De DevOps teams binnen Trivento hebben zelf rechten om applicatie deployments uit te voeren op het Apollo platform. De teams zijn daarbij zelf verantwoordelijk voor de deployments, beheer en de uptime van de applicaties. De DevOps teams gebruiken standaard OpenShift componenten voor de automatische deployments, monitoring en logging. Een van de requirements om gebruik te maken van Apollo is dat de applicatie stateless moet zijn. Hierdoor is het makkelijk om meerdere replicas van de applicatie te draaien, met als resultaat een high-available applicatie. De applicatie blijft daardoor altijd online bij onderhoud van het Apollo platform of als er een van de virtuele nodes crasht. We gebruiken AWS services zoals RDS, Elasticsearch en S3 buckets voor het opslaan van de state van een applicatie.

Maar ook het beheren van OpenShift clusters kost tijd en energie en dat steken we liever in andere zaken, zoals het bouwen van applicaties. Daarom kijken we regelmatig naar nieuwe functionaliteiten bij de public cloud providers. Een voorbeeld daarvan is de managed Kubernetes services van AWS. Eerder dit jaar hebben we besloten om een van de applicaties die we voor een klant bouwen en onderhouden te plaatsen op een AWS EKS Fargate cluster. Het grote voordeel van EKS Fargate is dat het beheer van het Kubernetes cluster volledig door AWS wordt gedaan, waardoor we zelf meer tijd kunnen besteden aan het ontwikkelen van de applicatie.

Patrick Lanters CTO

Patrick Lanters CTO

Laat hier je
gegevens achter

Patrick Lanters neemt contact met je op