Skip to main content

Architecture

Architecture Overview

CCP Platform ArchitectureMicroservices · Kubernetes-native · Multi-AZPORTAL & APISelf-Service ConsoleAdmin ConsoleREST API GatewayWebSocket / NotificationsIDENTITY & ACCESSKeycloak v24 · SAML 2.0OpenFGA · RBACMulti-Tenant IAMKafka · Redis · SocketIOORCHESTRATIONCCP — Cloud Mgmt PlatformWorkflow · Lifecycle · MeteringCCP — IaaS OrchestratorOpenStack v2023.2 · MaaS v3.4.9Cloud Orbiter — K8s OrchestratorCluster Controller · Agent · APIMANAGED SERVICESComputeVM · BMaaS · CaaSStorageBlock · Object · FileNetworkingVPC · LB · VPN · DNSDatabasePgSQL · MongoDB · RedisSecuritymTLS · AES-256 · FWMonitoringZabbix · Prometheus · GrafanaPHYSICAL INFRASTRUCTURECompute NodesStorage Arrays (NetApp)Network FabricMulti-AZ · Geo-Replicated50,000 VMs · 200,000 Pods · Active-Passive HA · AES-256 EncryptionCCP v3 · CCP OpenStack 2023.2 · Cloud Orbiter · Veritas NetBackup v10.11.2DATA FLOW

Platform Component Map

CCP is a microservices-based Cloud Management Platform deployed on Kubernetes, organized into layered tiers from the user-facing portal down to the physical infrastructure it orchestrates.

LayerComponentsTechnology
Portal & APISelf-Service Console, Admin Console, REST API Gateway, WebSocket notificationsMicroservices, Kafka, Redis, SocketIO
Identity & AccessAuthentication, authorization, multi-tenant IAM, federationKeycloak v24.0.5, OpenFGA, SAML 2.0
OrchestrationCluster lifecycle, workflow engine, provisioning logicCloud Orbiter (K8s), CCP (OpenStack), MaaS v3.4.9
StorageBlock, object, file, archival storage managementNetApp v11.9.0, storage-plugin microservice
NetworkingVPC, LB, VPN, firewall, NAT, DNS, public IPOpenStack Neutron, Zscaler VPN, CheckPoint / Palo Alto, TCPWare
MonitoringOperational metrics, dashboards, alarms, log analysisZabbix v7.4.3, Prometheus & Grafana v9.4.3
Metering & BillingShowback, quota management, usage tracking, licensingorbiter-metering microservice
DatabasePlatform state storage, session management, cachingPostgreSQL 15.7, MongoDB 5.0.3, Redis 7.2.5/6.2.5
BackupIncremental and full backup, geo-replicationVeritas NetBackup v10.11.2

Core Microservices

CCP is composed of purpose-built microservices communicating through well-defined REST APIs, internal routing, and Kafka message queues.

MicroserviceFunctional Description
consoleSelf-Service Portal UI — primary user-facing interface for cloud resource provisioning
admin-consoleAdmin Portal UI — platform operator interface for tenant, quota, and infrastructure management
platformCore platform APIs — compute, volume, network, core-mgmt functionalities
admin-platformAdmin platform APIs — manage flavors, images, AZs, regions, and virtual resource constructs
authKeycloak authentication service — identity and multi-tenant IAM
orbiter-apiAPI server for Cloud Orbiter — exposes Kubernetes cluster management APIs
orbiter-controllerBackend engine for orbiter-api — runtime controller for Kubernetes orchestration
orbiter-authAuthorization gateway for the Orbiter subsystem
orbiter-meteringMetering, showback, quota management, and licensing
orbiter-termTerminal access — Kubernetes-based shell for clusters
core-mgmtProject manager service — organizations, cells, user mappings
onboardingUser and organization onboarding workflows
workflow-controllerWorkflow provider for internal CCP provisioning and lifecycle workflows
notificationSends notifications to external platforms — SMS, email (SMTP), webhooks
socketioPushes real-time events and notifications to the console UI
storage-pluginStorage capabilities integration — NetApp backend
baremetal-pluginBare metal server management — MaaS backend integration
observability-uiCluster observability UI — exposes CPU, RAM, and cluster metrics
frontendCluster management UI — K8s cluster registration, app deployment, container registry
ordr_mgmtPushes CRUD events externally for integration and audit purposes
OpenFGAAuthorization database — fine-grained RBAC enforcement
kafkaInternal messaging queue for inter-component communication
client-pluginClient-specific custom flows and integration hooks
platform-celery / celeryAsynchronous task processing — multiple Celery workers for different task domains

High Availability Architecture

CCP implements a multi-AZ high availability model designed for zero-downtime failover and continuous service delivery.

HA Design

  • Active-Passive Dual Cluster Per Region: Cluster 1 (primary) in AZ1, Cluster 2 (standby) in AZ2. Automated GSLB-based failover with 2N+1 quorum cluster detection
  • Kubernetes Control Plane Per AZ: Each availability zone hosts an independent Kubernetes control plane, ensuring cluster-level resilience
  • Database HA:
    • PostgreSQL: Logical and Streaming Replication between AZs
    • MongoDB: Active-Active with change-stream replication
    • Redis: Clustered session and cache replication

Backup Strategy

Backup TypeFrequencyRetention
Incremental BackupEvery 30 minutes3 months, geo-replicated
Full BackupEvery 24 hours3 months, geo-replicated
Audit LogsContinuousLong-term retention per compliance requirement

Backup operations are managed through Veritas NetBackup v10.11.2.

Resource Hierarchy

CCP organizes all resources in a three-level governance hierarchy:

  1. Tenant — Top-level boundary. One per customer account. All users, cells, and resources are scoped within a tenant. Quota enforced at this level.
  2. Cell — An isolated project or environment within a Tenant. Represents a department, workload environment, or service tier. Quota enforced independently.
  3. Resources — The cloud services consumed within a Cell: VMs, volumes, clusters, load balancers, databases, and more.

The BSS Portal is the primary identity store for tenant and user creation. CCP creates a unique Keycloak realm per tenant to ensure complete identity isolation.

Portal Architecture

CCP is accessed through two complementary portals with distinct personas:

PortalAudiencePrimary Functions
Self-Service ConsoleEnd users, tenant administratorsProvision VMs, storage, networking, containers, databases; manage cells and users
Admin ConsoleCloud administrators, platform operatorsManage tenants, quotas, catalogs, providers, infrastructure health, OpenStack environment

Both portals share the same underlying CCP platform, ensuring consistent governance, RBAC enforcement, and resource management across all interactions.

Kubernetes Cluster Management — Cluster Controller and Agent

CCP manages Kubernetes clusters through a controller-agent architecture:

  • Cluster Controller: Central entity connecting and orchestrating all customer Kubernetes clusters. Communicates with agents over port 8030/8040. Centralizes Kubernetes API and CLI access.
  • Cluster Agent: Deployed on each target Kubernetes cluster. Initiates outbound connection to the Cluster Controller. Once the handshake completes, the Controller can issue commands and act as proxy for Kubernetes CLI and APIs.

This model allows CCP to manage Kubernetes clusters across multiple AZs and regions without requiring inbound firewall rules into each cluster.

Infrastructure Pre-Requisites

RequirementDetail
SSL CertificatesWildcard SSL certificates for CCP hosting domain
Load BalancerLoad balancer with Virtual IPs (VIPs) per endpoint
DNSDNS server with dynamic domain support
StorageKubernetes-compliant high IOPS storage for control plane
ConnectivitySMTP, NTP, and DNS server connectivity
Container RegistryContainer registry access for platform image deployment