Playbook
API (Application Programming Interface) Boundaries for MFE (Module Federation) and Control Plane (API Boundaries For Mfe And Control Plane)
API Boundaries for MFE and Control Plane — a production lesson from an ABC Logistics backend/data platform.
Logistics Django API & Delivery
Part 2 of 8
Django analysis/API layer, contracts with MFEs, self-hosted GitLab CE → EC2 pipelines, and continuous security scanning.
API (Application Programming Interface) Boundaries for MFE (Module Federation) and Control Plane
Federated remotes and the ops monolith share auth and analysis contracts without each talking to every database.
auth remote ⊕ analysis API ⊕ BFF-less reads
Her remote kendi polyglot erişimini yazmaz.
Concepts, defined where they first appear
📦 Analysis API
Django read/analysis endpoints consumed by MFEs and the control plane.
📦 Closed Network CI
Pipelines on self-hosted GitLab CE runners inside a closed network.
📦 Artifact
Versioned deploy package shipped to EC2.
📦 Continuous Pentest
Open-source security scanning in the pipeline (ProjectDiscovery ecosystem).
Blurring these layers produces the wrong truth in analytics and on the map UI.
Shape of the problem
Federated remotes and the ops monolith share auth and analysis contracts without each talking to every database.
auth remote ⊕ analysis API ⊕ BFF-less reads
The split that works
Her remote kendi polyglot erişimini yazmaz.
auth remote ⊕ analysis API ⊕ BFF-less reads
↓
explicit contract → frontend
Frontend bridge
Ops maps, wait-geofence UI, and MFEs consume these read models — they never bind to raw ERP/MySQL.
The mappings that get confused most often
❌ ERP MySQL = analytics database
✓ ERP is a write store; analytics lives in PostGIS
❌ Let the map trust public/vendor routers blindly
✓ Production needs your API/OSRM edge
❌ Log ML outputs with PII
✓ Evaluation and serving obey privacy boundaries
A checklist for auditing your own system
- Which store is source of truth for this surface?
- Which API contract does the frontend call?
- What happens if one cluster node dies?
- How is lag shown to operators?
- Deny-list: any client domain/vendor leakage?
What to take away from this part
- Polyglot stores exist for different workloads; one-DB fantasies are fragile.
- Frontends consume clean read models, not the ERP.
- ML/OSRM outputs need an API contract before they hit the map.
A beautiful map drawn from a dirty source is still a lie.
FAQ
Frequently asked questions
What is Analysis API?
Django read/analysis endpoints consumed by MFEs and the control plane.
What is Closed Network CI?
Pipelines on self-hosted GitLab CE runners inside a closed network.
Is it true that "ERP MySQL = analytics database"?
ERP is a write store; analytics lives in PostGIS
What does this part lock in?
Her remote kendi polyglot erişimini yazmaz. Federated remotes and the ops monolith share auth and analysis contracts without each talking to every database.
Engineering Principles Learned
- Separate the operational store from the analytics store.
- Telemetry, search, and relational GIS have different access patterns.
- Every read model is a frontend contract.
Continue reading
Continue reading
Next in series
GitLab CE Pipelines to EC2 in a Closed Network
GitLab CE Pipelines to EC2 in a Closed Network — a production lesson from an ABC Logistics backend/data platform.
Next in series
Django as the Ops Analysis API (Application Programming Interface) Layer
Python/Django serves PostGIS–Mongo–ES reads to MFEs and the control plane as safe JSON contracts.
Same series
Immutable Artifacts and Rollback Discipline
Immutable Artifacts and Rollback Discipline — a production lesson from an ABC Logistics backend/data platform.