뱅
뱅크샐러드
February 25, 20201회
폐쇄망 환경의 배포 시스템 개발기

간단 소개
뱅크샐러드가 폐쇄망 환경에서 안정적인 서비스 운영을 위해 자체 배포 시스템 'Alice'를 개발한 과정과 기술적 고민을 담고 있습니다.
AI Summary
- 배경 및 목표
- 뱅크샐러드는 폐쇄망 환경에서 금융기관과의 협업을 진행하며, 이를 위해 안정적인 서비스 운영 기반이 필요했다.
- 기존의 편리한 배포 시스템(DeployBot)을 폐쇄망에서 사용할 수 없어 개발 생산성에 제약이 있었다.
- 배포 시스템 Alice를 구축하여 폐쇄망 환경에서도 빠르고 안정적인 서비스 운영을 목표로 했다.
- 요구사항 및 기술 스택
- 개발자들은 Docker 기반 배포, 원클릭 배포/롤백, 무중단 배포, 배포 기록 관리, 단계적 배포, GUI 기반 인터페이스 등을 요구했다.
- Jenkins를 검토했으나 단계적 배포의 어려움, 권한 관리의 한계, UI의 아쉬움 등으로 자체 시스템 구축을 결정했다.
- Canary 배포 전략을 채택하고, CI/CD 도구로 drone.io를 도입하여 Github Enterprise 연동 및 간단한 기능 지원을 확보했다.
- 시스템 구조 및 구현
- 시스템은 deploy-web, deploy-api, Friday 서비스로 구성되어 있다.
- Docker를 활용하여 개발 및 배포의 편의성, 속도, 일관성을 확보했다.
- 단계별 배포 UI를 통해 손쉬운 배포와 롤백을 지원하며, 배포 중 순단 방지를 위해 L4에서 트래픽을 점진적으로 조정한다.
Next Feeds

BDD로 테스트에 중독되어 보자
컬리 기술팀이 BDD를 도입하여 적립금 만료일 계산기 기능을 구현하고, BDD의 장점을 경험하며 지속적인 실험을 계획하는 과정을 소개한다.
BDD테스트컬리페어 프로그래밍몹 프로그래밍
2020. 2. 23.
컬리

테스트 코드, 안드로이드에서는 어떻게 작성해야 할까?
뱅크샐러드 안드로이드 팀의 테스트 코드 작성 전략과 사각지대 극복 방안을 소개하고, 테스트 코드 작성 문화의 중요성을 강조합니다.
테스트 코드안드로이드MVP 패턴Clean ArchitectureInstrumented Test
2020. 2. 20.
뱅크샐러드

들어는 보았나 몹 프로그래밍!
컬리 개발팀의 몹 프로그래밍 경험 공유: 몹 프로그래밍 정의, 적용 사례, 효과, 장단점 분석 및 컬리 채용 안내.
몹 프로그래밍컬리애자일코드 품질팀 협업
2020. 2. 17.
컬리

기술 블로그를 다시 디자인하며
컬리 기술 블로그 재정비를 통해 개발 문화 활성화 및 개발자 채용을 도모하고, 톱니바퀴가 아닌 축구 선수 같은 스타트업 문화를 강조한다.
기술 블로그코드 리뷰개발 문화채용스타트업
2020. 2. 10.
컬리

쿠폰과 할인으로 앞다리살 하나 더 판매한 이야기
컬리에서 쿠폰 사용 불가 오류 분석 후, 상품 가격 변동이 원인임을 밝히고 사용자가 추가 구매를 통해 쿠폰을 사용, 매출을 늘린 사례.
쿠폰할인오류 분석가격 변동매출 증가
2020. 2. 6.
컬리
![[Windows 컨테이너] 3: NT 서비스를 Windows 컨테이너로 마이그레이션하기](https://tech.devsisters.com/opengraph.png)
[Windows 컨테이너] 3: NT 서비스를 Windows 컨테이너로 마이그레이션하기
Windows 컨테이너에서 NT 서비스를 마이그레이션하고, ServiceMonitor와 LogMonitor를 활용하여 서비스 관리 및 로그 수집을 효율적으로 수행하는 방법을 설명합니다.
Windows 컨테이너NT 서비스ServiceMonitorLogMonitor컨테이너화
2020. 1. 10.
데브시스터즈