구성 관리 / 자동 배포 시스템을 사용하십시오. 이것이 이것들을 위해 설계된 것입니다. Kubernetes, Puppet, Chef, Ansible 및 Salt Stack과 같은 것은 이러한 용도로만 설계되었으며 Golden Master 템플릿, 킥 스타트 스크립트, Amazon AMI 또는 Docker 컨테이너와 함께 사용할 수 있습니다. 이를 통해 기본 기본 템플릿을 사용하고 추가 역할을 수행 할 수 있습니다. 이를 통해 빌드가 코드로 완벽하게 문서화되고 프로덕션에 빠르고 쉽게 배포 할 수 있으며 확장 성 또는 중복성이 필요하거나 문제가 발생했을 때 추가 인스턴스를 디자인하거나 배포 한 것과 정확히 동일하게 배포됩니다. 이 방법으로 변경 / 업데이트를 통합 할 수도 있습니다. 소프트웨어 업데이트를 릴리스하는 것처럼 구성에 대한 업데이트를 릴리스 할 수 있으며 소프트웨어 코드가 관리되는 것처럼 동일한 리포지토리 및 동일한 워크 플로로 구성 코드를 관리 할 수 있습니다. 그리고 업그레이드 시간이 오면 물건이 어떻게 만들어 지는지 미스터리가 없으며 단지 스크립트를보십시오.
구성 관리 시스템이이를 수행하는 한 가지 방법은 구성 파일에 템플릿을 많이 사용하는 것입니다. 예를 들어, 일반적으로 환경에 동일하거나 유사한 여러 줄이 있습니다. SaltStack은 jinja 템플릿을 사용하고 꼭두각시는 Embedded Ruby 템플릿을 사용 합니다. 예를 들어 AWS를 사용하면 모든 인스턴스에서 모두 동일한 api 키, IAM 역할, 리전 (또는 리전 목록에서 리전을 임의로 선택), VPC 등을 설정해야합니다. 그러나 기능과 출력이 고유해야합니다. 또는 "계약"을 정의하는 퍼펫 모듈 또는 솔트 공식을 작성하고 입력 및 출력 모두에 해당 계약 (api 정의)을 사용하여 마이크로 서비스를 2-3 곳에서 구성 할 필요가 없습니다.
예를 들어 SaltStack은 최근이 특정 시나리오 를 논의하기위한 모임을 가졌습니다 . 또한 SaltStack은 도커 컨테이너를 기본적으로 관리 및 배포 할 수 있습니다. (Puppet 에는 Docker 용 모듈도 있습니다. ) Ansible 에는 서버리스 배포 및 Docker 컨테이너 작업을위한 플레이 북 및 문서가 있습니다 .
또한이 테마를 계속하려면 서버리스 테마 / 패러다임, Puppet , Ansible 및 saltstack을 모두 마스터리스하거나 마스터리스 모드를 지원하려는 경우.