[Shortcut]
Infastructure as Code; 코드형 인프라
인프라를 웹 인터페이스 및 대화형식의 도구를 사용해 수동적으로 인프라를 구성하는것이 아닌, 시스템이 읽을 수 있는 인프라 정의 파일을 통해 인프라의 구성 관리 및 배포를 자동화하는것
인프라는 물리적 HW뿐만 아니라 가상 컴퓨터, 클라우드 등 관련 리소스를 IaC를 통해 구성 관리 및 배포할 수 있다.
IaC는 폭발적으로 확장되는 컴퓨팅과 차세대 웹 프레임워크와 같은 새로운 기술을 구현하고 구성하는 어려움에 대한 해결책으로 발전하게 되었고, 기업들은 이런 기술을 통해 스케일링 확장하는 문제도 해결할 수 있었다.
또한 표준화된 코드로 인프라를 모델링하고 알려진 모범 사례를 이용해 인프라를 설계, 구현 및 배포할 수 있는 기능이 필요했고, 인프라를 SW 프로젝트와 같은 코드를 이용해 인프라와 애플리케이션을 신속, 정확하고 표준화 되도록 배포할 수 있었다.
비용 절감
사람의 노력적인 측면에서 인프라 관리를 수동적으로 하지 않음
→ 다른 생상적인 작업에 노력을 집중할 수 있다.
빠른 속도
인프라 구성 관리 및 배포를 자동화 →신속한 실행이 가능
효율적으로 작업할 수 있는 가시성을 제공
안정성
수동으로 구성할 때와 같은, 사람의 실수와 관련 위험을 제거할 수 있음
코드화 및 버전 관리
표준화된 포맷과 규칙으로 작성된 코드 문서를 통해 누구나 읽을 수 있고 확인 가능
코드는 변경 사항 이력을 남길 수 있어, 추후 문제 발생 시 어떤 부분이 변경되어 발생한 문제인지 확인하기 쉬움
재사용성
인프라를 코드화하고 관련 리소스를 그룹 및 모듈화해서 필요한 부분을 재사용할 수 있음