Europese automotive OEM
Real-time MQ Bridge: cloud-native naar legacy mainframe
Een grote Europese automotive OEM moest cloud-native microservices op AWS Fargate laten communiceren met een legacy IBM MQ queue manager on-premises. Drie root causes stapelden boven elkaar.
01 · Uitdaging
Drie problemen die elkaar verborgen hielden
De financiële divisie van een grote Europese automotive OEM migreerde een credit-rating workflow naar de cloud. De nieuwe microservices draaiden op AWS Fargate. Het bestaande mainframe — met de echte business logic — bleef on-premises achter een IBM MQ queue manager. De twee werelden moesten praten, in real time.
Wat eenvoudig klonk werd weken debugwerk voor meerdere teams. Niet één probleem, maar drie die elkaar maskeerden:
02 · Aanpak
Wat we hebben gedaan
We pakten de drie root causes apart aan in plaats van rond te blijven cirkelen.
Eerst de filesystem-laag. AWS Fargate containers draaien op een read-only root filesystem — IBM's MQ client gaat er vanuit dat er ergens een schrijfbare disk is. We bouwden een bootstrap-laag die de benodigde directory-structuur opzet vóór de MQ client initialiseert.
Daarna de SSL-stack. De IBM client gebruikt GSKit9 (IBM's propriëtaire SSL library), geen OpenSSL. Standaard Node.js TLS werkt niet. We configureerden GSKit met PKCS#12 keystores voor mutual TLS en injecteerden een custom mqclient.ini op runtime.
Tot slot de network-isolation. De VPC blokkeerde de CRL/OCSP servers waar GSKit certificaat-revocatie wilde checken — handshakes faalden zonder duidelijke foutmelding. We pasten de mqclient.ini aan om die onbereikbare check te omzeilen zonder security te verzwakken.
Het laatste probleem was niet code maar Terraform: de IaC overschreef stilletjes het Docker CMD waardoor onze bootstrap nooit liep. Vinden duurde een uur, fixen vijf minuten.
Belangrijkste keuzes
- Bootstrap als ENTRYPOINT, niet als app-code — fundament eerst
- GSKit boven OpenSSL — IBM's eigen stack respecteren
- Revocation check omzeilen, niet TLS uitschakelen — security blijft intact
- Terraform/Docker CMD-collisie expliciet documenteren voor toekomstige teams
03 · Resultaat
Wat het opleverde
Eén gerichte sessie. End-to-end message round-trip onder de drie seconden. Cloud service plaatst een bericht op de request queue, het legacy systeem verwerkt het, het antwoord komt terug op de response queue. Geen downtime tijdens deploy, geen wijziging aan het legacy systeem, geen security trade-off.
Het patroon is nu hergebruikbaar voor elke vergelijkbare legacy-naar-cloud integratie binnen de organisatie.
04 · Wat dit voor jou betekent
Wat dit betekent voor jou
Veel MKB-bedrijven hebben dezelfde structurele situatie: één essentieel legacy systeem dat niemand durft aan te raken, en moderne SaaS- of cloudapplicaties die ermee moeten praten. De makkelijke oplossing — alles vervangen — is meestal politiek of financieel uitgesloten.
Wat we hier deden is wat we voor elke integratie-uitdaging doen: het legacy systeem ongemoeid laten, de cloud-kant bouwen rond zijn eigenaardigheden, en de glue-laag tussen beide zo dun en transparant houden dat hij over jaren nog onderhoudbaar is.
Toepasbaar voor
- Accountantskantoren met legacy boekhoudpakketten die naar de cloud moeten
- MKB met on-premises ERP (Exact, AFAS) die moderne web-applicaties willen koppelen
- Financial services met mainframe-data die richting AI-workflows wil
Tech stack