코드로서의 인프라 다이어그램
3991 단어 terraformcloudarchitecturepython
이 Python 패키지 다이어그램은 소프트웨어 설계자, 솔루션 설계자, 클라우드 엔지니어 및 엔터프라이즈 설계자가 인프라 다이어그램을 코드로 유지하는 데 정말 유용합니다.
이익
현재 AWS, Azure, GCP, Kubernetes, Alibaba Cloud, Oracle Cloud 등을 포함한 주요 주요 공급자를 지원합니다. 온프레미스 노드, SaaS 및 주요 프로그래밍 프레임워크 및 언어도 지원합니다.
설치
Python 3.6 버전 또는 더 높은 버전의 Python 패키지가 필요합니다.
#using pip (pip3)
$ pip install diagrams
빠른 시작
# SampleDiagram.py
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams.aws.network import ELB
#create diagram
with Diagram("Web Service", show=False):
ELB("lb") >> EC2("web") >> RDS("userdb")
to run the above code in your terminal
$ python SampleDiagram.py
산출
클러스터링된 웹 서비스 인프라 예
#ClusterWebService.py
from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS, Lambda
from diagrams.aws.database import ElastiCache, RDS
from diagrams.aws.network import ELB, Route53
from diagrams.aws.integration import SQS
from diagrams.aws.storage import S3
#create diagram
with Diagram("Clustered Web Services", show=False):
# route53
dns = Route53("dns")
#Elastic load balancer
lb = ELB("App load balancer")
#Elastic containe service cluster
with Cluster("Services"):
svc_group = [ECS("service1"),
ECS("service2"),
ECS("service3")]
#Simple queue service
queue = SQS("SQS service")
#Relational Database service db cluster
with Cluster("RDS DB Cluster"):
db_primary = RDS("userdb")
db_primary - [RDS("backup")]
#lambda functions cluster
with Cluster("Lambdas"):
handlers = [
Lambda('Lambda 1'),
Lambda('Lambda 2'),
Lambda('Lambda 3'),
]
#Elasticcache service
memcached = ElastiCache("memcached")
# S3 serive
store = S3("File storage")
#architecture work flow
dns >> lb >> svc_group >> queue >> handlers
handlers[0] >> memcached
handlers[1] >> store
handlers[2] >> db_primary
코드를 실행하려면
$ python ClusterWebService.py
산출
더 많은 Linux,Cloud,DevOps,Docker,K8s,보안,솔루션,리엔지니어링,가상화,데이터,AI,Python,Ansible,Terraform 정보를 알고 싶으면 따르십시오.
계속 배우고 계속 성장하세요!!!
커뮤니티 및 사회적 발자국 :
Reference
이 문제에 관하여(코드로서의 인프라 다이어그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cloudnloud/infrastructure-diagrams-as-code-2li텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)