Navigeer met of spatie
VINK Platform Architecture
01 / 13
Vink

PlatformArchitectuur

De software-architectuur en infrastructuur van Vink. Van het AX2012 ERP via de microservices tot de webshops, marktplaatsen en B2B-koppelingen, uitgerold in 22 regio's.

90+microservices
22regio's
4logische lagen
100%GitOps · ArgoCD
Het grote plaatje

Van bron tot klant

Data stroomt in lagen van de bronsystemen naar de doelsystemen. De labels per laag tonen het soort werk, niet de volledige servicelijst. Die staat op de detail-slides hierna.

BronsystemenSYSTEM OF RECORD
AX2012 ERP (Dynamics)Contentserv PIM
BackendADAPTERS · 26
AX2012 API's (klant, order, product, ...)Contentserv / PIMCSV-import & dump-verwerking
InterfaceSYNC / ETL · 31
Productsync (Sylius, Shopware, Algolia)Klantsync (Creatio)Facturatie (Peppol / Billit)Orders, shipments
BusinessDOMEINLOGICA · 17
Winkelmand, orders, offertesPricing engineKlanten, adressen, gebruikersBetaling, facturatie, verzendingZagen op maat, notificaties
GatewayEDGE / TOEGANG · 17
API-gatewayB2B: EDI, Ariba, MercateoAI: mcp-gatewayMetrics, tracking, channel-export
DoelsystemenBESTEMMING
Sylius webshops (PHP)ShopwareSulu2 CMSAlgolia (zoek)Creatio (CRM)EDI / PeppolMarktplaatsen
Kerncijfers

Het platform in getallen

0+
Microservices
Eigen Go-services, uniek per functie. Niet per regio gedupliceerd.
0
Regio's
Elke regio draait de volledige stack als geïsoleerde tenant.
0
Logische lagen
Backend · Interface · Business · Gateway, elk met één rol.
0
Kubernetes clusters
dev · 2× prod (blue/green) · 2× db · denmark · infra.
0
Webplatformen
Sylius en Shopware webshops, Sulu2 als CMS, bovenop de services.
0%
GitOps gedreven
Alles declaratief via Tanka → ArgoCD. Git is de single source of truth.
De architectuur

Vier lagen, één verantwoordelijkheid elk

/ 01

Backend

± 26 services · adapters

Praat rechtstreeks met de bronsystemen. Ontsluit AX2012 (via dumps, webservice en EDI) en Contentserv als schone API's voor de rest van het platform.

  • AX2012: webservice, EDI, dumps
  • Contentserv / PIM-koppeling
  • CSV-import naar Postgres
/ 02

Interface

± 31 services · sync

De ETL-laag. Duwt en trekt data tussen het platform en externe systemen: zoek, CRM, facturatie, kanalen.

  • Productsync → Sylius, Shopware, Algolia
  • Klantsync → Creatio CRM
  • Facturatie → Peppol / Billit
  • Orders → AX2012, shipments, RPA
  • Media via CDN, channel-export
/ 03

Business

± 17 services · domein

De commerce-logica zelf: winkelmand, orders, klanten, betalingen, op-maat-zagen. Domein-eigen en herbruikbaar.

  • Winkelmand, orders, offertes, quotes
  • Klanten, adressen, gebruikers, favorieten
  • Betaling, facturatie, verzending
  • Zagen op maat (cutting)
  • Notificaties, werknemers, jobs
/ 04

Gateway

± 17 services · edge

De toegangsrand. Bundelt API's, koppelt B2B-protocollen en levert AI, beelden en tracking aan de buitenwereld.

  • api-gateway · mcp-gateway
  • EDI · Ariba · Mercateo
  • metrics · channel-export
Laag 01 · Backend

De brug naar AX2012

AX2012 is de bron van waarheid. Per regio wordt een dump verwerkt: naar MinIO, geïmporteerd in Postgres en als gRPC-API ontsloten, naast webservice en EDI.

ax2012-customer-api
klanten, contacten, omzet, segmenten
ax2012-address-api
klantadressen ophalen en aanmaken
ax2012-order-api
orders aanmaken (incl. EDI) en ophalen
ax2012-invoice-api
facturen ophalen, inclusief PDF
ax2012-offer-api
prijzen en kortingen voor offertes
ax2012-quote-api
offertes met lijnen (read-only)
ax2012-product-api
producten en prijzen (read-only)
ax2012-stock-api
voorraad per artikel (read-only)
ax2012-prospect-api
prospecten en contacten (read-only)
ax2012-csv-importer
CSV-dumps importeren naar Postgres
ax2012-csv-minio-sync
CSV-dumps synchroniseren naar MinIO
ax2012-dumps-ready
klaar-gemarkeerde dumps verplaatsen
contentserv-api
Contentserv PIM ontsluiten, AMQP-events
contentserv-manager
bulk productattributen via Excel/CSV
ax2012-product-pim-sync
AX2012-producten naar Contentserv
customer-product-mapping
klant-naar-product mappings opzoeken
smartour-api
Smartour leveringsdata ontsluiten
adminsvc
admingebruikers beheren (AD-import)
Laag 03 · Business

De commerce-domeinlogica

Elke service bezit één bounded context, deelt geen database en praat via gRPC. cuttingsvc berekent zaag-op-maat voor plaatmateriaal, een Vink-specialiteit.

cartsvc
winkelwagens met regelitems
ordersvc
orderindiening en -opvraging
customersvc
klanten, EU-btw-validatie (VIES)
productsvc
catalogus, taxonomie, kenmerken
paymentsvc
betalingen via PayNL
invoicesvc
facturen genereren, opslag in S3
offersvc
aanbiedingen, kosten en prijstrappen
quotesvc
offertes (CRUD, bron-ID-tracking)
shipmentsvc
zendingen met notificaties
addresssvc
adressen met deduplicatie
favoritesvc
productfavorieten van klanten
usersvc
accounts, authenticatie, groepen
cuttingsvc
zaagaanvragen, layoutoptimalisatie
notificationsvc
transactionele e-mails (SMTP/Mandrill)
workersvc
werknemersrecords, ID-mapping
product-id-provider
product-ID's mappen intern/extern
ecommerce-mcp
MCP-server: zoeken, cart, details
Laag 02 · Interface

Synchronisatie naar buiten

ETL-services die data tussen het platform en externe systemen synchroniseren: webshops, zoeken, CRM, facturatie en transport.

products-sylius
producten naar Sylius webshop
products-shopware
producten naar Shopware webshop
products-algolia
producten indexeren in Algolia
products-ax2012
productkenmerken naar AX2012 (FTP)
customers-creatio
klanten en orders naar Creatio CRM
peppol-billit
Peppol-facturen via Billit
order-spooler
webshoporders doorspoelen naar AX2012
contentserv-cdn
Contentserv-bestanden naar S3 CDN
smartour-shipments
verzendingen uit Smartour naar shipmentsvc
Laag 04 · Gateway

De toegangsrand

REST-API's voor de webshops, B2B-protocollen, AI-tools en monitoring naar de buitenwereld.

api-gateway
REST-gateway, bundelt business-gRPC
mcp-gateway
backend-tools voor AI-agents (MCP)
edi
EDI-orders (HTTP/IMAP/SSH) naar orders
ariba
cXML PunchOut met SAP Ariba
mercateo
BMEcat-catalogi via FTP
channel-export
catalogi per klant naar kanalen
metrics
order-metrics aggregeren (AMQP/gRPC)
tracking
zending-tracking en unsubscribe
statusmonitor
prod-sites pollen, alerteren bij downtime
imageproxy
productafbeeldingen schalen en cachen
Bovenop het platform

Interne applicaties

Twee Go-applicaties met een Refine / Ant Design-frontend die de business- en gateway-services bundelen voor Vink-medewerkers.

vink-flows

Proces-portaal

Go + Refine · draait op dev

Medewerkers starten flows (procedures), krijgen taken toegewezen en handelen die af. Een generieke flow-engine, niet één vast proces.

  • YAML-flows met auto-advance (CEL) en RBAC per flow
  • Flows nu: ContentServ-onboarding, klantregistratie
  • Externe triggers via webhooks, e-mail via notificationsvc
management-backend

MyVink admin-dashboard

Go + Refine · beheer-UI

Het beheerdashboard. Bundelt data uit de business- en gateway-services in één admin-UI voor interne gebruikers.

  • Klanten, orders, facturen, producten, gebruikers
  • AI-chat bovenop mcp-gateway en LiteLLM
  • Marketplace-integraties (Odoo PunchOut), versleuteld
  • Auth via loginsvc (JWT)
Multi-tenant

22 regio's, één codebase

22regio's live in prod

Eén ApplicationSet vermenigvuldigt elke service over cluster × service × regio. Tien services × zestien dev-regio's = 160 ArgoCD-applicaties, automatisch gegenereerd.

Elke regio heeft eigen databases, feature-flags en endpoints, maar deelt exact dezelfde code en Helm-charts.

Dev + Prod Alleen Prod
Levering

GitOps van commit tot cluster

Niemand draait kubectl apply met de hand. Een commit in Git is de enige weg naar productie.

01

Git push

Wijziging in de tanka- of deployments-repo op GitLab.

02

Tanka / Jsonnet

Evalueert per cluster en genereert ArgoCD Applications & ApplicationSets.

03

ArgoCD sync

Detecteert de diff en rolt Helm-charts uit, één app per regio.

04

Kubernetes

Images uit de private Docker-registry draaien op Talos-nodes.

Tanka + Jsonnet

Declaratieve config met overerving: platform → base → env → variant.

ArgoCD

GitOps-engine die de gewenste staat continu reconcilieert.

HashiCorp Vault

Secrets via External Secrets gesynct naar elke cluster.

GitLab CI

Bouwt Go-images via Athens module-proxy, pusht naar de registry.

Topologie

De actieve clusters

0pods draaiend
op Kubernetes
over 34 nodes · 4 actieve clusters · live gemeten

Prod en database draaien blue/green. Hieronder de actieve helft.

Development

dev8

16 dev-regio's

Alle ontwikkelworkloads. Nieuwe services landen hier eerst, nooit rechtstreeks in prod.

518 pods, 11 nodes
Productie

prod11

22 regio's

Alle productie-applicaties. De actieve helft van de blue/green-opstelling.

594 pods, 11 nodes
Database

db5

Postgres-operators

De database-operators en Postgres-clusters voor productie.

129 pods, 7 nodes
Management

infra4

in-cluster

De infra-cluster: draait ArgoCD, de monitoring-stack en de CI-runners.

129 pods, 5 nodes
Inzicht & intelligentie

Observability & AI-laag

OBSERVABILITY

Prometheus

Metrics & alerting met hysteresis-standaard per cluster.

Grafana

Dashboards over alle regio's en lagen.

Loki

Gecentraliseerde logs, doorzoekbaar per service.

Alertmanager

Alerts gekoppeld aan runbooks, deels autonoom oplosbaar.

AI & DATA

mcp-gateway

Zelf-beschrijvende tool-catalog; elk metrics-endpoint wordt automatisch AI-tool.

LiteLLM

Centrale LLM-gateway met virtual keys per service.

Langfuse

Tracing & observability voor alle AI-calls.

gateway/metrics

Centrale metrics-store voor sync- en import-data, bevraagbaar via mcp-gateway.

Fundament

De technologiekeuzes

Talen

runtime
  • Go · de meeste microservices
  • PHP · Sylius, Shopware, Sulu
  • Jsonnet · infra-config

Communicatie

tussen services
  • gRPC + Protobuf (protorepo)
  • REST via api-gateway
  • RabbitMQ · events & queues

Data

opslag
  • PostgreSQL & MySQL
  • Redis · cache
  • Meilisearch · zoeken (nieuw)
  • Elasticsearch & Algolia (bestaand)
  • MinIO · object storage

Platform

runtime infra
  • Terraform · infra-provisioning
  • Kubernetes op Talos
  • Helm-charts per service
  • NGINX ingress · MetalLB

Delivery

CI/CD
  • GitLab CI + Athens proxy
  • ArgoCD GitOps
  • Renovate dependency-updates

Beheer

platform-diensten
  • Vault · secrets
  • cert-manager · TLS
  • Route53 · DNS (AWS)
  • CDN op AWS
  • External Secrets · sync
POC · marktvergelijking

Als het een SaaS-product was

Gartner is een onderzoeksbureau; hun Magic Quadrant zet leveranciers af op uitvoeringskracht (verticaal) en volledigheid van visie (horizontaal). Hypothetisch geplaatst tussen bekende commerce-platformen.

ChallengersLeaders Niche PlayersVisionaries Volledigheid van visie → Uitvoeringskracht → Salesforce Commerce BigCommerce SAP Commerce commercetools Adobe Commerce Shopware Akeneo PIM Vink Platform
Illustratief, geen echte Gartner-publicatie. Het Vink-platform is een intern platform, geen commercieel SaaS-product.
POC · live topologie

De pod-sterrenkaart

Elke ster is een echte pod in prod (prod11), db5 of infra4, gegroepeerd per namespace. De lijnen tonen de communicatie tussen de lagen. Sleep om te pannen, scroll om te zoomen, hover een cluster.

datastroom (gRPC) beheer (ArgoCD) databases infra
sleep · scroll · hover

90+ services.
22 regio's.

Gelaagde microservices, per regio uitgerold, beheerd via GitOps. Een wijziging gaat via Git naar ArgoCD en zo naar de clusters.

90+ services 4 lagen 7 clusters Blue / Green prod ArgoCD + Tanka