chartletv0.21.0chartlet.casoon.de

← All examples

Web shop: deployment

A load balancer as a node, container images as artifacts on two nodes inside a cluster, and a volume. node is a box seen from a corner, artifact a box with a folded corner; the boundaries are the hosts. The blueprint theme draws pale lines on a deep blue ground. Illustrative values.

Web shop: deployment

examples/shop-deployment.json
{
  "schemaVersion": 1,
  "type": "architecture",
  "title": "Web shop: deployment",
  "theme": "blueprint",
  "source": "Operations handbook, production",
  "width": 1180,
  "height": 520,
  "architecture": {
    "boundaries": [
      {
        "id": "cluster",
        "label": "Production cluster"
      },
      {
        "id": "app-node",
        "label": "Node app-1",
        "in": "cluster"
      },
      {
        "id": "data-node",
        "label": "Node data-1",
        "in": "cluster"
      }
    ],
    "components": [
      {
        "id": "user",
        "label": "Customer",
        "kind": "person"
      },
      {
        "id": "lb",
        "label": "Load balancer",
        "kind": "node",
        "in": "cluster"
      },
      {
        "id": "shop",
        "label": "shop-api:2.4",
        "sublabel": "container image",
        "kind": "artifact",
        "in": "app-node"
      },
      {
        "id": "worker",
        "label": "order-worker:2.4",
        "sublabel": "container image",
        "kind": "artifact",
        "in": "app-node"
      },
      {
        "id": "pg",
        "label": "postgres:16",
        "sublabel": "container image",
        "kind": "artifact",
        "in": "data-node"
      },
      {
        "id": "vol",
        "label": "Data volume",
        "kind": "storage",
        "in": "data-node"
      }
    ],
    "connections": [
      {
        "from": "user",
        "to": "lb",
        "technology": "HTTPS"
      },
      {
        "from": "lb",
        "to": "shop",
        "technology": "HTTP"
      },
      {
        "from": "shop",
        "to": "pg",
        "technology": "SQL/TLS"
      },
      {
        "from": "worker",
        "to": "pg",
        "technology": "SQL/TLS"
      },
      {
        "from": "pg",
        "to": "vol",
        "label": "writes"
      }
    ]
  }
}
Focus
Web shop: deployment
Web shop: deploymentArchitecture diagram with 6 components and 5 connections in 3 boundaries. Production cluster: Load balancer, Node app-1, Node data-1. Node app-1 (in Production cluster): shop-api:2.4, order-worker:2.4. Node data-1 (in Production cluster): postgres:16, Data volume. Most connected: postgres:16 (3 connections). Nothing leads into Customer and order-worker:2.4. Nothing leads out of Data volume. Bottleneck: shop-api:2.4; without it the diagram falls apart. Customer (person): connects to Load balancer (via HTTPS). Load balancer (node): connects to shop-api:2.4 (via HTTP). shop-api:2.4 (artifact): connects to postgres:16 (via SQL/TLS). order-worker:2.4 (artifact): connects to postgres:16 (via SQL/TLS). postgres:16 (artifact): connects to Data volume (writes). Data volume (storage): no outgoing connection.Production clusterNode data-1Node app-1Customer → Load balancer: [HTTPS]Load balancer → shop-api:2.4: [HTTP]shop-api:2.4 → postgres:16: [SQL/TLS]order-worker:2.4 → postgres:16: [SQL/TLS]postgres:16 → Data volume: writes[HTTPS][HTTP][SQL/TLS][SQL/TLS]writesCustomerCustomerLoad balancerLoad balancershop-api:2.4 – container imageshop-api:2.4container imageorder-worker:2.4 – container imageorder-worker:2.4container imagepostgres:16 – container imagepostgres:16container imageData volumeData volume

Source: Operations handbook, production

Show chart data
Data for Web shop: deployment
ComponentKindBoundaryConnects to
CustomerpersonLoad balancer (via HTTPS)
Load balancernodeProduction clustershop-api:2.4 (via HTTP)
shop-api:2.4artifactProduction cluster › Node app-1postgres:16 (via SQL/TLS)
order-worker:2.4artifactProduction cluster › Node app-1postgres:16 (via SQL/TLS)
postgres:16artifactProduction cluster › Node data-1Data volume (writes)
Data volumestorageProduction cluster › Node data-1
  • Deployment diagram in the blueprint look
  • Show what runs where