인프라를 수동 구성하거나 기존 구성 도구를 사용하는 대신 선언적 또는 스크립팅된 코드를 통해 관리하고 프로비저닝 하는 것
인프라 구성을 쉽게 편집하고 배포할 수 있으며 매번 동일한 환경을 일관되게 프로비저닝 할 수 있음
장점
일관성
- 수동 구성 중에 발생할 수 있는 오류를 줄일 수 있음
- 문서화되지 않은 임시 구성 변경을 방지하는데 도움을 줌
비용절감
- 수동 하드웨어 구성이나 업데이트가 필요하지 않음
- 동일한 코드로 수백, 수천대의 동일한 인프라를 구축하고 관리할 수 있음
효율성
- 시스템 구성, 유지 보수 및 관리가 간소화
- 반복 가능하고 확장 가능한 탄력적인 인프라 구축
속도
- 프로비저닝 작업을 간단한 작업으로 전환하여 인프라 준비
위험 감소
- 코드로 구성하면 버전 관리를 할 수 있음
프로비저닝
- 서버를 준비하고 네트워크 작동을 준비
- 클라우드 서비스를 시작하고 구성하는 것
- Puppet, Ansible 등
배포
- 프로비저닝 된 서버를 실행하기 위해 애플리케이션을 제공하는 작업
- AWS CodePipeline, Jenkins, Github Actions, ArgoCD 등
오케스트레이션
- 여러 시스템 또는 서비스의 자동화된 구성, 관리, 조정하는 작업
- Kubernates, Docker Swarm, Apache Mesos 등
[참조]
https://www.hpe.com/kr/ko/what-is/infrastructure-as-code.html