등장 배경
서비스가 발전하면서 IaC가 어떻게 나오게 되었을까
방식의 한계에 봉착하게 되면 바뀐다.
1. 문서
처음엔 모든 변경사항을 텍스트로 남기고 구전되고 변경되면 문서를 업데이트하고 그랬다.
하지만 이런 문서는 사람이 이해할 수 있는 텍스트지 바로 인프라로 적용할 수 없는 코드였다.
2. 스크립트
동작하는 코드의 양이 많아지면 시스템의 응답이나 상태를 고려해야 한다.
즉, 스크립트는 각 단계를 실행할 뿐이지 결과를 보장하지 않는다.
3. VM
VM을 미리 구성함으로써 해결하려 했지만 가상화 솔루션에 따라 달라지는 결과 때문에 일관된 관리가 불가능함
게다가 스크립트가 여전히 사용되어야 함
4. 클라우드 인프라
분명 CSP를 이용하는 것이 나쁘지 않지만 CSP마다 다르게 API를 제공하므로 .. 멀티 클라우드에선 좀 힘들다.
5. 컨테이너
Host OS와 독립되어있고 이전 전략보다 자동화의 수준은 높아졌지만
여전히 컨테이너도 관리와 배포를 위한 제어 시스템을 구축하고 모니터링을 해야한다.
인프라 자동화를 위한 노력
코드로 인프라 관리한다는 것은
- 자유로운 변경
- 환경을 이해
- 반복적으로 동일한 환경 사용
이 가능하단 말이고
곧 코드형 인프라가 문서가 될 수 있다는 말이다.
잘 만들어진 IaC란?
당연히 좋은 코드의 조건과 같다.
- 잘 작동
- 관리가 쉬움
- 가독성 높음
- 변경 쉬움
- 모듈화됨
- 간결함
- 테스트 가능함
- 효율적임
IaC를 다시 정의해보자
Iac는 컴퓨터에서 읽을 수 있는 정의 파일을 사용해 인프라나 서비스를 관리하고 프로비저닝 하는 프로세스이다.
IaC 장점
- 속도와 효율성
- 수동 작업보다 빨라지고 코드만 변경하면 변경된 인프라를 만들 수 있어 효율적임
- 버전 관리
- 코드형태이기 때문에 버전 관리 가능
- 협업
- 파일 형태로 되어있어 공유 가능 및 공동 작업 가능
- 재사용성
- 코드의 주요 반복 또는 표준화된 구성을 패키징해서 관리하면 재사용가능
- 기술의 자산화
- 관리 노하우나 작업 방식이 코드에 녹아있고 파이프라인에 통합됨
IaC 단점
- 학습 난이도
- 마이그레이션을 위한 노력
- 인프라 지식 필요
거기서 가장 유명한 것이 테라폼이 되시겠다.
테라폼
하시코프에서 공개한 IaC 도구
테라폼은 3가지 철학이 있다.
- 워크플로
- 코드형 인프라
- 실용주의
이 철학에 대해서 다음 글에서 알아보자
참고
테라폼으로 시작하는 Iac (한빛미디어)
'귀찮게하기 > Infra' 카테고리의 다른 글
인프라팀 귀찮게 안하기 - Network(4) (1) | 2024.11.06 |
---|---|
인프라팀 귀찮게 안하기 - LoadBalancer 및 세션 유지 (0) | 2024.11.06 |
인프라팀 귀찮게 안하기 - Network(3) (0) | 2024.11.06 |
인프라팀 귀찮게 안하기 - SSH (0) | 2024.11.05 |
인프라팀 귀찮게 안하기 - Network(2) (4) | 2024.11.04 |