코드로서의 인프라 다이어그램

다이어그램은 소프트웨어 개발, 아키텍처 개발 및 클라우드 인프라 구축에서 중요한 역할 중 하나를 수행하고 있습니다.

이 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
    
    


    산출


  • 라이브러리 링크diagrams
  • Github 링크 : Click here

  • 더 많은 Linux,Cloud,DevOps,Docker,K8s,보안,솔루션,리엔지니어링,가상화,데이터,AI,Python,Ansible,Terraform 정보를 알고 싶으면 따르십시오.

    계속 배우고 계속 성장하세요!!!

    커뮤니티 및 사회적 발자국 :



  • GitHub




  • Discord Channel

  • 좋은 웹페이지 즐겨찾기