Skip to main content

Deployment View

The Deployment View describes the physical mapping of the software elements to their target environment.

7.1 Infrastructure Topology

Framework M follows a Registry-First deployment philosophy, utilizing pre-bundled Python wheels that contain both backend logic and frontend assets.

      ┌─────────────────────────────────────────────────────────────┐
│ Application │
│ (Framework M + Business App + UI) │
└─────────────────────────────┬───────────────────────────────┘

│ (NATS API / SQL Protocol)

┌─────────────────────────────┼───────────────────────────────┐
│ Infrastructure Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────┐ │
│ │ PostgreSQL │ │ NATS Server │ │ Redis│ │
│ └──────────────┘ └──────────────┘ └──────┘ │
└─────────────────────────────────────────────────────────────┘

7.2 Deployment Strategy: Registry-First

In production, Framework M applications are deployed as Docker images that install pre-built Python wheels.

  • Atomic Bundles: All frontend assets (JS/CSS for the Desk) are packaged inside the wheels and served through the core backend during runtime.
  • Stateless Containers: The application containers are stateless and designed to scale horizontally behind a load balancer (e.g., Nginx, Traefik).
  • Environment Configuration: A standard "Everything in Env Var" policy ensures configuration is injected at runtime via Kubernetes secrets or .env files.
ComponentResponsibilityRecommended Service
IngressLoad balancing, SSL termination, static asset accelerationNginx / Traefik
App NodeProcessing DocType logic and background jobsDocker / Kubernetes
PersistenceRelational stateManaged PostgreSQL
Event BusHigh-throughput messaging and task orchestrationNATS JetStream Cluster
CacheDistributed state cachingRedis Cluster