Diagrams:使用圖表描述雲系統架構原型

banq發表於2020-06-01

使用Diagrams可以用Python程式碼繪製雲系統架構。它的誕生是為沒有任何設計工具的新系統架構設計提供原型。您還可以描述或視覺化現有的系統架構。圖表目前支援六個主要供應商:AWS,Azure,GCP,Kubernetes,Alibaba Cloud和Oracle Cloud。現在,它還支援On-Premise節點。
Diagram as Code還使您可以跟蹤任何版本控制系統中的體系結構圖更改。
注意:它不控制任何實際的雲資源,也不會生成雲形式或本地形式的程式碼。它僅用於繪製雲系統架構圖。

事件處理架構圖:

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


Diagrams:使用圖表描述雲系統架構原型

有狀態架構圖:

from diagrams import Cluster, Diagram
from diagrams.k8s.compute import Pod, StatefulSet
from diagrams.k8s.network import Service
from diagrams.k8s.storage import PV, PVC, StorageClass

with Diagram("Stateful Architecture", show=False):
    with Cluster("Apps"):
        svc = Service("svc")
        sts = StatefulSet("sts")

        apps = []
        for _ in range(3):
            pod = Pod("pod")
            pvc = PVC("pvc")
            pod - sts - pvc
            apps.append(svc >> pod >> pvc)

    apps << PV("pv") << StorageClass("sc")



Diagrams:使用圖表描述雲系統架構原型
 

相關文章