"인프라를 마치 소프트웨어처럼"
한번의 코드 실행으로 Networking, IAM, VM, Autoscaling, Database 등의 인프라 전체를 프로비저닝 및 구성할수 있습니다. 일하거나 유사한 환경의 인프라를 빠르고 일관성있게 구축할수 있습니다.
기존의 정형화된 프로비저닝 및 환경구성 절차를 통해서 인프라 배포에 대한 일관성을 유지할수있지만 인적오류(Human error)의 위험에서 완전히 벗어나기란 어렵습니다. 사소한 구성 오류로 인해 전체 시스템의 마비를 겪거나, 디버깅에 많은 시간과 노력을 들여 자원을 낭비하게 될 가능성이 존재합니다. 코드형 인프라를 사용하면 정형화된 프로세스와 수동 구성이 불필요해지고, 이로 인한 인적오류 발생확률을 현저히 낮출 수 있습니다.
모든 인프라 구성 및 변경이 한 명의 엔지니어에 의해 이루어졌다고 가정해보겠습니다. 해당 엔지니어의 부재 시, 기업은 그로인한 부담을 떠안게 됩니다. 하지만 코드형 인프라를 사용한다면 이러한 위험 부담으로부터 보다 자유로워질 수 있습니다. 코드형 인프라는 프로세스 자동화에 그치지 않고 그 자체로 하나의 인프라 구성을 설명하는 문서가 될 수 있기 때문입니다. 소스코드 버전관리 툴을 이용해서 구성내용 변경에 대한 히스토리 및 각 변경사항에 대한 상세 내용을 문서화, 로깅, 트래킹 할 수 있습니다. 이를 통해 변경사항을 실제 인프라에 적용하기 전에 테스트할 수 있게 되고, 위험을 최소화 할 수 있습니다.
개발자는 더이상 인프라 운영자에게 서버 생성을 요청할 필요 없이 본인이 구성하고 싶은 인프라를 코드로 제출하기만 하면됩니다. 인프라 운영자가 해당 코드를 리뷰하고 배포 허가를 내리면 구성이 완료되며, 이 과정에서 개발자와 운영자 사이에 있던 silo를 대폭 감소할 수 있습니다. 최종적으로 인프라 구성을 '코드 → 리뷰 → 테스트 → 배포' 와 같은 CI/CD 파이프라인으로 구성하여 업무효율을 극대화할 수 있습니다.
수동으로 해오던 반복적인 작업을 자동화하고 인프라 구성 프로세스를 최적화 함으로써 더 적은 인원으로 더 높은 생산성을 얻을 수 있습니다. 이는 개발 및 운영비용 절감으로 이어지고, 더 나아가 높은 이윤창출 및 가격경쟁력에서 우위를 점할 수 있게됩니다.
AWS 인프라 관리가 한 명의 운영자에 의해 이루어지던 이커머스 업체 A사. A사의 개발자들은 AWS서비스를 이용하기 위해 해당 운영자에게 서비스 구성을 요청하고, 서비스가 프로비저닝될 때까지 대기해야만 했습니다. 길어지는 요청 처리 소요시간에 대해 개발자들의 불만은 날로 높아져갔지만, AWS 인프라 운영자는 수십명의 개발자들로부터 들어온 요청을 수동으로 처리해야했기때문에 업무 처리 지연이 불가피한 상황이었습니다. 운영자는 요청사항을 확인, 수정, 검토, 변경, 재확인 및 적용하는 프로세스를 거쳐야하기때문에 업무 효율이 떨어진다는 점을 피력했습니다.
인프라 운영자는 주요 서비스별 샘플 Templates들을 제작해 개발자들에게 배포하고, 주기적인 CloudFormation에 대한 교육을 진행합니다. 개발자는 해당 Template을 기반으로 본인이 필요한 인프라를 스스로 구성할 수 있게 됩니다. 개발자는 생성된 Template을 대상으로 CI/CD 파이프라인을 통한 Validation check 및 dry run을 실시하여 미리 오류를 탐색 및 예방할 수 있습니다. 이러한 과정을 마친 Template을 인프라 운영자에게 전달하여 수동으로 승인/배포하는 방식을 통해 위의 문제를 해결할 수 있습니다.
가파른 속도로 성장중인 스타트업의 개발자 A씨. A씨는 사내의 유일한 Cloud전문 지식 소유자입니다. 이러한 이유로 A씨는 개발 업무 이외에도 인프라 구성 및 운영 등의 작업을 수행하고 있습니다. 인프라 구성의 복잡도가 크게 높지 않았기 때문에 수동으로 일을 처리해왔으나, 최근 3rd party업체와 VPN연동 작업을 하는 과정에서 VPC CIDR이 중복되어 모든 인프라를 다시 구성해야하는 문제가 발생했습니다. 해당 기업이 스타트업이라는 점을 고려할 때, 앞으로도 빈번한 인프라 재구성이 예상되는 가운데 업무효율에 대한 우려의 목소리가 높아지고있습니다.
이러한 문제는 코드형 인프라를 통해 해결할 수 있습니다. 위의 사례처럼 인프라 구성의 잦은 변동이 예상되는 상황에서 코드형 인프라를 활용하면 변동사항이 발생할 때마다 수동으로 수정해야하는 번거로움을 없앨 수 있습니다. 기존의 구성 내역에서 변동사항만을 수정하면 자동으로 반영되어 새로운 인프라를 구성할 수 있기 때문입니다.
csm@saltware.co.kr
T. 02-2025-4942