[IaC] IaC

전우석·2022년 9월 6일
0
post-thumbnail

IaC?

  • Infrastructure as Code의 약어로 "프로그래밍형 인프라"라고 하기도 한다.
  • 인프라 구성을 코드를 통해 자동으로 구축, 관리, 프로비저닝하는 것이다.
    ex) A라는 환경의 인프라를 100개의 서버에 구축
    수동 설정의 경우 : 오랜 시간이 걸리고 구축 도중 오류 발생확률이 높다.
    IaC의 경우 : 하나의 코드를 통해 100개의 서버에 A 환경 자동화 구축.

IaC의 장점

  • 비용절감
  • 배포 속도 향상
  • 오류 감소
  • 인프라 일관성 향상

하나의 코드를 통해 관리되므로 일관성과 배포에 사용되는 비용을 절감할 수 있다.
수동 설정의 경우 오류 발생 확률이 높다 반면 IaC를 사용하면 인프라 구축 과정이 자동화되므로 오류 발생 확률이 줄어들고 배포 속도를 향상 시킬 수 있다.

IaC tool

  • Chef
  • Puppet
  • Terraform
  • AWS ColudFormation
  • Ansible

프로비저닝, 배포, 오케스트레이션

프로비저닝

  • 클라우드 서비스를 시작하고 구성하는을 프로비저닝이라 한다.
  • 인프라를 설정하는 프로세스로 시스템, 데이터, 네티워크 작동을 준비한다.
  • Puppet, Ansible 등 과 같은 구성 관리 도구를 사용하여 서버를 프로비저닝한다.

배포

프로비저닝된 서버를 실행시키기 위해 애플리케이션 버전을 제공하는 작업이다.
Jenkins, Github Actions를 통해 지속적인 배포를 할 수 있다.

오케스트레이션

여러 시스템 또는 서비스를 조정하는 작업이다.
오케스트레이션의 목표는 배포, 관리, 확장, 네트워킹을 자동화하는 것이다.
주로 k8s를 사용한다.


정리

IaC는 코드를 통해 자동화 인프라 구축을 하는 방법으로 여러개의 인프라 구축시 비용절감은 절감하고 속도는 향상 시킬 수 있다.
프로비저닝 - 배포를 통해 애플리케이션을 사용자에게 제공하고 애플리케이션을 원활하게 관리하기 위해 오케스트레이션을 사용한다.


참고문서

프로비저닝이란?
Infrastructure as Code

0개의 댓글