Architecture Overview
CMP is a layered platform that sits between your cloud infrastructure and your customers.
Component layers
┌─────────────────────────────────────────┐
│ Customer Portal (Frontend) │
├─────────────────────────────────────────┤
│ CMP API (Backend) │
├──────────────┬──────────────────────────┤
│ Billing & │ Orchestrator Adapters │
│ Invoicing │ (ACS / OS / VMware ...) │
├──────────────┴──────────────────────────┤
│ Cloud Infrastructure (Zones) │
│ CloudStack | OpenStack | VMware | ... │
└─────────────────────────────────────────┘
Key components
- Frontend — White-label customer portal. Supports theme customization, branding, and SSO.
- CMP API — Core backend. Manages users, billing, quotas, packages, and communicates with orchestrators.
- Orchestrator Adapters — Per-orchestrator modules that translate CMP actions into native API calls (CloudStack API, OpenStack API, etc.).
- Billing Engine — Handles hourly metering, invoice generation, wallet management, and disciplinary actions.
- Keycloak (optional) — External identity provider for SSO, social login, and 2FA.
Data flow: VM provisioning example
- Customer selects a package and zone in the portal
- CMP checks quota at account/project level
- CMP calls the orchestrator adapter for the selected zone
- Orchestrator (e.g. CloudStack) provisions the VM
- CMP stores the VM record and starts billing subscription
- Customer sees the VM live in the portal