구축사례

[데뷰 2018] 클라우드로 옮긴지 1년…‘쿠팡’의 고민은?

백지영

[디지털데일리 백지영기자] “사용하는 모든 것에서 실패가 가능하다는 점을 매웠습니다. 모든 것을 리소스로 생각하고 대비하는 것이 필요합니다.”

소셜커머스 기업 쿠팡의 양원석 프린시펄 소프트웨어(SW) 엔지니어<사진>는 지난 11일 네이버 데뷰 2018에서 클라우드 이전 소회를 이같이 말했다.

이미 알려진대로 쿠팡은 2017년 8월 아마존웹서비스(AWS) 클라우드 환경으로 자사 인프라를 모두 이전했다. 이전 준비는 그보다 1년 전인 2016년 7월 클라우드 마이그레이션(이전) 태스크포스(TF)를 만들고 지난해부터 본격적인 이전을 시작했다.

당초 쿠팡은 100개의 마이크로서비스를 2곳의 데이터센터(IDC)를 통해 운영하고 있었는데 신속한 인프라 추가가 불가능해 장애가 수시로 발생했다. 서버 구매에만 많게는 6개월씩 걸리는 탓에 인프라 확장이 쉽지 않았던 탓이었다.

양 엔지니어는 “클라우드 이전을 고민할 때 쯤, 넷플릭스가 7년에 걸쳐 클라우드로 인프라를 이전했다는 소식이 있었다”며 “2017년부터 클라우드 이전을 위한 인프라 및 보안정책 적용 등을 고려하고 이전을 시작할 무렵, 왜 넷플릭스가 그렇게 오랜 시간을 걸려 이전했는지 이해할 수 있었다”고 말했다.

쿠팡이 세운 클라우드 이전 원칙은 크게 3가지였다. 확장성을 확보할 것. 서비스는 무중단으로 이전할 것. 성능 이슈로 고객 만족도에 영향을 주지 않는 것이 주요 목표였다.

이를 위해 쿠팡이 세운 클라우드 이전 전략은 ‘로만 라이드(Roman Ride)’, 두개의 말을 타고 달리는 방식, 즉 데이터센터와 클라우드를 동시 운영함으로써 리스크를 최소화시켰다.

그는 “우선 클라우드 성능에 대한 확신이 없었고 비슷한 레퍼런스가 많지 않은 상황이었다”며 “먼저 이전할 수 있는 것부터 시작해, 이슈 발생 시 빠르게 되돌릴 수 있는(rollback)이 가능한 구조로 만들었다”고 설명했다.

다이나믹 라우팅과 카나리 테스팅, 로그 수집·저장 등 준비를 거쳐 마침내 지난해 8월 클라우드로 이전을 완료했다. 당시 약 5000대의 인스턴스에서 200개의 마이크로서비스를 올렸다.

1년이 지난 현재는 약 1만개의 인스턴스에서 300여개의 마이크로서비스를 운영 중이며, 매일 313회의 배포(업데이트 및 신기능 도입) 및 1800개 메트릭을 수집하고 있다.

그는 “쿠팡은 블루그린 디플로이먼트를 사용해, 기존 버전과 새 버전 서비스를 동시에 배포, 트래픽을 조절하며 무중단 변경을 실시했다”며 “또 각 애플리케이션은 도커 컨테이너 방식으로 제작하고. 배포 시 새 인스턴스를 만들었다”고 말했다.

클라우드 도입 초기에는 CPU 타입이나 메모리 용량 설정 등의 문제로 소소한 장애들도 있었다. 특히 지난 1년 간 쿠팡에서 판매하는 상품은 수십배가 늘어고 트래픽이나 내부 프로젝트가 계속 추가됐다.

이에 따라 복잡도가 증가했고, 결국 한 서비스의 장애가 다른 서비스로 전파되는 문제도 발생했다. 예를 들어 SLA(서비스 수준협약)이 99.99%라고 할 경우, 장애 시간이 1년 기준 1시간이다 하지만 이 장애가 10개로 확장된다고 했을 경우 전체 서비스로 따지만 10시간의 장애다. 결국 SLA는 99.9%로 떨어진다.

또, 예상치 못한 곳에서 문제가 발생하며 장애 원인 파악이 늦어지는 경우가 생겼다. 그는 “지난 1년 간 약 67건의 새로운 유형의 장애가 발생했다”며 “전체 장애 숫자는 줄어든 반면, 오히려 복구 평균 시간은 조금씩 증가했다”고 말했다.

현재는 안정화 단계에 접어든 상태다. 그는 “마이크로서비스와 클라우드를 통해 많은 것을 배웠다”며 “실패를 미리 주입해 예측하지 못했던 것을 예측하는 방법으로 카오스 엔지니어링, 특히 넷플릭스가 만든 카오스 몽키 등을 개발계 등에 활용하고 있다”고 설명했다.

클라우드 서비스의 대표적인 기능인 오토 스케일링(자동 확장 및 축소)도 너무 민감하게 잡지 말 것을 조언했다. 이에 대한 방안으로 인스턴스를 빠르게 늘리고 천천히 줄일 것을 강조했다.

그는 “사건 사고는 필연적인 것이고, 다른 장애로부터 교훈을 얻는 것이 중요하다”며 “쿠팡은
장애 리포트를 고객의 관점에서 타임라인, 원인찾기, 재발방지 세가지로 작성하고 이를 SRE(Site Reliability Engineering)‘ 조직이 컨트롤 타워 역할을 맡아 관리하고 있다“고 말했다.

현재는 클라우드 비용 절감 프로젝트도 진행 중이다. 최근 약 30~40% 비용을 줄였다. 그는 “쿠팡은 자체 인프라 운영보다 클라우드 서비스를 사용하는 것이 비즈니스 측면에서 효과적이라고 생각했다”며 “효율보다는 확장성에 초점을 맞췄기 때문에 자체 데이터센터를 운영할 때보다 비용은 더 들지만 최근 비용을 줄이기 위한 노력을 기울이고 있다”고 덧붙였다.

<백지영 기자>jyp@ddaily.co.kr

백지영
jyp@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널