캐치패션 : Cloud Run 기반의 마이크로 서비스 아키텍처로 스타트업 비즈니스 성장의 매끄러운 반영
Smile Ventures Catchfashion에 대하여
스마일벤처스가 운영하는 캐치패션은 글로벌 공식 파트너십을 기반으로 다양한 카테고리의 전세계 공식 명품 패션 상품을 유통하는 이커머스 플랫폼입니다. 안정적인 제휴를 통해 상품을 안정적으로 확보하고, 기술을 기반으로 고도화된 개인화 서비스를 구축해 합리적인 가격과 믿을 수 있는 온라인 명품 쇼핑 경험을 만들어가고 있습니다.
어떤 어려움을 겪고 계신지 알려주세요. Google Cloud가 도와드리겠습니다.
문의하기캐치패션 : Cloud Run 기반의 마이크로 서비스 아키텍처로 스타트업 비즈니스 성장의 매끄러운 반영
구글 클라우드 사용 효과
- 짧은 기간에 완전한 컨테이너 기반 인프라 구축
- BigQuery 기반의 데이터 실시간성 확보
- 개발과 운영계의 명확한 구분 및 적용 유연성 확보
컨테이너 구조로 인프라 이전 및 재구축 보안 환경과 정책의 근본적인 변화 외부 제휴 서비스 및 글로벌 비즈니스 확장 기회
캐치패션은 글로벌 브랜드들과 공식 파트너십을 맺고 명품을 유통하는 이커머스 플랫폼입니다. 정품을 정해진 가격으로 믿고 구매할 수 있는 것은 물론이고, 기술을 바탕으로 소비자들의 쇼핑 경험을 높이는 서비스를 제공하고 있습니다. 캐치패션은 최근 구글 클라우드를 바탕으로 서비스 2.0을 오픈하고, 빠르게 변하는 패션 시장의 흐름에 발을 맞추고 있습니다.
캐치패션은 비즈니스 초기 여느 스타트업처럼 인프라를 직접 구성하는 대신 퍼블릭 클라우드를 통해 아이디어를 빠르게 현실화하는 데에 집중했습니다. 초기 캐치패션은 작은 비즈니스에서 순발력 있게 기능들을 넣기 위해서 FaaS 기반으로 시스템을 설계했습니다. FaaS 기반의 설계는 초기 스타트업의 환경에서 빠르게 기능들을 추가하기에는 적합하지만 서비스가 빠르게 성장하고 이용자 규모가 커질수록 성능이나 기능의 확장에 어려움이 있었습니다.
스타트업의 빠른 성장에 따른 인프라 대응 변화 필요
"내부적으로는 '서비스 2.0'이라고 부를 만큼 캐치패션 전체의 경험을 바꾸려는 목표가 있었습니다. 콘텐츠를 중심으로 이용자들이 더 나은 쇼핑 경험을 얻을 수 있는 환경을 만든다는 목표를 세웠습니다. 최신 온라인 쇼핑의 흐름을 반영해 좀 더 쉽고 즐거운 구매 경험을 구성하려면 적절한 인프라가 필요했습니다."
장우혁 캐치패션 CTO는 캐치패션 서비스의 급격한 성장 뿐 아니라 비즈니스적 확장을 위해 인프라의 전반적인 개선이 필요했다고 설명합니다. 무엇보다 기존 인프라는 직접적으로 성능의 한계를 맞이했습니다. 특히 복잡한 쿼리를 호출하면 응답이 점점 느려지고, 그 사이에 쿼리가 종료되는 일이 잦았다고 합니다.
이전 초기에는 기존 클라우드 시스템 환경 안에서 고도화를 생각했습니다. 방법은 자연스럽게 마이크로 서비스 아키텍처 중심의 컨테이너로 백엔드 인프라를 구축하며 서서히 이전하는 전략이었습니다. 이전이라고는 하지만 백 여 가지의 Function을 컨테이너로 구성하는 것은 거의 처음부터 서비스를 다시 개발하는 수준이었습니다. 서비스를 안정적으로 유지하면서 전화하는 것은 캐치패션 혼자 감당하기 힘든 일이었습니다.
거의 처음부터 서비스를 다시 개발해야 하는 수준의 큰 작업이었기 때문에 클라우드의 이해도가 높은 공급 업체의 도움이 필요했습니다. 하지만 기대했던 기술 지원은 원활하지 않았고, 이대로는 주어진 시간 안에 원하는 수준의 서비스 환경을 만들기 어려울 수 있다는 불안도 있었습니다.
"구글 클라우드를 만나면서 이야기가 달라졌습니다. 기본적으로 개발자들이 참고할 수 있는 자료와 문서들이 잘 갖춰져 있어서 쉽게 따라 하고, 테스트까지 매끄럽게 이뤄졌습니다. 구글 클라우드는 시스템 설계부터 적절한 서비스 구성과 방법에 대한 부분까지 세세한 기술 지원이 뒤따랐고, 컨테이너의 이전과 관리 뿐 아니라 이후 신규 개발이 쉬운 설계까지 모두 해낼 수 있다는 확신을 주었습니다."
장우혁 CTO는 5개월이라는 짧은 기간 안에 기존 서비스의 안정성을 유지하면서 완전한 이전이 필요했고, 구글 클라우드는 이를 성공적으로 마칠 수 있겠다는 확신을 주었다고 설명합니다.
Cloud Run, 쉽고 매끄러운 컨테이너 도입의 열쇠
처음에는 Google Kubernetes Engine (GKE) 적용을 고민했습니다. 하지만 이전 방법과 개발 환경 등을 두루 검토한 결과 구글 클라우드의 Cloud Run이 딱 적합한 환경이라는 답을 얻었습니다. Cloud Run 으로 적절한 인프라가 구성되면 이후에는 언제든 쿠버네티스 기반으로 어렵지 않게 전환할 수 있다는 확신도 있었습니다.
"쿠버네티스는 가장 강력한 컨테이너 환경이지만 내부에서 어느 정도 능숙하게 다룰 수 있어야 제 기능을 활용할 수 있다고 판단했습니다. 지금으로서는 컨테이너에 첫 발을 들이고, 기존 수많은 Function들을 안정적으로 컨테이너에 올려야 했기 때문에 쉽게 접근할 수 있는 도커를 활용하기로 결정했습니다."
도커는 적용부터 운영까지 기술적 장벽이 적고 초기에 예상하기 어려운 변수가 적기 때문에 빠른 개발과 이전이 가능하다고 봤습니다. 그리고 이 도커 컨테이너를 가장 쉽고 안정적으로 운영할 수 있는 환경이 바로 구글 클라우드의 Cloud Run이었습니다.
결과적으로 Cloud Run 도입 이후 캐치패션은 개발 뿐 아니라 현업에서도 새로운 환경에 크게 만족하고 있습니다. 운영의 안정성이 뛰어나고, 새로운 요소들을 빠르게 적용할 수 있기 때문입니다. 컨테이너 기반으로 이전하고 나니 관리의 포인트가 줄었습니다. 마이크로 아키텍처 기반의 설계, 운영은 여전하지만 업데이트가 조금 더 큰 덩어리를 기반으로 촘촘하게 운영됩니다.
"컨테이너 기반의 마이크로 아키텍처 서비스는 새로운 기능을 유연하게 적용할 수 있지만 반대로 그 결과에 따라 이전의 방식으로 되돌려야 할 때도 있습니다. Cloud Run은 적용 만큼이나 이전 환경으로 복원도 빨랐습니다. 또한 배포의 비율을 자유롭게 설정할 수 있어서 운영중에도 A/B 테스트를 통해 이용자들의 반응과 안정성을 미리 살필 수 있었습니다."
장우혁 CTO는 운영의 다양한 시나리오를 반영하면서도 동시에 개발 속도와 안정성을 놓치지 않을 수 있다는 점을 강조했습니다. 새로운 서비스의 적용은 늘 부담스러운 일입니다. 백업해 둔 이전의 환경을 다시 덮어 씌우거나 보조 인프라를 이용하는 등 적어도 몇 분의 서비스 공백이 생기는 경우가 많기 때문에 필요한 즉시 적용하지 못하고 새벽에 작업이 이뤄지거나 운영중에 이용자들의 불편을 감수해야 하는 경우도 있습니다. 하지만 Cloud Run은 2~3초 만에 완벽하게 원하는 버전으로 되돌릴 수 있어서 이용자들은 사실상 그 과정을 느끼지 못할 정도로 적용, 전환 과정이 매끄럽게 이뤄졌다는 설명입니다.
테스트와 적용이 유연하다는 것은 단순한 기능 요소를 넘어 개발자들의 적극적인 서비스 개발을 이끌어내기도 합니다. 개발과 새로운 기능에 대한 적용에 확신을 가질 수 있기 때문입니다. 개발계와 상용계의 분리 적용도 확실하게 이뤄지기 때문에 개발자들이 안정성에 대한 담을 덜고, 적극적으로 개발계에 직접 접근해서 개발과 운영을 이어갈 수 있습니다.
비즈니스 환경의 세밀하고 유연한 반영
전반적으로 Cloud Run을 통한 고도화는 사내 전체의 업무 환경에 큰 영향을 주었습니다. 이커머스 서비스에서는 상품을 다루는 직원들이 쓰는 백오피스 환경이 매우 중요합니다. 백오피스를 세세하게 다룰 수 있으면 그만큼 서비스의 완성도가 높아지지만 개발 환경이 이를 예민하게 받아주지 않으면 원하는 요소들이 제대로 반영되기 어렵습니다.
적재와 분석을 위한 서비스와 데이터베이스는 Cloud Run과 Cloud Bigtable 로 이전했습니다. 데이터 검색도 Google Elastic Cloud 로 바꾸어서 데이터 관리의 일관성을 갖게 됐습니다. 인프라 뿐 아니라 서비스에 활용되는 대부분의 운영 데이터까지 구글 클라우드로 완전한 이전이 이뤄지면서 자연스럽게 데이터 활용이 늘었습니다.
"이전에는 BigQuery 외의 인프라는 모두 타사의 클라우드에서 운영되었기 때문에 BigQuery의 기능들을 이용하기 위해서 결국 데이터를 전송하는 과정에서 속도와 비용 문제를 안고 있었습니다. 데이터를 구글 클라우드로 옮겨 오면서 데이터 파이프라인이 단순해졌고, 데이터의 흐름은 더 빠르고 정확해졌습니다. 또한 실시간 데이터 분석과 처리가 이뤄지면서도 비용과 속도는 비교할 수 없을 만큼 크게 개선됐습니다."
장우혁 CTO는 BigQuery가 데이터의 실시간성을 갖게 되면서 새로운 비즈니스의 확장 기회도 생겼다고 설명합니다. 캐치패션은 온라인으로 제품의 품질이 보장되는 정품을 안정적으로 공급하기 때문에 대형 쇼핑몰이 제휴를 통해 상품들을 유통하고자 하는 수요가 큽니다. 캐치패션은 50여 개 파트너사의 500만 가지 이상의 상품을 제공하는데 그 중에서 대형 쇼핑몰이 원하는 상품을 추려서 공급하는 B2B 카탈로그 서비스를 운영하고 있습니다. 이때 상품의 재고 수량과 가격이 일관성과 실시간성이 확보되어야 합니다.
"Cloud SQL 부터 BigQuery까지 이어지는 구글 클라우드의 데이터 파이프라인은 데이터의 최신 상태를 플랫폼 내부 뿐 아니라 외부에 제공하는 B2B 데이터까지 동일하게 유지해 주었습니다. 구글 클라우드는 수 천 만개의 데이터가 매끄럽게 동기화되고, 많은 트래픽도 안정적으로 받아주었습니다."
데이터의 활용은 더 광범위해졌지만 보안은 훨씬 단단해졌습니다. 쇼핑의 특성상 많은 개인정보가 오가고, 실제로 쇼핑몰들의 개인정보 유출과 위협이 많기 때문에 지나치다고 할 만큼 보안에 대한 조치를 해 두었습니다. 이전의 FaaS 기반 인프라에서는 정확한 경로를 알고 있으면 외부에서도 Function에 접근할 가능성이 있었습니다. Cloud Run은 네트워크 액세스를 제한하는 보안 기능을 제공 하고 있어서, 이를 통해서 외부의 접근을 원천적으로 차단했습니다.
모든 API 호출에는 자바 스크립트 웹 툴킷을 바탕으로 한 토큰을 발급하도록 했고, 이를 복호화해서 유저의 계정과 실제 호출이 맞는지에 대해서 확인이 이뤄집니다. Cloud Run은 각 트래픽을 내부에서만 접근하게 하는지, 외부에 열어주는지를 간단하게 설정할 수 있습니다. Cloud Run은 가상 머신 커넥터를 만들어서 모든 트래픽이 이를 반드시 거치도록 했습니다.
민감 정보에 대해서는 Secret Manager 를 활용하여 암호화를 위한 내부 서비스를 따로 만들었고, 별도 보안 관리자를 통해 보안키를 관리합니다. 혹시 중간에 데이터를 탈취한다고 해도 암호키가 없으면 내용을 알 수 없습니다. 민감 정보들은 캐치패션 내에서도 복호화할 수 없고 암호화 형태로만 저장합니다. Cloud Run은 보안 관련 장치들이 다양하게 준비되어 있고, 원하는 시나리오를 구성하면 관련 기능들이 컨테이너로 쉽게 구축되기 때문에 이전과는 다른 체계를 확보할 수 있었습니다.
새로운 비즈니스 아이디어 받아들이는 IT 환경 구축
Cloud Run은 결과적으로 개발 부서 뿐 아니라 캐치패션 조직 전체의 일하는 방법과 환경을 적극적으로 반영할 수 있었습니다 개발과 배포의 모든 과정이 투명하게 관리되고, 개발 환경에서 실제 서비스로 전환하는 과정도 아주 간단하기 때문에 안정성과 일관성을 유지할 수 있었습니다.
장우혁 CTO는 테스트와 적용이 쉽게 이뤄지는 환경을 바탕으로 전반적인 개발의 자연스러운 리듬이 생겼다고 설명합니다. Cloud Run 기반의 인프라는 현업의 요구사항을 적용하기 쉬운 밑바탕을 만들어주었기 때문에 각 부서에서 원하는 부분들이 프로덕트 매니저들을 통해서 전해지고, 주간 단위로 개발과 리뷰가 진행됩니다. 검증이 끝나면 배포는 언제든 즉시 시작됩니다.
캐치패션은 인프라부터 데이터 워크플로우, 분석까지 구글 클라우드 안에서 일관성을 갖게 되면서 패션 플랫폼과 비즈니스에 대한 근본적인 고민과 해석도 하고 있다고 합니다. 단순히 판매량과 상품 조회만을 바탕으로 서비스를 배치하는 것에 대한 검토부터 이용자들이 서비스에 기대하는 이미지가 어떤 것인지에 대해서까지 데이터를 바탕으로 판단할 수 있게 됐습니다.
해외 시장 확장도 이뤄졌습니다. 해외에서 직구로 물건을 살 때는 국가별로 배송비와 관세, 판매 수량에 따른 제약 등 국내 판매와 다른 요소들이 있는데 이에 대한 노하우가 기존에는 시스템이 아니라 담당자들 개개인의 경험으로 적용되고 있었습니다. 이를 Cloud Run의 마이크로서비스로 적용하면서 자동으로 최적의 조건들이 계산되도록 했습니다. 놓치고 있던 중요한 무형의 자산이 시스템으로 반영될 수 있게 된 셈입니다.
캐치 패션은 직구 뿐 아니라 반대로 북미를 비롯한 해외에 서비스를 시작할 계획입니다. 분야도 명품 쇼핑 뿐 아니라 여행, 디지털, 건강 등으로 확장해 나가고 있습니다. 캐치패션은 명품 패션에 대한 특성을 지켜가면서도 경험을 라이프스타일 전반으로 넓히는 계획을 세우고 있습니다. 구글 클라우드와 Cloud Run은 국가와 지역 환경에 영향을 받지 않고 비즈니스에 대한 아이디어들을 모두 서비스로 녹여낼 수 있는 기반 환경이 되었습니다.
"전반적으로 개발 부서와 현업 사이에 중요한 일들의 판단과, 해당 서비스가 왜 필요한지에 대한 목표가 서로 공유되고 공감대가 만들어지고 있습니다. 현업과 개발 부서 사이의 신뢰가 단단해졌고 인프라의 운영부터 새로운 기능들까지 예측할 수 있는 흐름이 잡혔습니다."
어떤 어려움을 겪고 계신지 알려주세요. Google Cloud가 도와드리겠습니다.
문의하기Smile Ventures Catchfashion에 대하여
스마일벤처스가 운영하는 캐치패션은 글로벌 공식 파트너십을 기반으로 다양한 카테고리의 전세계 공식 명품 패션 상품을 유통하는 이커머스 플랫폼입니다. 안정적인 제휴를 통해 상품을 안정적으로 확보하고, 기술을 기반으로 고도화된 개인화 서비스를 구축해 합리적인 가격과 믿을 수 있는 온라인 명품 쇼핑 경험을 만들어가고 있습니다.