Skip to content
Structurizr DSL templates

Multi-tenant SaaS containers

Container-level view of a SaaS product — web app, API, async worker, Postgres, object storage, plus a third-party billing system.

Template previewStructurizr DSL
Rendering…

Make it your own.

workspace "SaaS Platform" {
  model {
    user    = person "Customer"
    admin   = person "Internal Admin"
    billing = softwareSystem "Stripe" "Hosted billing"

    saas = softwareSystem "SaaS Platform" {
      web    = container "Web App"   "Next.js"
      api    = container "API"        "Go / gRPC"
      worker = container "Worker"     "Background jobs"
      db     = container "Postgres"   "Primary store"   "Database"
      blob   = container "Object Store" "S3-compatible" "Database"

      user  -> web "Uses"
      admin -> web "Administers"
      web   -> api "JSON / HTTPS"
      api   -> db  "SQL"
      api   -> worker "Enqueues via NATS"
      worker -> db   "SQL"
      worker -> blob "Stores exports"
      api    -> blob "Reads/writes uploads"
    }

    saas -> billing "Webhooks / API"
  }

  views {
    container saas "Containers" {
      include *
      autoLayout
    }
    theme default
  }
}