Skip to main content

Architecture Overview

PLATFORMA is designed as a modular, event-driven platform with clear separation between business logic, infrastructure orchestration, and presentation layers.

Design Principles

  • Multi-tenant by default — Every component is designed for tenant isolation from the ground up
  • Event-driven — All state changes propagate through the event bus, enabling loose coupling
  • API-first — Every capability is accessible through the REST API before any UI is built
  • Infrastructure-agnostic — Supports OpenStack, Kubernetes, bare metal, and hybrid deployments
  • Horizontally scalable — Stateless services that scale independently

Platform Architecture

The platform is organized into four primary layers:

1. Presentation Layer

Customer portals, admin dashboards, and partner interfaces. All UIs communicate exclusively through the API layer — there is no direct database access from the frontend.

2. API Layer

The REST API gateway handles authentication, rate limiting, request routing, and response formatting. It serves as the single entry point for all external interactions.

3. Business Logic Layer

Core domain services that implement order management, billing, product catalog, identity management, and provisioning workflows. Services communicate through the event bus.

4. Infrastructure Layer

Drivers and adapters for cloud providers (OpenStack, Kubernetes), monitoring systems, and external integrations. This layer abstracts provider-specific APIs behind a unified interface.

Service Architecture

Each domain is implemented as an independent service:

ServiceResponsibility
Order ServiceOrder lifecycle, validation, fulfillment tracking
Catalog ServiceProduct definitions, pricing rules, availability
Billing ServiceUsage metering, invoice generation, payment processing
Provisioning ServiceWorkflow execution, resource lifecycle management
Identity ServiceAuthentication, authorization, tenant management
Gateway ServiceAPI routing, rate limiting, analytics
Notification ServiceEmail, webhook, and in-app notifications
Monitoring ServiceMetrics collection, alerting, dashboards

Data Flow

A typical order flow:

  1. Customer places order through Portal → API Gateway
  2. Gateway authenticates and routes to → Order Service
  3. Order Service validates and publishes order.createdEvent Bus
  4. Provisioning Service picks up event → executes workflow → provisions resources
  5. Provisioning publishes order.provisionedEvent Bus
  6. Billing Service creates subscription, Notification Service sends email