마이리얼트립 조성호 데이터플랫폼 팀장

마이리얼트립 조성호 데이터플랫폼 팀장
마이리얼트립 조성호 데이터플랫폼 팀장

[컴퓨터월드] 국내·외 항공권과 숙소, 여행상품 등을 예약하고 구매할 수 있는 여행 플랫폼 기업 ‘마이리얼트립(대표 이동건)’이 클라우드 기반 데이터 플랫폼을 고도화했다. 마이리얼트립은 사용자에게 데이터를 기반으로 향상된 여행 경험을 제공하고자 데이터 플랫폼을 구축했다. 더 나아가 운영과 비용 효율성을 확보하고자 아마존웹서비스(AWS)의 관리형 쿠버네티스(Kubernetes) 서비스인 ‘아마존 엘라스틱 쿠버네티스 서비스(Amazon EKS, Elastic Kubernetes Service)’를 적용해 데이터 플랫폼을 고도화했다. 마이리얼트립의 데이터 플랫폼 구축 여정과 데이터 플랫폼에 적용한 AWS의 서비스, 또 플랫폼을 기반으로 그리고 있는 비즈니스 청사진 등을 마이리얼트립 조성호 데이터플랫폼팀장과의 대담을 통해 들어봤다.


“항상 데이터가 흐르는 조직이어야 한다”

Q. 마이리얼트립에 대해 소개해달라.
2012년 설립된 마이리얼트립은 여행가이드 중개 서비스를 시작으로 비즈니스를 시작했다. 하나의 애플리케이션으로 여행과 관련된 모든 경험을 제공하고, ‘나만의 진짜 여행’을 경험할 수 있는 ‘트래블 슈퍼 앱(Travel Super APP)’을 목표로 비즈니스를 하고 있다. 우리가 제공하고 있는 ‘마이리얼트립’ 플랫폼은 국내·외 항공권과 숙소, 현지 투어와 액티비티 활동 등 다양한 여행 상품을 한 번에 탐색하고 예약할 수 있다. 현재 국내에서 유일하게 하나의 플랫폼에서 전 세계 모든 여행 상품을 탐색하고 예약할 수 있는 서비스다. 차별화된 강점을 바탕으로 2019년까지 매년 3배 이상 매출이 늘었고, 코로나19 기간 중 국내 여행 사업을 확장하며 올해 거래액 1조 원을 눈앞에 두고 있다.

Q. 마이리얼트립에서 정의하는 데이터 플랫폼은?
우리 회사에서 정의하는 데이터 플랫폼이란 ‘데이터가 흐르는 조직을 만들기 위한 기반’이다. 사실 데이터를 C레벨 혹은 경영진에서 활용하고자 하더라도 안정적으로 데이터 수급이 되지 않고, 그 데이터의 신뢰성을 보장하지 못한다면 단순히 ‘데이터만 사용하는 조직’이 된다. 우리는 데이터를 잘 흐르게 만들고 신뢰성을 확보하기 위해 데이터의 관리·감독의 중요성을 느꼈다. 이처럼 데이터가 잘 흐를 수 있는 기반이 바로 데이터 플랫폼이라고 정의할 수 있다.

Q. 데이터 플랫폼을 구축하려는 이유는.
마이리얼트립이 목표하고 있는 ‘데이터가 흐르는 조직’을 완성하기 위해서다. 이런 환경을 만들기 위해서 안정적인 데이터 플랫폼이 구축, 운영돼야 한다. 실제로 우리가 데이터 플랫폼을 구축한지 약 3년이 지났는데, 그간 장애가 없었으며 안정적으로 데이터를 제공하고 있다. 또한 세일즈(Sales), 마케팅(Marketing), 개발(Product), 재무계획 및 분석(FPNA, Financial planning and analysis) 등 영역별로 다양한 데이터 마트를 구축해 데이터를 통합했다. 또 이렇게 통합된 데이터를 각 부서에 전달해 의사 결정에 도움을 주고, 커뮤니케이션 비용을 최소화할 수 있게 됐다. 일례로 마케팅 효율을 위해 다양한 데이터 파이프라인을 통해 데이터를 수집·제공해 마케팅 효율도 높이고 있다. 단순히 데이터 분석 플랫폼을 넘어 다양한 데이터를 이용해 데이터 서비스 플랫폼도 구축했고, 이 서비스를 토대로 마이리얼트립 앱에 다양한 기능을 추가하고 있다.

Q. AWS 기반 데이터 플랫폼을 구축하기 전 문제점은 무엇이었는가.
사실 이전에 근무했던 기업과 비교했을 때 마이리얼트립은 규모가 작았기에 아쉬운 부분들이 많았다. 물론 데이터 플랫폼 팀이 없었기 때문에 어찌 보면 당연한 상황이었다. 회사 내 데이터 분석가들이 알음알음 솔루션을 찾아 데이터 플랫폼을 구축해 이용하고 있었다.

하지만 기존 마이리얼트립의 IT 환경은 가장 기본적인 분석을 위한 플랫폼의 데이터 수급에 이슈가 있었다. 또 이슈를 해결하기 위해 항상 운영 리소스를 투입하고 있었다. 이로 인해 데이터에 대한 신뢰도는 지속적으로 하락하고 있었고, 데이터를 사용하는 사람마다 서로 다른 기준으로 데이터를 바라보고 있었다. 아울러 축적된 로그를 분석할 수 있는 플랫폼이 없어 서비스 운영에 대한 지표를 볼 수도 없었고, 항상 직원의 직감에 의존해 서비스를 기획했다. 지속적인 측정과 측정값을 토대로 개선하지 못해 데이터를 기반한 의사 결정과 전략을 세울 수 없었던 상황이었다.

아울러 데이터에 대한 모니터링이 없어 품질 확인도 원활하지 못했다. 가령, 어제 배치 작업이 제대로 구동했는지도 확인하기 힘든 상황이었고, 필요한 데이터 테이블도 옮기기 어려웠다. 결국은 에러가 날 수밖에 없는 환경이었다. 에러가 난 지점을 찾기도 어려웠고 개선 방향을 수립하기도 어려웠다.

Q. 비즈니스 초기 클라우드를 사용했는가.
비즈니스 초기에는 AWS의 클라우드를 사용하지는 않았다. 당시에는 온프레미스 환경이었다. 온프레미스 기반에서 ‘히로쿠(Hiroku)’라는 플랫폼을 사용해 작게나마 데이터 플랫폼을 구축해 운영하고 있었다. 다만 히로쿠는 상당히 작은 규모의 기업, 적은 양의 데이터를 운영하는 기업에 적합한 솔루션이다. 기업이 운영하는 플랫폼의 규모가 커지기 시작할 경우에는 많은 제약이 존재했다.

2019년 트래블 테크 기업으로의 변신을 선언한 이후 본격적으로 AWS 클라우드로 이전했다. 이 과정에서 마이크로서비스 아키텍처(MSA) 환경도 함께 구성했다. 이제 신규 서비스는 MSA 상에 구축하고 있다. 물론 MSA 구현 과정에서 ‘아마존 EC2’와 ‘아마존 ECS’를 활용했었고, ‘아마존 EKS’를 도입하면서 대부분 걷어낸 상황이다.

 마이리얼트립 조성호 데이터플랫폼팀장은 “데이터 플랫폼 구축에 정답은 없다. 하지만 현재 비즈니스에서 필요한 가장 적합한 플랫폼을 설계하고 모델을 개발해 가장 시급한 문제를 빠르게 해결하고 안정적으로 데이터를 제공하기 위해 신속성, 안정성, 신뢰성, 일관성, 확장성 등 5가지 원칙을 기준으로 플랫폼을 설계, 개발해야 한다”고 강조했다.
마이리얼트립 조성호 데이터플랫폼팀장은 “데이터 플랫폼 구축에 정답은 없다. 하지만 현재 비즈니스에서 필요한 가장 적합한 플랫폼을 설계하고 모델을 개발해 가장 시급한 문제를 빠르게 해결하고 안정적으로 데이터를 제공하기 위해 신속성, 안정성, 신뢰성, 일관성, 확장성 등 5가지 원칙을 기준으로 플랫폼을 설계, 개발해야 한다”고 강조했다.


“5가지 설계 원칙, AWS의 서비스로 뒷받침했다”

Q. 데이터 플랫폼 구축 과정에서 AWS의 어떠한 서비스를 도입했고, 각 단계별 구축 과정의 핵심은 무엇인가.
마이리얼트립은 모든 데이터 처리 파이프라인 솔루션을 ‘아마존 EKS’ 환경에서 배포·운영하고 있다. 가장 핵심적인 AWS의 서비스는 ‘아마존 EKS’라고 할 수 있다. 아울러 여기에 더해 드루이드(Druid), 에어플로우(Airflow) 등 다양한 오픈소스에서 제공하는 헬름(helm)을 기반으로 애플리케이션 환경에 맞게 수정해 배포·운영하고 있다. 이러한 ‘아마존 EKS’의 구성 요소들을 관리하고 배포하기 위해서는 디플로이먼트(deployment), 서비스(service), 파드(pods) 등 매니패스트(Manifest) 파일을 구성, 실행해야 한다. 하지만 이러한 파일들은 계속해서 변경되기 때문에 지속적인 관리 및 배포가 필요하다.

 마이리얼트립의 데이터 플랫폼 아키텍처
마이리얼트립의 데이터 플랫폼 아키텍처

만약 실제 배포 환경과 깃에 정보가 서로 다르게 되면 장애가 발생했을 때 대응이 어렵고 전체 배포 환경을 추적해야 하는 일이 발생할 수도 있다. 따라서 깃 레포지토리(Git Repository) 상태 그대로 배포 환경에 적용하게 해주는 ‘아르고(Argo) CD’를 이용해 ‘깃포스(gitpos)’를 적용, 운영하고 있다.

마이리얼트립이 ‘아마존 EKS’를 활용해 개발한 데이터 플랫폼은 3가지의 하위 플랫폼으로 구성돼있다. 이 중 서비스 플랫폼은 먼저 배치를 통한 ‘분석 플랫폼’을 구축하기 위해서 아마존 EKS에 에어플로우 워크스페이스(Airflow workspace), 워커 워크스페이스(Worker Workspace)로 구성된 에어플로우를 배포했다. 또 관계형 데이터베이스 서비스(RDS)와 네이버, 카카오, 페이스북, 구글, 앱스플라이어(Appsflyer) 등 외부 플랫폼 데이터, 사용자 로그 등 다양한 소스 데이터를 배치 작업 하루 전 수집 및 집계하고 있다.

다음으로는 로그 플랫폼이다. 로그 플랫폼은 1차적으로 전체 데이터를 수집하는 메시지큐 서비스 ‘아마존 MSK(Amazon Managed Streaming for Apache Kafka)’를 활용해 사용자가 웹과 앱에서 활동하며 발생한 로그를 전송하는 플랫폼이다. 전송된 데이터를 아파치(Apache) Nifi로 스트림(Stream) ETL 처리해 분석 플랫폼으로 전송하고 있다.

아울러 로그 플랫폼의 경우 로그를 관리하기 위해 자체적으로 개발한 툴인 ‘로그마스터’를 통해서 로그 메타를 관리하고 있다. 로그의 개발 프로세스 관리에 용이하다. 사용자로부터 얻은 로그 데이터는 사용자가 최적의 여행 상품을 선택할 수 있도록 다양한 추천, 개인화에 사용되고 있으며, 서비스의 개선을 위한 측정 및 데이터 기반의 다양한 콘텐츠로도 활용되고 있다.

세 번째로는 체인지 데이터 캡처(CDC, Change Data Capture) 플랫폼이다. 이 플랫폼은 데이터를 실시간으로 분석 플랫폼에 전달하는 역할을 한다. mySQL, 오라클, 포스트그레스QL 등 RDS에서 추출한 원본 데이터를 데비지움(Debezium) 커넥터로 ‘아마존 MSK’에 전송하고 있다. 이렇게 전송된 데이터를 다시 ‘카프카 싱크 커넥터(Kafka sink Connect)’를 통해 분석 플랫폼으로 실시간 전송하고 있다.

또 각각의 플랫폼은 프로메테우스(Prometheus), 그라파나(Grafana)를 기반으로 매트릭 기반 모니터링이 되고 있다. 애플리케이션에 대한 문제 해결을 위한 로그 모니터링은 ‘AWS 클라우드워치(cloudwatch)’를 사용하고 있다. 마지막으로 이 2가지 모니터링 모두 슬랙과 연결해 알람을 받고 있다.

Q. 기술적인 역량이 높은 것으로 이해된다. 그렇게 자신할 수 있는 근거는 무엇인가.
단적으로 클라우드 관리 서비스 제공사(MSP)의 도움을 거의 받지 않았다. 우리가 AWS로 전면 전환하는 과정에서 선정한 MSP는 메가존클라우드다. 메가존클라우드의 기술 전문성이 상당히 높았다. 하지만 그에 걸맞게 마이리얼트립의 데이터 플랫폼팀과 엔지니어팀, 개발팀의 기술 역량도 높다. 이미 자체적으로 히로쿠라는 서비스를 활용해 데이터 플랫폼을 구축했고, 데이터 분석가들의 개개인 역량으로 C레벨 및 경영진에게 데이터를 전달하고 있었다. 데이터 관리 및 전달 체계는 미흡했지만, 데이터와 클라우드 서비스에 대한 기술력은 높은 수준이다. 물론 쿠버네티스의 경우 네트워크에 대한 설정 부분에서 어려움을 겪었다. 하지만 AWS의 기술 직원들의 적극적인 지원을 통해 상당히 빠른 시간 안에 ‘아마존 EKS’ 환경을 설정하고 배포할 수 있는 환경을 구성해 운영할 수 있었다.

Q. 데이터 플랫폼 구축 과정에서 어떠한 부분에 역점을 뒀는가.
마이리얼트립의 데이터 플랫폼은 신속성, 안정성, 신뢰성, 일관성, 확장성이라는 5가지 설계원칙을 만들고 이를 충족할 수 있는 데이터 플랫폼을 구축하고자 했다. 설계 원칙을 지키기 위해서 도입 전에 항상 여러 솔루션들을 테스트했고, 다양한 모니터링 장치들을 만들었으며, 데이터 품질(DQ, Data Quality)을 측정해 데이터의 신뢰성을 높이고, 데이터 탐색을 용이하게 하기 위해 데이터 디스커버리 솔루션인 ‘데이터허브(Datahub)’을 도입했다. 이 외에도 데이터를 재가공해 마이리얼트립 서비스에 다양한 기능들을 제공할 수 있는 플랫폼을 구축했으며, 항공 특가 일정 및 차트와 상품의 통계 데이터 제공을 통해 고객들이 데이터를 기반으로 나만의 진짜 여행을 만들 수 있도록 지원하고 있다.

데이터 플랫폼 구축에 정답은 없다. 하지만 현재 비즈니스에서 필요한 가장 적합한 플랫폼을 설계하고 모델을 개발해 가장 시급한 문제를 빠르게 해결하고 안정적으로 데이터를 제공하기 위해 앞서 언급한 5가지 원칙에 집중해 설계 및 개발해야 한다.

 마이리얼트립의 데이터 플랫폼 히스토리
마이리얼트립의 데이터 플랫폼 히스토리

Q. 데이터 플랫폼을 구축함으로써 기대효과를 달성했다고 평가하는가. 달성했다면 어떠한 효과가 있었는가.
기대효과를 충분히 달성했다고 생각한다. 먼저 ‘운영의 안정성 확보’, ‘운영 리소스 절감에 따른 비용 감소’가 기대효과였다. 먼저 운영의 안정성은 확실하게 확보했다. 오토스케일링과 서버 다운됐을 때의 자동 복구 등의 작업을 ‘아마존 EKS’가 자동으로 지원하기에 운영 안정성이 높아졌다.

다음으로 불필요한 리소스를 삭제해 비용을 절감할 수 있었다. 물론 ‘아마존 EKS’로 간다고 비용이 줄지는 않는다. 잘못 설계하면 비용은 오히려 늘어난다. 앞서 언급한 5가지 원칙을 기반으로 ‘아마존 EKS’로 전환한 결과 ‘아마존 EC2’와 비교하면 컴퓨팅 자원이 30% 이상 줄었다. 또한 운영과 배포할 때 발생하는 자원도 깃포스 기반으로 싱크를 맞추니 줄었다.

이 외에도 전 직원이 자유롭게 데이터를 조회하고, 다양한 리포트(Report)와 대시보드(Dashboard)를 직접 개발하고 있다. 안정적인 데이터 수집과 통합을 통해 영업, 마케팅, 개발 등 전 부서에서 만족하며 사용하는 데이터 플랫폼이 됐다.

Q. 비용 측면에서 AWS의 할인 프로그램도 활용했는가.
AWS의 다양한 할인 프로그램도 활용했다. 대표적으로 RI(Reserve Instance)를 활용하고 있다. 현재 플랫폼의 개별 기능이 구동되는 노드를 기준으로 RI 계약을 맺어 비용 할인을 받고 있다. 실제로 RI를 활용하면서 약 30% 정도 비용을 절감할 수 있었다.


“잘 갖춰진 AWS 완전 관리형 서비스 활용도 고려해야”

Q. 향후 추가 도입을 고려하는 클라우드 서비스가 있는가.
2023년에는 사용자에게 제공하는 개인화 추천 서비스를 정교화할 예정이다. 이를 위해 내부적으로 AMD CPU 기반 ‘아마존 EC2’를 테스트해보려고 한다. 최근 ‘아마존 EC2’가 AMD 전용으로도 출시될 것으로 보인다. 또 이 경우 가격이 저렴해 테스트해보고 안정적이라면 AMD CPU 기반 ‘아마존 EC2’로 교체할 예정이다. 아울러 AWS의 머신러닝 서비스인 ‘세이지메이커(SageMaker)’도 고려 중이다.

Q. 마이리얼트립의 경우 기술 전문성이 높기에 큰 어려움 없이 데이터 플랫폼을 구축한 것으로 이해된다. 그렇다면 전문성이 부족한 기업이 데이터 플랫폼을 구축할 때 어떠한 조언을 할 수 있겠는가.
AWS의 클라우드를 고려한다면, AWS 전문가의 힘을 빌리는 것을 추천한다. AWS 클라우드는 데이터팀이 짧은 시간과 적은 리소스로 복잡하고 어려운 시스템을 운영·개발할 수 있도록 지원해준다. 또한 ‘아마존 EKS’, ‘아마존 MSK’, ‘클라우드워치’ 등 AWS가 개발한 다양한 완전 관리형 서비스를 이용하면 구축·운영 리소스를 대폭 줄일 수 있다. 초기 AWS 서비스는 안정성이 조금은 부족했지만, 현재 운영되고 있는 AWS의 다양한 서비스는 매우 안정적으로 서비스되고 있기 때문에 믿고 쓸 수 있다. 데이터 엔지니어가 귀한 이 시대에 AWS는 기업이 직면한 다양한 비즈니스 이슈를 빠르게 해결할 수 있게 도와준다.

아울러 내부적으로 기술 전문성이 있다고 판단할 경우 직접 데이터 분석 플랫폼을 만들고 여러 서비스를 결합할 것이다. 이때 빅데이터를 처리하기 위한 부분을 포함해 여러 앱을 쿠버네티스로 구현하는 것을 권한다. 실제로 운영·관리 측면에서 효율적이다. 클라우드를 사용하는 상당수의 스타트업은 이미 쿠버네티스를 사용하고 있거나, 도입하고 있는 것으로 알고 있다.

Q. 데이터팀을 보유한 조직에게 하고 싶은 말이 있다면.
데이터팀은 회사에 정말 많은 기여를 할 수 있는 핵심 기술 조직이다. 회사의 성장과 비즈니스 확대를 위해서는 데이터 기반의 의사결정과 전략이 필요하다. 데이터가 부족하고, 데이터 신뢰도가 떨어지는 기업은 경쟁에서 뒤처질 수밖에 없다. 이를 달리 말하면 풍부하고 신뢰성 있는 데이터를 기반으로 한 콘텐츠와 기능은 고객들에게 다양한 가치를 줄 수 있다. 기업의 모든 데이터를 수집·처리·관리하는 데이터팀에서는 다양한 도전을 통해 혁신을 만들어 나간다면 생각하지도 못한 다양한 일들을 할 수 있다. 이 부분을 알아줬으면 한다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지