본문 바로가기

IaC

[IaC] 코드형 인프라(IaC)에 대한 이해

IaC(Infrastructure as Code)
- 코드형 인프라, 또는 프로그래밍형 인프라라고도 함
- 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것

 

IaC의 개념

  • 시스템이 읽을 수 있는 인프라 정의 파일(yaml, yml, tf)을 통해 인프라의 구성 관리 및 배포를 자동 화하는 것
  • 생성할 인프라는 물리적 하드웨어 뿐만 아니라 가상 컴퓨터, 클라우드 등의 리소스 또한 관리가 가능

IaC

 

장점

  • 인프라 일관성 향상: 동일한 설정파일의 동일한 버전은 동일한 인프라를 구성
  • 배포 속도 향상: 인프라 구성 관리 및 배포를 자동화 함으로 신속한 실행이 가능
  • 오류 감소: 정의 파일 검토로 사전 방지가 가능, 수동으로 구성할 때의 휴먼에러 방지
  • 재사용성: 인프라를 코드화 하고 관련 리소스를 그룹 및 모듈화 하여 필요한 부분을 재사용(ex. Pipelines)

 

단점

  • 초기 설정 구축이 필요: IaC를 설정하려면 IaC 도구의 구현, 구성 및 운영을 허용하는 인프라를 정의 해야함
  • 오류 복제의 위험: 초기 코드는 사람이 개발하기 때문에 일정 시간이 지나면 영향을 미치는 사소한 오류가 포함될 수 있음

 

Reference