Er is inmiddels een maand voorbij, niet een week. En ik word rechts en links ingehaald, door anderen die wel week notes schrijven, zoals Eelco. Ik heb allerlei excuses, zoals een week vakantie, en een project Machine Law dat gaat vliegen en dat mijn tijd, maar vooral mijn aandacht en enthousiasme slurpt. Maar het echte excuus is dat ik dit verhaal wilde schrijven en dat ik steeds hoopte dat het daar tijd voor was. Dat is nu nog steeds niet zo, maar dit verhaal kan niet langer wachten.

Edit 1: het probleem dat ik hier beschrijf was kennelijk al bekend, KPMG schreef een rapport in opdracht van EZ.

Edit 2: na het verschijnen van dit stuk publiceerde Bert Hubert dit Manifest Big Tech Alternatieven.

Hoe het begon

Dit verhaal begon vlak voor Sinterklaas vorig jaar. Voor de Algoritme Management Toolkit (AMT) hadden we toen een omgeving nodig om in productie te draaien, want er kwam een pilot fase aan, met echte gebruikers en echt data.

We draaien tijdens het ontwikkelen de AMT op de infra van Digilab. Dat is voor ons een hele fijne omgeving geweest, zo was het in April 2024 een kwestie van één berichtje in een Mattermost kanaal:

Digilab Cluster Aanvraag

Minder dan 12 minuten later kwam het bericht “done!” en hadden we twee Kubernetes namespaces. Precies wat we ook nu zoeken: twee namespaces met elk 4 cores, 4GB geheugen, en een persisted volume van 100GB. Het stelt echt helemaal niets voor.

Helaas is de infra van Digilab niet geschikt voor productie: het heeft geen enkele SLA (want veel minder dan een FTE aan ondersteuning) en het is niet geschikt voor productie data. Voor de duidelijkheid, het aanvragen van een productie omgeving bij Digilab (als dit ondersteund zou worden) zou ook 12 minuten duren, simpelweg omdat alles geautomatiseerd is. En dat is met een Mattermost chat interface, als dit een knop zou zijn, dan zou dit praktisch naar 0 minuten gaan.

Hoe het ook kan

Om te weten hoe de ervaring zou zijn bij een grote commerciële cloud boer, maakte ik aan wat we nodig hebben bij AWS. Ik begon om 10:25 vanochtend met de aanmeld-flow van AWS. Ze hadden email, adres, telefoonnummer, mijn creditcard en een afschrijving van 1USD nodig.

Maar na het aanmelden was het een kwestie van een cluster aanmaken bij Amazon Elastic Kubernetes Service. Dat proces was heel eenvoudig, een paar kliks om default IAM node- en cluster roles aan te maken.

Om 10:33 zag ik dit blije nieuws:

AWS EKS Success

Om 10:44 (19 minuten later) was het cluster Active met 2 c6g.large nodes (een maatje te klein als het gaat om cpus, zag ik achteraf).

Kosten voor het juiste cluster formaat, inclusief CPU, geheugen, opslag en 2 backups per dag zou richting de 2K USD per jaar gaan.

2 minuten later was het cluster en mijn AWS account weer verdwenen.

De lat

Dit is dus waar de lat ligt:

  • De tijd tussen start aanvragen en het draaien van een omgeving zou ergens tussen de 12 en 19 minuten moeten liggen, of in ieder geval die orde van grootte moeten hebben.
  • De kosten ergens rond 2K USD per jaar voor twee Kubernetes namespaces met elk 4 cores, 4GB geheugen, en een persisted volume van 100GB.

Waarom commerciële cloud geen optie is

Het is in mijn ogen nooit logisch geweest voor de overheid om te leunen op (Amerikaanse) commerciële clouds. Maar met recent gebeurtenissen in de wereld is het steeds minder logisch om naar omgevingen zoals Azure, AWS, of GCS te kijken. Zie ook de sterke stukken van Bert Hubert van de afgelopen weken over dit onderwerp:

Het begin van de zoektocht

Dus zo begon, begin December 2024, onze zoektocht naar een omgeving waar we wel productie kunnen draaien. In eerste instantie voor de AMT, maar in principe voor alle software die we maken vanuit het Rijks ICT Gilde en in productie willen brengen.

Op zoek naar een productie omgeving binnen de Nederlandse Overheid. Op zoek, in feite, naar twee Kubernetes namespaces met elk 4 cores, 4GB geheugen, en een persisted volume van 100GB. Nogmaals: het stelt helemaal niets voor.

Er zijn, zo blijkt, eigenlijk maar een paar diensten binnen de overheid waar we hiervoor kunnen aankloppen. En uiteindelijk lijken onze opties beperkt tot slechts één dienst. Dus die schreven we op 4 December aan. Dit was het eerste mailtje van, wat we toen nog niet wisten, heel veel mailtjes. Zie onderaan een chronologisch overzicht.

We verwachtten eigenlijk een relatief eenvoudig proces. Misschien zou het een paar dagen duren voordat we een reactie kregen, of misschien zelfs een week of twee om alles in te richten. Maar we hadden geen idee dat we hiermee aan een reis begonnen die maanden zou duren, tientallen e-mails zou vergen, uren aan vergaderingen zou kosten, en meerdere documenten en beoordelingen zou vereisen. En dan hebben we het nog niet over de financiele kant.

Het was alsof we vroegen om een kopje koffie, maar in plaats daarvan werd ons verteld dat we eerst de geschiedenis van koffie moesten documenteren, een uitgebreide analyse van verschillende koffiebonen moesten maken, en goedkeuring moesten krijgen van zeven verschillende afdelingen voordat er ook maar één druppel water kon worden gekookt.

Het had zo simpel kunnen zijn. 12 minuten bij Digilab, 19 minuten bij AWS. Maar in plaats daarvan begon een odyssee door de wereld van de overheidsinfrastructuur, een reis die we hier chronologisch zullen documenteren. Niet om iemand aan de schandpaal te nagelen, maar om te laten zien hoe groot de afstand is tussen waar we staan en waar we moeten zijn als we een soevereine, efficiënte digitale overheid willen zijn.

De eerste weken - wachten op antwoord

Na ons eerste verzoek op 4 december 2024 bleef het vijf dagen stil. Geen reactie. Geen ontvangstbevestiging. We hadden natuurlijk rekening gehouden met de drukke Sinterklaasperiode, dus we stuurden op 9 december een vriendelijke herinnering: “Hey Medewerker2, heb je binnenkort tijd voor een korte meeting…?”

Dezelfde dag nog kregen we een reactie: “Dag Medewerker3, ik zal vandaag een uitnodiging sturen…” Een goed teken, dachten we. Er kwam beweging in!

Op 16 december werd er een mail doorgestuurd waarin onze vragen over dienstverlening werden besproken, en twee dagen later, op 18 december, hadden we onze eerste overleg. Vier medewerkers, dertig minuten - dat leek redelijk efficiënt.

De volgende dag ontvingen we een opvolgende e-mail: “Hi Medewerker1, Medewerker4, dank voor ons gesprek gisteren…” We hadden goede hoop. Het proces was in gang gezet. Nu was het wachten op de volgende stap.

Het nieuwe jaar - de bureaucratie ontwaakt

Maar dan volgt er bijna een maand radiostilte. Geen updates, geen vragen, geen voortgang. Het was dan ook vakantie. Op 15 januari 2025 voelen we ons genoodzaakt om zelf contact op te nemen: “Hi Medewerker2, hebben jullie tijd gehad…?”

De dag erna komt er een geruststellend antwoord: “Dag Medewerker1, we zijn ermee bezig…” En vier dagen later volgt het verzoek om data en tijden door te geven voor een nieuwe vergadering.

Na wat heen en weer gemaild over beschikbaarheid, ontvangen we op 22 januari het nieuws dat er “interne goedkeuring” is. Blijkbaar moest er eerst intern worden besproken of we überhaupt verder konden gaan met het proces.

Op 27 januari volgt dan de “intake meeting”. Een vergadering van anderhalf uur met vier mensen. Dat zijn zes mensuren om te bespreken wat we nodig hebben: twee namespaces, elk 4 cores, 4GB geheugen, en 100GB opslag.

Februari - de papierwinkel begint

De dag na de intake meeting ontvangen we een document: “Intake Architectuur v0.1.docx”. Er wordt iets concreets opgeleverd!

Op 29 januari is er weer een meeting, een demonstratie deze keer. Twee uur, vier personen. Dat zijn acht mensuren om te laten zien hoe hun omgeving werkt.

Eind januari en begin februari worden er wat e-mails uitgewisseld over het document. Er komt feedback, het document wordt bijgewerkt, en ook wordt er security-expertise ingevlogen. Medewerker5, een security-expert, wordt erbij betrokken.

Dan is het weer even stil. Medewerker4 is tot 10 februari afwezig, krijgen we te horen via een automatische reply. Ondertussen delen we de security-feedback en voeren we een telefoongesprek met onze manager, die ons aanmoedigt: “Niet opgeven”.

Op 10 februari is er weer een vergadering, een “afstemming meeting” deze keer. Een uur, drie personen. Weer drie mensuren om te praten over… ja, waarover eigenlijk? Over het proces? Over de vraag wanneer we nu die twee namespaces krijgen?

De laatste loodjes - of toch niet?

Halverwege februari begint het ongeduld toch echt toe te slaan. Op 17 februari vragen we expliciet om een tijdpad: “ Hi Medewerker4, zou jij ons een tijdpad kunnen geven…”. Twee dagen later volgt er nog een mail: “Hi Medewerker4, mogelijk zijn er nog wat obstakels…”.

Op 21 februari bespreken we in een Mattermost-chat met onze manager of we moeten escaleren. We zijn nu al bijna drie maanden bezig, en we hebben nog geen concrete datum wanneer we de omgeving kunnen verwachten.

We proberen telefonisch contact te leggen met twee contactpersonen bij de Hosting Provider, maar krijgen geen gehoor. Later die dag worden we teruggebeld, en dan komt het verlossende woord: het cluster komt in april! Waarschijnlijk de tweede helft. Dat is nog bijna twee maanden wachten, maar tenminste hebben we nu een indicatie.

De bevestiging komt ook per e-mail binnen: “Onze huidige inschatting van de planning: oplevering in april (tweede helft)”. We zijn inmiddels bijna 80 dagen verder sinds ons eerste verzoek.

Terug naar af?

Maar dan, op 25 februari, krijgen we plotseling vragen over de “omvang” van de applicatie. “We zijn bezig met de kostenindicatie voor jullie aanvraag voor de omgeving.” Maar wacht eens even… hadden we niet dat niet al in december precies aangegeven wat we nodig hebben? En hadden we dat niet herhaald tijdens de intake eind januari?

We wijzen er op: “Ik was in de veronderstelling dat we dat al tijdens de intake vastgelegd hadden”.

Maart - De kostenindicatie

Op 4 maart 2025, exact 90 dagen na ons eerste verzoek, krijgen we de kostenindicatie. “Hierbij ontvang je de kostenindicatie voor de hosting van jullie Applicatie”. Een mijlpaal!

Maar we hebben toch nog wat vragen over de kostenindicatie. De kosten liggen namelijk ruim 10x boven de lat. En dat niet alleen, we worden gevraagd te betalen voor de uren die in dit proces gestoken zijn.

En zo zijn we op 7 maart 2025, 93 dagen na ons eerste verzoek, nog steeds bezig met het beantwoorden van vragen, het aanleveren van informatie, en het wachten op goedkeuringen. En de daadwerkelijke oplevering van onze omgeving? Die staat gepland voor “april, waarschijnlijk tweede helft”. Als alles meezit.

De balans tot nu toe

Helemaal onderaan dit bericht staat een chronologische tijdlijn. Hier de samenvatting daarvan:

Categorie Aantal Details
👥 Meetings 4 1x 30 min (4p), 1x 90 min (4p), 1x 120 min (4p), 1x 60 min (3p)
👥 Mensuren 19 Totaal aantal uren besteed in meetings
📨 Emails 41  
📞 Telefoon gesprekken 4 2x succesvol, 2x poging
💬 Chats 1  
📄 Documenten 3 Origineel + feedback van intake, kostenindicatie
⏱️ Doorlooptijd tot vandaag 93 dagen 4 dec 2024 - 7 maart 2025
⏱️ Verwachtte doorlooptijd 132 dagen 4 dec 2024 - 15 april 2025

Wat dit betekent voor digitale soevereiniteit

Terwijl wij bezig waren met onze odyssee, schreef Bert Hubert zijn stukken over digitale soevereiniteit en waarom de overheid niet afhankelijk zou moeten zijn van Amerikaanse cloudproviders. En ik ben het met hem eens, sterker nog, ik ben er een groot voorstander van dat de overheid haar eigen infrastructuur beheert.

Maar als het opzetten van een simpele Kubernetes-omgeving meer dan drie maanden duurt en tientallen e-mails, vergaderingen en documenten vergt, terwijl dezelfde omgeving in de commerciële cloud in 19 minuten kan worden opgezet, dan is het geen wonder dat veel overheidsorganisaties toch voor de commerciële cloud kiezen.

De kloof tussen waar we staan en waar we moeten zijn is enorm. Als we echt een soevereine digitale overheid willen zijn, moeten we niet alleen de technische capaciteit hebben om onze eigen infrastructuur te beheren, maar vooral ook de organisatorische capaciteit om dat efficiënt te doen.

Want dit gaat niet over techniek. De technologie is er. Kubernetes is er. De hardware is er. Dit gaat over processen, over bureaucratie, over de manier waarop we als overheid omgaan met ICT.

En terwijl wij wachten op onze omgeving, staan onze gebruikers ook te wachten. Gebruikers die met onze Algoritme Management Toolkit (AMT) aan de slag willen om hun algoritmes te verantwoorden en transparanter te maken. Gebruikers die nu nog langer moeten wachten omdat wij vastzitten in een proces dat 93+ dagen duurt in plaats van 19 minuten.

Hoe dan wel

De lat ligt op 19 minuten. Laten we daar naartoe werken vanaf de ruim 190.000 minuten waar we straks half april op zitten. Er is ruimte voor een 10.000x speedup. Juist omdat die ruimte groot is, heb ik er vertrouwen in dat we grote stappen kunnen zetten om dit beter te maken, zelfs met simpele ingrepen in het huidige proces. Maar beter nog, toewerkend naar een echt platform engineering organisatie, waar een Kubernetes namespace met een simpele druk op de knop geregeld is. We hebben de mensen en kennis om dit te doen! En daar draag ik met mijn ervaring bij Spotify graag aan bij!

Edit: dit probleem was kennelijk al bekend, KPMG schreef een rapport in opdracht van EZ.

Tot slot

Ik wil benadrukken dat dit verhaal niet bedoeld is om individuele medewerkers aan de schandpaal te nagelen. De mensen waarmee we hebben gewerkt doen hun best binnen het systeem waarin ze werken. Het probleem zit niet bij de mensen, maar bij de processen en de organisatie.

Chronologisch overzicht van onze zoektocht

Datum Type Beschrijving  
4 dec 2024 📨 Email Medewerker1: “Hallo Medewerker2, Hierbij …”  
9 dec 2024 📨 Email Medewerker3: “Hey Medewerker2, Heb je binnenkort tijd voor een korte meeting…”  
9 dec 2024 📨 Email Medewerker2: “Dag Medewerker3, Ik zal vandaag een uitnodiging sturen…”  
16 dec 2024 📨 Email Medewerker2: “FW: Vragen over dienstverlening”  
18 dec 2024 👥 Meeting Vragen over dienstverlening beantwoorden (30 min, 4p)  
19 dec 2024 📨 Email Medewerker2: “Hi Medewerker1, Medewerker4, Dank voor ons gesprek gisteren…”  
15 jan 2025 📨 Email Medewerker1: “Hi Medewerker2, Hebben jullie tijd gehad…?”  
16 jan 2025 📨 Email Medewerker2: “Dag Medewerker1, We zijn ermee bezig…”  
20 jan 2025 📨 Email Medewerker2: “Dag Medewerker1, kan je opties voor datum en tijd sturen…”  
21 jan 2025 📨 Email Medewerker1: “Ik weet nog niet zeker of ik er bij kan zijn…”  
22 jan 2025 📨 Email Medewerker2: “Na onze interne goedkeuring…”  
27 jan 2025 👥 Meeting Intake meeting (90 min, 4p)  
28 jan 2025 📨 Email Medewerker4: “Hoi Medewerker1, Medewerker3, Bijgaand eerste concept…”  
28 jan 2025 📄 Document Deelt: “Intake Architectuur v0.1.docx”  
29 jan 2025 👥 Meeting Demo sessie (120 min, 4p)  
30 jan 2025 📨 Email Medewerker3: “Hey Medewerker4, Het ziet er goed uit…”  
30 jan 2025 ✅ Feedback Geen belangrijke punten als aanvulling  
30 jan 2025 📌 Notities Opmerkingen over technische componenten  
31 jan 2025 📨 Email Medewerker1 aan RIG manager: “fyi”  
31 jan 2025 📨 Email Medewerker1: “Dank Medewerker4, Medewerker3, Ziet er goed uit!”  
31 jan 2025 📋 Document Document bijgewerkt met feedback  
31 jan 2025 📄 Document Deelt: “Intake Architectuur v0.1 - Feedback verwerkt.docx”  
31 jan 2025 🔄 Actie Document gedeeld met Medewerker5 (security expert)  
4 feb 2025 📨 Email Medewerker4: “Beste mailer, Ik ben tot 10 februari afwezig.”  
4 feb 2025 📨 Email Medewerker1: “Hi Medewerker4”  
4 feb 2025 🔒 Security Security feedback van Medewerker5 gedeeld  
4 feb 2025 📨 Email Medewerker1 aan RIG manager: “Fyi”  
5 feb 2025 📨 Email Medewerker3: “Hey Medewerker1, Over technische componenten…”  
6 feb 2025 📞 Call Telefoongesprek met manager: “Niet opgeven”  
10 feb 2025 👥 Meeting Afstemming meeting (60 min, 3p)  
17 feb 2025 📨 Email Medewerker1: “Hi Medewerker4, Zou jij ons een tijdpad kunnen geven…”  
17 feb 2025 📨 Email Medewerker1: “Re: Afstemming Intake architectuur”  
19 feb 2025 📨 Email Medewerker1: “Hi Medewerker4, Mogelijk zijn er nog wat obstakels…”  
21 feb 2025 💬 Chat Mattermost gesprek met RIG manager: “Moeten we escaleren?”  
21 feb 2025 📞 Call Poging tot telefonisch contact met Hosting Provider contactpersoon 1 (geen gehoor)  
21 feb 2025 📞 Call Poging tot telefonisch contact met Hosting Provider contactpersoon 2 (geen gehoor)  
21 feb 2025 📞 Call Hosting Provider belt terug: BEVESTIGING CLUSTER IN APRIL! (waarschijnlijk tweede helft)  
21 feb 2025 📨 Email Medewerker1: “FW: Afstemming intake architectuur”  
21 feb 2025 📨 Email Medewerker2: “RE: Afstemming intake architectuur” - Onze huidige inschatting van de planning: oplevering in april (tweede helft)  
21 feb 2025 📨 Email Medewerker1: “FW: Afstemming intake architectuur”  
25 feb 2025 📨 Email Medewerker1: “RE: Omvang Applicatie” - Ik was in de veronderstelling dat we dat al tijdens de intake vastgelegd hadden  
25 feb 2025 📨 Email Medewerker2: “FW: Omvang Applicatie”  
25 feb 2025 📨 Email Medewerker1: “RE: Omvang Applicatie” - Besproken de mail commerciële waarin we vorige maand CPU/Geheugen/Storage communiceerden  
25 feb 2025 📨 Email Medewerker2: “RE: Omvang Applicatie” - Is dit niet wat we tijdens de intake…  
25 feb 2025 📨 Email Medewerker2: “Omvang Applicatie” - We zijn bezig met de kostenindicatie voor jullie aanvraag voor de omgeving  
25 feb 2025 📨 Email Medewerker1: “FW: Afstemming intake architectuur”  
25 feb 2025 📨 Email Medewerker1: “RE: Afstemming intake architectuur” - Als er manieren zijn de boel te versnellen horen we het graag  
4 maart 2025 📨 Email Medewerker1: “kostenindicatie hosting Applicatie” - Hierbij ontvang je de kostenindicatie voor de hosting van jullie Applicatie  
4 maart 2025 📨 Email Medewerker2: “FW: kostenindicatie hosting Applicatie” - Opmerking: We hebben een kostenindicatie!  
4 maart 2025 📨 Email Medewerker2: “RE: kostenindicatie hosting Applicatie” - Bedankt! Ik zal zorgen dat het bij ons de lijn in gaat  
6 maart 2025 📨 Email Medewerker1: “Informatie uitwisseling over Applicatie” - In ons interne besluitvormingsproces kwam de aanvraag voor hosting van Applicatie ook terecht bij onze security managers  
6 maart 2025 📨 Email Medewerker2: “RE: Informatie uitwisseling over Applicatie” - Natuurlijk, hier is de repository met meer informatie: github.com/Organisatie/applicatienaam  
6 maart 2025 📨 Email Medewerker2: “RE: Informatie uitwisseling over Applicatie” - Dank je wel!  
6 maart 2025 📨 Email Medewerker1: “RE: kostenindicatie hosting Applicatie” - Beste collega, toch nog wat vragen over de kostenindicatie  
6 maart 2025 📨 Email Medewerker2: “RE: kostenindicatie hosting Applicatie” - Dag collega, Hierbij de antwoorden op jouw vragen  
6 maart 2025 📨 Email Medewerker1: “FW: kostenindicatie hosting Applicatie” - Beste collega, wat vervolg vragen over de kostenindicatie  

Legenda

  • 👥 - Meeting
  • 📨 - Email
  • 📄 - Document versie
  • ✅ - Goedkeuring
  • 📌 - Notities/Opmerkingen
  • 🔒 - Security Review
  • 🔄 - Actie
  • 📋 - Document update
  • 📞 - Telefoongesprek
  • 💬 - Chat bericht