쿠팡 이커머스 앱의 CI/CD 파이프라인을 개선
코드너리 | 2022. 08. 12
CI/CD
모바일 앱
사용된 기술:
기존 시스템의 한계:
- 프로덕션 리포지토리에서 코드를 다운로드할 때 시간이 많이 낭비되었습니다. 안드로이드와 iOS 코드가 너무나 많았고, 엔지니어들 수백명이 매일 코드베이스에서 동시 작업을 하고 있었습니다.
- 효율성이 낮았습니다. 저희 CI 프로세스에 과정들이 너무 많다 보니 코드의 체크아웃, 컴파일, 정적 분석, 유닛 테스트, 심지어 자동화 테스트까지도 수동으로 시작해야 했습니다. CI/CD 프로세스는 또한 디바이스 팜(Device Farm), 모니터링 시스템, A/B 테스팅 플랫폼과 더 잘 연동되어 전반적인 효율성이 향상될 필요가 있었습니다.
- 확장성이 좋지 않았습니다. 초기의 CI/CD는 고정된 개수의 물리 머신을 기반으로 하였기 때문에, 자동으로 작업을 확장(scaling)할 수 없었습니다.
- 강화된 보안 정책에 대응해야했습니다. 쿠팡의 보안 정책 강화로 저희가 해결해야 할 이슈가 다양하게 있었습니다. 가장 주요한 이슈로는 오피스의 네트워크 환경과 프로덕션 환경을 엄격히 분리하는 것이었습니다.
- 유지보수 비용이 높았습니다. 물리 머신의 유지보수 관련 비용이 높았습니다. 또한 엔지니어로서는, 원격 근무로 업무가 전환되면서 정기 및 긴급 현장 진단(on-site checkups)의 수행이 점점 더 어려워졌습니다.
성과:
아래는 CI/CD 2.0 출시 한달 후에 대시보스를 통한 분석한 결과입니다.
- 18개 풀스택 팀의 협업에 소요되는 시간 5% 절약
- 빌드 타임 45% 감소 및 정적 코드 분석에 걸리는 시간 77% 감소
- CI 잡(job) 최대 대기시간 1시간에서 15분 미만으로 감소
- 신규 빌드 에이전트 추가에 걸리는 시간 2시간 절약
- 오토 스케일링으로 AWS 비용 16% 감소
- 9x 트래픽 지원 가능
- 2M/D 이내로 신규 프로덕트 지원 가능
- 오피스 환경에서 프로덕션 환경에 액세스함으로 인해 발생 가능했던 보안 리스크 해소