Cases

Grote overheidsinstantie - Kubernetes

De uitdaging

Een grote overheidsinstantie wil een digitaliseringsslag maken om informatiegestuurd te kunnen werken. Zo ook de afdeling waar activiteitscycli momenteel worden vastgelegd in Word-documenten en het proces deels nog handmatig wordt uitgevoerd.

Om dit proces te digitaliseren aan Rubicon de taak hiervoor een stuk software te maken. Om alle activiteiten beter te kunnen monitoren, evalueren en verantwoorden, is informatievastlegging en digitalisering van cruciaal belang. Op termijn neemt hierdoor de werkdruk af en is er een hogere kwaliteit en veiligheid van vastlegging.

Omdat met zeer vertrouwelijke informatie wordt gewerkt, moet de te ontwikkelen software en de manier van dataopslag aan hoge eisen voldoen. Bovendien hebben we te maken met eindgebruikers die gebruik maken van netwerken van bijvoorbeeld ambassades. Dit kunnen satellietverbindingen zijn waardoor vertraging kan optreden.

Plan van aanpak

Omdat de oplossing, veilig, portable en cloud-ready moet zijn, is qua hosting gekozen voor een Kubernetes cluster op Azure, met Azure Kubernetes Services (AKS). 

Er is gebouwd volgens een microservice-architectuur bestaande uit Domain-Driven Design (DDD) en Command and Query Responsibility Segregation (CQRS). De verschillende microservices zijn gebouwd met verschillende technieken: Angular, IdentityServer en diverse .NET backend services.

Om gebruikers met tragere verbindingen een goed werkende webapplicatie te bieden, hebben we ervoor gekozen om NgRx toe te passen in de Angular frontend. Hiermee zijn we in staat om het aantal calls naar de backend te reduceren.

De complete infrastructuur wordt over verschillende stages uitgerold middels infrastructure-as-code (IaC). CICD is ingeregeld met Azure DevOps, YAML-templates en HELM-charts.

Rol RubiCrew

Rubicon was verantwoordelijk voor het maken van een Solution Architectuur en het opzetten van het ontwikkelproces en het bijbehorende team. Het Rubicon ontwikkelteam draagt zorg voor het ontwerp, realisatie en oplevering van de gebouwde software door middel van Scrum Agile. Op deze manier worden technische keuzes en ontwerpbeslissingen gemaakt die passen binnen de architectuurkaders van de betreffende overheidsinstantie. Het team zorgt ervoor dat het zich zo goed mogelijk kan richten op het leveren van functionaliteit met behoud van softwarekwaliteit.