본문 바로가기
Infra, Cloud/Infra

코드형 인프라 : IaC - Infrastructure as Code

by 광진구뚝배기 2024. 4. 16.

시작하는 말

클라우드 팀이 신설되고, 내가 그 곳으로 전배가게 되면서 여태까지 관리되지 않았던 클라우드 환경을 맡게 되었다. 유지보수가 전혀 이루어지지 않고, 어떤 서비스인지도 모를 정도로 관리가 소홀했던 전사적인 인프라 환경을 담당하게 되었다. 이에 따라 효율적이고 체계적인 유지보수가 가능하도록 개선하기 위해 IaC에 대해 알아보게 되었다. 이에 관한 내용을 오늘은 정리해보려한다.

 

IaC 란?

코드형 인프라(Infrastructure as Code, IaC)는 IT 인프라 프로비저닝을 자동화 하는 개념이다. IaC를 사용하면 인프라를 구축하고 배포하는 일련의 과정을 애플리케이션과 유사하게 코드로 관리할 수 있다. 이를 통해 인프라 관리가 훨씬 효율적으로 이루어지며, 매번 동일한 환경을 프로비저닝하는 것을 보장한다.

 

IaC를 사용하면 인프라를 코드로 정의하고, 버전 관리를 통해 변경 사항을 추적할 수 있다. 또한 자동화된 테스트 및 배포를 통해 안정적인 인프라 운영을 가능하게 한다. 이는 여러 대의 인프라를 구축하는 반복적인 과정을 줄여주며, 일관된 프로비저닝을 보장한다.

 

규모있는 기업들은 일상적으로 많은 애플리케이션을 프로덕션 환경으로 배포하고, 인프라를 지속적으로 가동, 중지, 확장 및 축소하는 등의 작업을 수행해야한다.

 

실례로, 내가 현재 다니는 회사에서는 SaaS형태의 제품이 계속해서 증가함에 따라 새로운 환경을 자주 구축해야 했다. 이에 따라 반복적인 작업을 끊임없이 이어졌다. 또한, 설정이 잘못되었을 때 이를 발견하고 해결하는데 많은 시간을 투자해야 했으며, 다른사람이 변경한 사항을 추적하고 관리하는 것도 어려웠다.

 

그러나 IaC는 이러한 자동화를 가능하게 하며 코드로 관리되기 때문에 다른 사람이 변경한 내용을 즉시 파악하고, 필요한 경우 쉽게 롤백할 수 있다. 이는 운영 효율성을 향상시키고, 인프라 관리에 대한 투입 시간을 줄여준다.

 

이러한 IaC의 장점들을 보다 자세히 설명해보도록 하겠다.

 

 

IaC의 장점

- 빠른 환경 구축 및 배포

  인프라를 코드로 정의하고 자동화하여 프로덕션 환경으로의 신속한 진입을 가능하게 한다.

 

- 일관성 유지와 변경 감소

  코드로 관리되는 인프라는 일관성을 유지하며 변경을 추적하고 감소시킨다.


- 담당자 변경시 보호

  담당자가 변경되더라도 프로비저닝 인텔리전스가 조직 내에 남아 있어 프로세스가 보호된다.

 

- 비용 절감 및 ROI 향상

  시간, 노력, 전문 기술을 절약하고 클라우드 사용량 비용 구조를 최대한 활용하여 비용을 절감하고 ROI를 향상시킨다. 또한, 유지 보수 시간이 줄어들어 개발자 솔루션 개발에 더 많은 시간을 할애할 수 있게된다.

* ROI(Return on Investment) : 투자 대비 수익

 

IaC의 종류

IaC 의 종류만 나열하도록 하겠다. 각각에 관해서는 다른 포스팅때 자세히 다뤄보도록 하겠다.

 

- Ansible

- Terraform

 

- Chef

 

- AWS CloudFormation

 

 

참고자료

 

https://www.ibm.com/kr-ko/topics/infrastructure-as-code

반응형

댓글