Architettura della piattaforma

Panoramica

CodeRS è costruita su un'architettura a microservizi distribuiti. Ogni componente è scalabile indipendentemente e comunica tramite event streaming (Kafka).

┌───────────────────────────────────────────────────┐
│                    API Gateway                    │
│            (rate-limit, auth, routing)            │
└────────────────────────┬──────────────────────────┘
                         │
        ┌────────────────┼────────────────┐
        │                │                │
┌───────▼──────┐ ┌───────▼──────┐ ┌──────▼───────┐
│  Build Svc   │ │  Deploy Svc  │ │  Observe Svc │
│  (CI runner) │ │  (edge CDN)  │ │  (logs/APM)  │
└──────────────┘ └──────────────┘ └──────────────┘

Componenti principali

API Gateway

Punto d'ingresso unico per tutte le richieste. Si occupa di:

  • Autenticazione JWT e API key
  • Rate limiting per tenant
  • Routing verso i microservizi

Build Service

Gestisce l'intero ciclo di build:

  1. Checkout del codice sorgente
  2. Analisi del manifest coders.yaml
  3. Esecuzione dei test in parallelo
  4. Creazione dell'artefatto di build (OCI image)

Deploy Service

Distribuisce l'artefatto su infrastruttura edge con zero downtime grazie al rolling deploy.

Observe Service

Raccoglie metriche, log e trace da ogni deployment. Basato su OpenTelemetry.

Stack tecnologico

Layer Tecnologia
Runtime containerd + Firecracker microVM
Networking WireGuard mesh
Storage S3-compatible (MinIO)
Queue Apache Kafka
Cache Redis Cluster
DB CockroachDB