인프라 & 클라우드 · 중급
Infrastructure as Code(IaC)가 CI/CD 파이프라인에서 어떤 역할을 수행하며, IaC를 CI/CD에 통합했을 때 얻을 수 있는 이점은 무엇인지 설명해주세요.
힌트 · 인프라 프로비저닝의 자동화, 일관성 유지, 버전 관리, 재현성 확보 측면에서 IaC의 중요성을 설명합니다.
자동화버전 관리일관성재사용성테스트 가능성
모범답안
IaC는 CI/CD 파이프라인에서 인프라 프로비저닝을 자동화하는 핵심적인 역할을 합니다. 코드를 통해 인프라를 정의하고 관리함으로써, 개발팀은 애플리케이션 배포와 함께 필요한 인프라를 자동으로 구축하고 구성할 수 있습니다.
IaC를 CI/CD에 통합하면 다음과 같은 이점을 얻을 수 있습니다.
- 자동화 및 속도 향상: 수동으로 인프라를 설정하는 대신, 코드를 통해 자동화하여 배포 속도를 크게 향상시킵니다.
- 일관성 유지: 모든 환경(개발, 스테이징, 프로덕션)에서 동일한 인프라 구성을 유지하여 오류 발생 가능성을 줄입니다.
- 버전 관리: 인프라 변경 사항을 코드 저장소에 기록하여 추적하고, 필요에 따라 이전 버전으로 롤백할 수 있습니다.
- 재사용성: 인프라 코드를 모듈화하여 재사용성을 높이고, 새로운 환경을 빠르게 구축할 수 있습니다.
- 테스트 가능성: 인프라 코드를 테스트하여 오류를 사전에 발견하고, 안정적인 배포를 보장합니다.
예를 들어, Terraform이나 Ansible과 같은 IaC 도구를 사용하여 클라우드 환경에 서버, 네트워크, 데이터베이스 등을 자동으로 프로비저닝할 수 있습니다. 이러한 자동화는 CI/CD 파이프라인의 효율성을 극대화하고, 애플리케이션 배포를 더욱 빠르고 안정적으로 만들어줍니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 CI/CD 파이프라인 면접 질문
- CI/CD 파이프라인에서 자동화된 테스트가 왜 중요하며, 단위 테스트(Unit Test), 통합 테스트(Integration Test), E2E 테스트(End-to-End Test)가 파이프라인의 어느 단계에서 주로 수행되는지 구체적인 예시와 함께 설명해주세요.
- 무중단 서비스를 위한 대표적인 배포 전략인 롤링 배포(Rolling Deployment), 블루/그린 배포(Blue/Green Deployment), 카나리 배포(Canary Deployment)의 차이점과 각각의 장단점을 설명하고, 어떤 상황에서 어떤 전략이 적합한지 비교하여 설명해주세요.
- Docker와 Kubernetes 같은 컨테이너 기술이 CI/CD 파이프라인과 어떻게 연동되어 애플리케이션의 빌드, 테스트, 배포 과정을 효율화할 수 있는지 설명해주세요.
- CI/CD 파이프라인 구축 시 고려해야 할 보안 취약점과 이를 방지하기 위한 주요 보안 실천 방안에는 어떤 것들이 있는지 설명해주세요.
- 프로덕션 환경에서 무중단 배포 및 위험 최소화를 위해 Blue/Green 또는 Canary 배포 전략을 CI/CD 파이프라인에 통합할 때 고려해야 할 설계 원칙과 기술적 과제는 무엇이며, 이를 어떻게 해결할 수 있습니까?
- CI/CD 파이프라인에 DevSecOps 원칙을 적용하여 보안을 강화하고자 할 때, 빌드, 테스트, 배포 단계별로 어떤 유형의 보안 검사를 통합할 수 있으며, 이 과정에서 발생할 수 있는 파이프라인 성능 저하 문제와 오탐(false positive) 문제를 어떻게 관리할 수 있을까요?