이 글은 2024년 기억해야 할 Infrastructure as Code(IaC) 트렌드 4가지를 정리했습니다. IaC는 수동 프로세스가 아닌 코드로 인프라를 관리하고, 프로비저닝하는 DevOps 관행이죠. IaC를 사용하면 인프라를 프로비저닝하고, 유지 관리하는 시간을 단축하고요. 인프라 구성의 정확성과 일관성을 향상할 수 있습니다. 이는 IaC가 자동화와 코드 중심 프로세스로 IT 인프라 관리를 혁신한 결과죠.
IaC는 IT 업계에서 2024년 DevOps 트렌드 기술로 종종 거론됐습니다. 이스라엘 클라우드 인프라 관리 솔루션 기업인 Firefly는 올해 2월 ‘State of Infrastructure-as-Code 2024’ 보고서를 발간해 올해 IaC 트렌드를 집중적으로 다루기도 했는데요. IaC 보편화, 여러 IaC 도구 도입 공고화, Terraform 지배력 약화, AI 영향력 강화 등이 그 예입니다.
이 글에서는 Firefly에서 제시한 2024년 IaC 트렌드 가운데 위 4가지를 꼽았는데요. 여러 DevOps 전문 기업 관계자들의 해석과 더불어 각 트렌드의 구체적인 현황과 등장 배경, 유의 사항, 전망을 살펴봤습니다.
1. IaC 보편화

IaC가 IT 업계에서 점차 보편화되고 있습니다. 올해 2월 발표한 Firefly 설문조사*에 따르면, 응답자 3분의 2 이상은 “클라우드 인프라의 절반 이상을 IaC로 코드화했다”고 답변했고요. 응답자 절반 이상은 “IaC로 기존 클라우드를 개조하는 데 전념한다”고 답했습니다. 또 응답자 약 3분의 1은 ‘SaaS 애플리케이션과 함께 제공되는 클라우드 인프라를 관리하기 위해 IaC를 사용한다’고 하고요. 절반에 가까운 응답자는 ‘대부분 엔지니어가 IaC에 능숙하다’고 답변했죠.
IaC 이점은 IaC 보편화의 핵심 배경으로 풀이되는데요. 일관성, 안정성, 속도는 IaC 이용의 최우선 목표입니다. Firefly 설문조사에서 응답자 3분의 1은 ‘인프라 모니터를 관리해 계측이 일관되고 안정적이며 관리되도록 보장하고자 IaC를 사용한다’고 답했죠. 아울러 IaC에는 엔지니어링 효율성, 컴플라이언스 감사 용이성 장점도 있습니다. Firefly 설문조사에 따르면, IaC가 운영을 개선한 방법은 플랫폼 엔지니어의 효율성 향상(66%), 소프트웨어 엔지니어의 효율성 향상(38%), 안정성 향상/다운타임 감소(38%), 더 쉬운 컴플라이언스/감사(34%), 보안 강화(32%), 더 쉬운 트러블슈팅(26%) 순으로 많았습니다. 이밖에 IaC는 수작업을 줄이고, 자동화로 개발팀에 자유를 주죠. 이로써 비용을 절감하고, 개발팀이 앱에 수정 사항을 안전하게 배포하는 속도를 높여줍니다.
그러나 IaC를 사용할 때 구성 드리프트, 인재 부족, 도구 파편화와 같은 문제도 있죠. 특히 드리프트를 빨리 해결하지 못할 때가 많아 보안 익스플로잇 위험이 늘고, 사용하지 않는 리소스에 불필요한 비용이 들어가며, 다운타임 위험까지 생기기도 하는데요. Firefly 설문조사에 따르면, 응답자 3분의 1 이상은 드리프트를 해결하는 데 며칠 또는 몇 주 걸린다고 합니다. 하루 안에 드리프트를 해결할 수 있는 사람은 응답자 절반 미만에 그치고요. 심지어 응답자 20%는 이를 탐지하지도 못한다고 하죠. 이러한 과제를 신속히 해결해야 IaC가 보다 안착할 걸로 예상됩니다.
*Firefly는 DevOps와 플랫폼 엔지니어, SRE 300여 명의 응답을 받음.
2. 여러 IaC 도구 도입 공고화

조직이 여러 IaC 도구를 함께 사용하는 현상이 공고해지고 있습니다. Firefly 설문조사에 따르면, 응답자 57%가 ‘Terraform, Pulumi 등과 같은 IaC 도구를 2개 이상 사용한다’고 답변했는데요. 특히 4개 이상 서로 다른 IaC 도구를 사용하는 경향은 전보다 더 강화되고 있죠. 2024년 IaC 도구를 4개, 6개 사용하는 응답자 비중은 각각 10% 가까이 되는데요. 이는 한 자릿수에 불과했던 2023년과 비교해 많이 증가한 수치입니다.
여러 IaC 도구를 사용하는 이유는 각 도구의 장점 이 다르고, 조직 선호와 요구 사항이 다양하기 때문인데요. 즉, 조직의 다양한 선호와 요구 사항을 충족하기 위해 여러 IaC 도구의 장점을 활용하는 거죠. 미국 소프트웨어 기업 Oracle의 클라우드 아키텍트인 Akarsha Itigi와 Maninder Flora는 그 이점을 이렇게 설명합니다. 첫째, 팀은 각 도구의 강점을 사용해 워크플로를 최적화하고, 특정 사용 사례를 효율적으로 다룰 수 있고요. 둘째, 조직은 공급업체 중립성을 유지하고, 단일 클라우드 공급업체 의존성을 피할 수 있습니다. 셋째, 이로써 다양한 클라우드 플랫폼에서 리소스를 원활하게 관리하고, 배포의 민첩성과 복원력도 향상할 수 있죠. 넷째, 도구별 제한 사항이나 취약점과 관련된 위험도 완화할 수 있고요. 다섯째, 여러 도구에 워크로드를 분산해 잠재적 중단이나 보안 취약점이 중요한 인프라 운영에 미치는 영향을 최소화할 수 있습니다.
그러나 여러 IaC 도구를 사용할 때 다음 문제도 염두에 둬야 합니다. 미국 IaC 기업 appCD의 최고제품책임자(CPO)인 Asif Awan은 IT 매체 Newstack 기고 글에서 “IaC 도구를 2개 이상 사용하면 복잡성과 호환성 문제가 생길 수 있다”고 지적합니다. 아울러 여러 IaC 도구를 사용해도 인프라 전문 지식은 계속 필요하고요. 단, 조직에서 여러 IaC 도구를 사용하는 건 필연이고, 현실이기에 이에 맞춘 대응 전략이 필요하죠. Firefly의 CPO인 Eran Bibi는 “다양한 스택과 사용 사례에 최적화된 여러 도구를 사용해 이러한 환경에서 많은 도구를 관리하는 방법을 이해하는 게 강력한 IaC 전략의 핵심”이라고 제언합니다.