귀찮게하기/Infra

IaC, 인프라의 자동화

게임이 더 좋아 2024. 11. 12. 00:09
반응형
728x170

 

등장 배경

서비스가 발전하면서 IaC가 어떻게 나오게 되었을까 

 

방식의 한계에 봉착하게 되면 바뀐다.

 

1. 문서

처음엔 모든 변경사항을 텍스트로 남기고 구전되고 변경되면 문서를 업데이트하고 그랬다.

하지만 이런 문서는 사람이 이해할 수 있는 텍스트지 바로 인프라로 적용할 수 없는 코드였다.

 

2. 스크립트

동작하는 코드의 양이 많아지면 시스템의 응답이나 상태를 고려해야 한다.

즉, 스크립트는 각 단계를 실행할 뿐이지 결과를 보장하지 않는다.

 

3. VM

VM을 미리 구성함으로써 해결하려 했지만 가상화 솔루션에 따라 달라지는 결과 때문에 일관된 관리가 불가능함

게다가 스크립트가 여전히 사용되어야 함

 

4. 클라우드 인프라

분명 CSP를 이용하는 것이 나쁘지 않지만  CSP마다 다르게 API를 제공하므로 .. 멀티 클라우드에선 좀 힘들다.

 

5. 컨테이너

Host OS와 독립되어있고 이전 전략보다 자동화의 수준은 높아졌지만

여전히 컨테이너도 관리와 배포를 위한 제어 시스템을 구축하고 모니터링을 해야한다.

 

 

인프라 자동화를 위한 노력

 

코드로 인프라 관리한다는 것은

  • 자유로운 변경
  • 환경을 이해
  • 반복적으로 동일한 환경 사용

이 가능하단 말이고

곧 코드형 인프라가 문서가 될 수 있다는 말이다.

 

잘 만들어진 IaC란?

당연히 좋은 코드의 조건과 같다.

  • 잘 작동
  • 관리가 쉬움
  • 가독성 높음
  • 변경 쉬움
  • 모듈화됨
  • 간결함
  • 테스트 가능함
  • 효율적임

 

IaC를 다시 정의해보자

Iac는 컴퓨터에서 읽을 수 있는 정의 파일을 사용해 인프라나 서비스를 관리하고 프로비저닝 하는 프로세스이다.

 

 

IaC 장점

  • 속도와 효율성
    • 수동 작업보다 빨라지고 코드만 변경하면 변경된 인프라를 만들 수 있어 효율적임
  • 버전 관리
    • 코드형태이기 때문에 버전 관리 가능
  • 협업
    • 파일 형태로 되어있어 공유 가능 및 공동 작업 가능
  • 재사용성
    • 코드의 주요 반복 또는 표준화된 구성을 패키징해서 관리하면 재사용가능
  • 기술의 자산화
    • 관리 노하우나 작업 방식이 코드에 녹아있고 파이프라인에 통합됨

 

 

IaC 단점

  • 학습 난이도
  • 마이그레이션을 위한 노력
  • 인프라 지식 필요

 

거기서 가장 유명한 것이 테라폼이 되시겠다.

 

 

테라폼

하시코프에서 공개한 IaC 도구

테라폼은 3가지 철학이 있다.

  • 워크플로
  • 코드형 인프라
  • 실용주의

 

이 철학에 대해서 다음 글에서 알아보자

 

 

 

 

 

참고

테라폼으로 시작하는 Iac (한빛미디어)

728x90
반응형
그리드형