Diagrams

Diagrams

  • Docs
  • Guides
  • Nodes
  • GitHub
  • Sponsoring

›Guides

Getting Started

  • Installation
  • Examples

Guides

  • Diagrams
  • Nodes
  • Clusters
  • Edges

Nodes

  • OnPrem
  • AWS
  • Azure
  • GCP
  • IBM
  • K8S
  • AlibabaCloud
  • OCI
  • OpenStack
  • Firebase
  • DigitalOcean
  • Elastic
  • Outscale
  • Generic
  • Programming
  • Saas
  • C4
  • Custom
  • GIS

Clusters

Cluster allows you to group (or cluster) nodes in an isolated group.

Basic

Cluster represents a local cluster context.

You can create a cluster context using the Cluster class. You can also connect the nodes in a cluster to other nodes outside a cluster.

from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS
from diagrams.aws.database import RDS
from diagrams.aws.network import Route53

with Diagram("Simple Web Service with DB Cluster", show=False):
    dns = Route53("dns")
    web = ECS("service")

    with Cluster("DB Cluster"):
        db_primary = RDS("primary")
        db_primary - [RDS("replica1"),
                     RDS("replica2")]

    dns >> web >> db_primary

simple web service with db cluster diagram

Nested Clusters

Nested clustering is also possible:

from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS, EKS, Lambda
from diagrams.aws.database import Redshift
from diagrams.aws.integration import SQS
from diagrams.aws.storage import S3

with Diagram("Event Processing", show=False):
    source = EKS("k8s source")

    with Cluster("Event Flows"):
        with Cluster("Event Workers"):
            workers = [ECS("worker1"),
                       ECS("worker2"),
                       ECS("worker3")]

        queue = SQS("event queue")

        with Cluster("Processing"):
            handlers = [Lambda("proc1"),
                        Lambda("proc2"),
                        Lambda("proc3")]

    store = S3("events store")
    dw = Redshift("analytics")

    source >> workers >> queue >> handlers
    handlers >> store
    handlers >> dw

event processing diagram

There is no depth limit to nesting. Feel free to create nested clusters as deep as you want.

Last updated on 4/13/2024
← NodesEdges →
  • Basic
  • Nested Clusters
Diagrams
Docs
Getting StartedGuidesNodes
More
Copyright © 2025 mingrammer