코드형 인프라란 무엇인가요?
코드형 인프라(IaC)는 반복 사용 가능한 구성 파일을 활용하여 CI/CD 개발을 위한 일관된 배포 환경을 구축하는 IT 시스템 인프라 관리 방식입니다.
코드형 인프라란 무엇인가요?
코드형 인프라(Infrastructure as Code)는 수동 구성이나 기존 구성 도구를 사용하는 대신 선언적 정의 또는 스크립트로 작성된 정의, 즉 코드를 통해 하드웨어, 가상 리소스, 플랫폼, 컨테이너 시스템, 서비스, 토폴로지 등의 인프라를 프로비저닝하고 관리하는 방식을 말합니다. IaC는 구성, 정책, 프로필, 스크립트, 템플릿을 이들이 배포되는 하드웨어 또는 소프트웨어와 분리하여 코드처럼 저장, 공유, 수정 및 적용할 수 있게 합니다.
클라우드 인프라의 대중화와 함께 성장한 이 접근 방식은 DevOps 사고방식에서 비롯되었으며, 개발자가 애플리케이션 소스 코드에 사용하는 것과 동일한 버전 관리 및 반복 가능성의 원칙을 인프라 오케스트레이션에 적용합니다. IaC 접근 방식은 적용할 때마다 동일한 인프라 환경을 생성하여 지속적 통합, 제공 및 배포를 지원합니다.

그림 1: IaC는 구성 리소스를 하드웨어 또는 소프트웨어와 분리하여 코드처럼 저장, 공유 및 관리할 수 있도록 합니다.
코드형 인프라가 중요한 이유는 무엇인가요?
인프라를 코드처럼 취급하면 자동화, 가시성, 효율성 및 확장성의 이점을 인프라 관리에 적용할 수 있으므로, 수작업을 줄이고 인적 오류나 보안 취약점의 위험을 낮추면서 애플리케이션을 더욱 빠르고 안정적으로 배포할 수 있습니다. 구성은 시스템과 분리되어 있으므로 다른 곳의 유사한 시스템에도 더 쉽게 배포할 수 있습니다. 이를 통해 데이터 센터에서 클라우드로 또는 한 클라우드에서 다른 클라우드로 마이그레이션할 때 발생하는 어려움을 줄일 수 있습니다.
IaC는 샌드박스, 테스트 및 프로덕션 환경을 모두 동일한 선언형 코드나 스크립트로 구성하여 각 환경을 동일하게 유지하고 시간이 지나도 일관성을 보장함으로써 애자일 개발 및 CI/CD 전략도 지원합니다.
코드형 인프라(IaC)는 어떻게 작동하나요?
서버, 로드 밸런서, 가상 머신 및 기타 데이터 센터 또는 클라우드 리소스의 IaC 구성은 결과를 구체적으로 설명하지 않고 지침을 명시하는 명령형 접근 방식이나, 기존 워크플로와 템플릿을 기반으로 할 수 있는 달성 방법을 구체적으로 설명하지 않고 원하는 구성 결과를 명시하는 선언형 접근 방식으로 구현할 수 있습니다. 이 둘의 차이는 샌드위치를 주문한 뒤 만드는 사람이 어떤 단계를 어떤 순서로 수행해야 하는지 알고 있다고 믿는 것(선언형)과, 그 결과가 샌드위치가 된다는 점은 굳이 언급하지 않은 채 만드는 데 필요한 모든 단계를 일일이 지정하는 것(명령형)에 비유할 수 있습니다.
선언적 접근 방식과 명령형 접근 방식 중 어느 것을 사용하든 IaC는 프로비저닝과 인프라 관리를 자동화합니다.
F5는 코드형 인프라를 어떻게 처리하나요?
F5 BIG-IP 플랫폼은 플러그인 또는 F5 Application Services 3(AS3) 확장 기능을 사용하여 IaC 구성 및 버전 관리 도구에서 ‘코드로’ 취급할 수 있습니다. 이러한 도구로는 Terraform 및 Ansible이 있습니다.
The F5 Automation Toolchain에는 AS3 확장 기능과 F5 Declarative Onboarding(DO) 확장 기능이 포함되어 있습니다. AS3는 JSON 선언을 기반으로 BIG-IP 시스템에서 L4~L7 애플리케이션 서비스를 구성할 수 있는 유연하고 오버헤드가 적은 메커니즘입니다. DO 확장 기능을 사용하면 BIG-IP 제품의 L1~L3 온보딩을 선언적 방식으로 수행할 수 있습니다.

