‘이식성이 거래 좌우할 수도...’ 틱톡이 전하는 ‘신선한’ 교훈

InfoWorld
‘틱톡’으로부터 깨달을 수 있는 교훈은 무엇일까? 소비자 데이터를 가진 인기 소셜 네트워크의 가치가 그야말로 어마어마하다는 것일까? 사실이기는 하지만 교훈은 또 있다. 애플리케이션을 유연하면서 이식이 기능하게 디자인해야 한다는 교훈이다. 

마이크로소프트이든 오라클이든, 틱톡을 인수하는 회사가 직면할 도전과제 중 하나는 중국 밖에서 인수 과정에 그 가치를 파괴하지 않고 기술 인프라와 데이터를 분할하는 방법이 될 것이다. 애초 미국 정부가 중국이 이 앱을 통해 미국 국민들에 대한 ‘스파이 행위’를 하는 것을 차단하고자 했기에 이번 거래가 촉발됐다. 백엔드에서 얽힌 데이터와 애플리케이션 코드를 풀어야 할 필요성이 함께 제기되는 셈이다.

틱톡을 소유한 회사인 바이트댄스(ByteDance)는 중국 내에서만 이용할 수 있는 더우인(Douyin)이라는 유사한 앱을 운영하고 있다. 그런데 이들 두 앱이 사용자 데이터, 서버 코드, 사용자가 볼 콘텐츠와 광고를 결정하는 알고리즘 같은 기술적 리소스를 공유하는 것으로 알려져 있다. 즉 바이트댄스는 주어진 짧은 시간에 이런 요소들을 분리해야 한다. 이를 효과적으로 해내는 능력이 인수 후보자가 지불할 인수 금액에 요소로 반영될 전망이다. 더 나아가 거래가 성사될지 여부를 결정할 수도 있다.

여기에 다른 기업들이 배울 교훈들이 있다. 전략적인 이유에서 제품이나 기업의 사업 부문을 매각, 분할, 분리하는 경우가 많다. 그런데 ‘이런 자산들이 어떻게 설계되어 있는지’가 가치에, 또 ‘얼마나 수월하게 매각을 할 수 있는지’에 영향을 줄 수도 있다.

거대한 모놀리식 애플리케이션을 만들던 시대는 오래 전에 저물었다. 대부분의 새로운 앱들은 이제 필요에 따라 축소 및 확장할 수 있고, 독립적으로 업데이트할 수 있는 작은 마이크로서비스를 이용해 클라우드에서 개발된다. 새 기능을 신속히 도입하거나 추가할 때 도움이 된다. 그러나 오픈 표준과 기술들을 이용해 세심히 설계 및 고안을 하지 않은 경우, 분리가 아주 어려울 수 있다.

고려해야 할 3가지 주요 요소들이 있다. 클라우드 인프라, 애플리케이션 코드, 데이터가 여기에 해당된다. 이 3가지 요소를 필요할 때 깨끗이 분리할 수 있을 정도로 유연하게, 또 이식 가능하게 설계하는 방법을 소개한다. 
 
 Pretzelpaws (CC BY-SA 3.0) 

‘클라우드 중립’을 유지
대부분 비즈니스는 특정 클라우드 공급업체를 선호한다. 그런데 획득한 앱을 다른 서비스로 마이그레이션 해야 할 필요성이 있을 수도 있다. 틱톡의 경우, 바이트댄스는 최근 구글 클라우드에서 앱을 운영하기 위해 구글과 8억 달러 상당의 계약을 체결했다. 마이크로소프트나 오라클은 수익을 창출하기 위해 가능한 빨리 자신의 클라우드로 앱을 옮기기 원할 것이다. 

특정 클라우드에 ‘록인’이 되는 주된 이유 중 하나는 아마존 레드시프트나 구글 클라우드 빅 테이블 같은 고수준의 관리형 서비스를 사용하기 때문이다. 배포는 쉽지만, 고객들을 사유 독점 기술에 묶어 두는 서비스로 악명 높은 서비스이다. 심지어 몽고DB와 일래스틱서치 같은 인기 오픈소스의 관리형 버전도 클라우드 공급업체에 따라 미묘한 차이가 있기 때문에 필요할 때 앱을 이식하기 힘들 수 있다.

아키텍처 측면에서 결정을 내릴 때, 퍼블릭 클라우드를 토대가 아닌 하나의 인프라 서비스로 생각해야 한다. 틱톡 같은 앱을 만든다면, 특정 퍼블릭 클라우드에 특정적이지 않은 서비스를 선택해야 한다. 또한 특정 공급업체에 ‘올인’을 하면서 선택지를 제한하는 일이 없어야 한다.

모듈형 앱, 이식 가능한 앱
애플리케이션을 마이크로서비스로 개발해야 하며, 이 때 널리 사용되는 도커 같은 ‘표준’을 기반으로 컨테이너에 배포해야 한다. 컨테이너는 앱 실행에 필요한 모든 것을 묶어 실행을 한다. 애플리케이션 코드, 종속성, 구성 파일 등을 예로 들 수 있다. 이는 앱을 다른 클라우드나 하드웨어 플랫폼으로 더욱 쉽게 옮기거나 복사할 수 있도록 도와준다.

컨테이너화 된 앱은 기본적으로 모듈형 앱이다. 필요한 경우, 독립적으로 각 애플리케이션 서비스를 처리할 수 있다. 예를 들어, 보안 서비스를 다시 쓰는 동안 사용자 인터페이스 코드를 복사할 수 있다. 또는 앱의 특정 기능을 판매하고, 다른 부분은 그대로 유지할 수 있다. 현지 시장의 니즈에 따라, 국가나 지역 별로 알고리즘을 업데이트할 수도 있다.

데이터를 독립적으로 유지
바이트댄스는 전세계적으로 많은 사용자 데이터를 보유하고 있다. 미국이 프라이버시와 보안을 우려하고 있다는 점을 감안했을 때, 해외 사용자와 관련된 데이터를 분리해야 한다. 또 거래가 체결된 후 바이트댄스가 이런 정보에 액세스할 수 없도록 만들어야 한다. 

매각 시 데이터 관리의 출발점은 백업을 포함, 모든 데이터에 대해 위치한 장소를 파악하는 것이다. 운영 국가나 지역 별로 분리되도록 데이터를 구조화 및 설계해야 한다. GDPR이나 국가에 특정적인 데이터 법을 준수해야 하는 경우 도움이 되는 방법이다. 뿐만 아니라 인수나 매각을 할 때 반드시 필요한 부분이 될 수도 있다.

또한, 데이터가 기반이 되는 스토리지 시스템에 ‘하드 와이어드’ 방식으로 탑재되어서는 안 된다. 쿠버네티스와 컨테이너 같은 클라우드 네이티브 기술을 이용하면, 데이터를 어느 장소에나 보관할 수 있고, 필요에 따라 앱을 연결할 수 있다. 인수나 매각 시, 스토리지 하드웨어에서 분리하거나 애플리케이션을 다시 쓰지 않고도 다른 클라우드, 데이터센터, 지역으로 데이터를 옮길 수 있다. 간단히 말해, 데이터의 이식성을 아주 높은 수준으로 유지해야 한다. 다행히 이를 도와주는 표준 기반의 클라우드 기술들이 존재한다.

누가 틱톡을 인수할지 아직 모른다. 그러나 이 거래는 수익성이 아주 높은 거래가 될 수도 있다. 페이스북은 인스타그램 인수에 10억 달러를 투자했는데, 이 서비스를 통해 지난해 창출한 광고 매출은 200억 달러에 달한다. 틱톡은 약 8,000만 명의 미국 사용자를 보유하고 있으며, 사용자 수가 여전히 빠른 속도로 증가하고 있다. 그러나 데이터와 애플리케이션을 백엔드에서 분리해야 하면 거래가 아주 복잡해질 수 있다. 인프라를 설계하는 방법이 인수나 매각 시 아주 큰 영향을 줄 수 있다.

이번 거래가 교훈이 되어야 한다. 최대한 유연해지도록 설계를 해야 한다. 미래에 어떤 일이 일어날지 모르기 때문이다. ciokr@idg.co.kr