REFERENCE ARCHITECTURE

E-commerce & high-traffic retail

Catalog API, Redis session cache, media in Archive, Autoscale on traffic, Sentinel at the edge — built for campaigns and seasonal peaks.

IntermediatePlan: Pro / BusinessResilience: multi-zona

Diagram

Use cases

  • D2C retail
  • B2B catalog portal
  • Flash sale landing

Components

LayerRoleProduct
EdgeWAF + TLS + routingSentinel + Gateway
ApplicationStorefront + checkout APICompute
CacheSessions & catalog cacheDatastore (Redis)
System of recordOrders & inventoryDatastore (PostgreSQL)
MediaProduct images & assetsArchive
ScaleHorizontal pod scalingAutoscale
NetworkPrivate admin pathsFabric
OperationsSLO dashboardsInsight

Products

When to use

  • Online stores, marketplaces, and catalog-heavy SPAs.
  • Flash sales and marketing campaigns with 10× traffic spikes.
  • Product images and PDFs served from object storage.

When to avoid

  • Pure static marketing site — static + Gateway may suffice.
  • Heavy synchronous checkout across many services — consider microservices pattern.

Design notes

Cache hot paths

Datastore Redis for sessions and catalog fragments. Keep Postgres for orders and inventory truth.

Media off Compute

Archive with public CDN path via Gateway. Never stream large files from Compute containers.

Autoscale before the sale

Set Autoscale on storefront Compute with CPU and request metrics; load-test the threshold weekly.

Blueprint

Use this JSON as a starting point when creating a project via the Tesserra API or console. Replace image URLs, domains, and resource references with your values.

json
{
  "nome": "Acme Store Pro",
  "resiliencia": "multi-zona",
  "recursos": [
    {
      "tipo": "fabric",
      "nome": "store-net",
      "config": {
        "cidr": "10.40.0.0/16",
        "publica": true
      }
    },
    {
      "tipo": "compute",
      "nome": "storefront",
      "config": {
        "subtipo": "web",
        "replicas_min": 2,
        "replicas_max": 8
      }
    },
    {
      "tipo": "compute",
      "nome": "checkout-api",
      "config": {
        "subtipo": "api",
        "porta": 3000,
        "replicas_min": 2,
        "replicas_max": 6
      }
    },
    {
      "tipo": "datastore",
      "nome": "cache",
      "config": {
        "engine": "redis",
        "tamanho_gb": 5
      }
    },
    {
      "tipo": "datastore",
      "nome": "orders-db",
      "config": {
        "engine": "postgres",
        "ha": true,
        "tamanho_gb": 50
      }
    },
    {
      "tipo": "archive",
      "nome": "media",
      "config": {
        "subtipo": "arquivos",
        "tamanho_gb": 200,
        "publico": true
      }
    },
    {
      "tipo": "sentinel",
      "nome": "waf",
      "config": {
        "modo": "bloquear",
        "alvo_recurso_id": "storefront"
      }
    },
    {
      "tipo": "gateway",
      "nome": "dns",
      "config": {
        "dominio": "store.acme.com",
        "tls": true,
        "alvo_recurso_id": "storefront"
      }
    },
    {
      "tipo": "autoscale",
      "nome": "scale-store",
      "config": {
        "alvo_recurso_id": "storefront",
        "metrica": "requests",
        "limiar": 65
      }
    },
    {
      "tipo": "insight",
      "nome": "slo",
      "config": {
        "retencao_dias": 30,
        "alertas": true
      }
    }
  ]
}
Documentation · Tesserra