반응형
Infrastructure as Code (코드로서의 인프라)
: 인프라를 코드로 다룬다는 개념입니다.
- 인프라 관련 작업을 자동화해서 업무를 효율화할 수 있습니다.
- 코드를 기반으로 인프라 관리를 할 수 있습니다.
부트스트래핑 계층(Bootstrapping)
OS 설치에 해당되며, 가상머신이나 클라우드에서 OS 설치 대신 이미지 실행에 해당됩니다.
ex) AWS, Azure, Google, Openstack등
구성 계층(Configureation)
OS 실행 후의 미들웨어 설치와 설정 해당.
ex) Puppet, Chef, Ansible, Itamae
오케스트레이션 계층(Orchestration)
부트스트래핑, 구성 계층에서는 서버 자체의 처리 및 설정을 담당.
여러개의 서버에 관한 전체적인 시스템 구성 관리를 담당합니다.
ex) Terraform, cloudformation
각 도구들의 대한 특징 참고)
https://medium.com/cloudnativeinfra/when-to-use-which-infrastructure-as-code-tool-665af289fbde
When to use which Infrastructure-as-code tool
Infrastructure-as-code (IaC) is the concept of writing code to represent your infrastructure requirements and using an IaC tool to apply…
medium.com
대표적인 도구 차이점 (Terraform VS Ansible)
Terraform
- Hashicorp에서 개발한 오픈소스 IaC도구
- 다양한 클라우드 제공자(AWS, Azure, GCP)의 API를 사용하여 인프라를 생성, 변경 및 관리
- 클라우드 프로비져닝 도구와 관리 담당
Ansible
- Redhat에서 개발한 오픈소스 IaC도구
- 에이전트리스(Agentless)방식으로 동작하며, SSH 또는 WinRM을 사용하여 원격 호스트에 연결하고 구성을 적용
- 주로 소프트웨어 설치와 구성을 자동화하는데 초점
Terraform | Ansible | CloudFormation | ARM Template | |
유형 | 프로비져닝 | 구성 관리 | 프로비져닝 | 프로비져닝 |
오픈소스 여부 | 공개 | 공개 | 비공개 | 비공개 |
적용 대상 클라우드 | 멀티 | 멀티 | AWS 전용 | Azure 전용 |
구성방식 | 이뮤터블 | 뮤터블 | 이뮤터블 | 이뮤터블 |
라이프사이클 관리 | 가능 | 불가능 | 부분적 | 부분적 |
온프레미스 지원 | 부분적 | 부분적 | 불가능 | 불가능 |
* 이뮤터블(Immutable) : 인프라 스트럭쳐의 상태를 변경할때, 기존의 인프라스트럭쳐를 수정하거나 업데이트하는 것이 아니라 인프라스트럭쳐를 생성하여 이전 상태의 인프라스트럭쳐를 교체하는 방식
반응형
'기타' 카테고리의 다른 글
[용어] DMZ (0) | 2020.09.09 |
---|---|
[용어] API (0) | 2020.08.29 |
[용어] 베어메탈 클라우드(Baremetal Cloud) (0) | 2020.08.17 |
[용어] 클라우드 분류(Iaas, Paas, Saas) (0) | 2020.08.17 |
[용어] VPS(Virtual Private Server) (0) | 2020.08.17 |