모바일 개발자, 이제 CDN 고민하라

일반입력 :2013/12/29 14:56    수정: 2013/12/29 16:58

스마트폰과 태블릿 확산으로 웹환경의 무게중심이 모바일로 넘어가고 있는 가운데, 콘텐츠 기반 모바일앱이나 웹서비스를 만드는 개발자들도 이래저래 챙겨야할 것들이 늘었다.

특히 서비스 규모가 커지더라도 빠르고 안정감있는 사용자 경험(UX)을 유지하는 것이 숙제로 떠올랐다.

특히 모바일이라는 특성을 감안하면 이용자가 느끼는 체감속도를 빠르게 유지하는 것이 대단히 중요해졌다.속도가 느리면 사용자는 웹페이지와 앱에서 떠날 가능성이 높다. 월마트 분석에 따르면, 웹페이지 접속속도가 1초 느려질 때마다 7%의 매출이 감소하고, 페이지뷰는 11% 감소하는 것으로 나타났다. 인터넷 접속속도가 매출을 결정짓는다는 얘기다.

이에 대해 비제이 콜리 아카마이 웹 경험 부문 수석 제품 매니저는 “모바일은 데이터 사용량을 늘리는 것과 더불어 웹과 사용자의 상호작용 방식 자체를 바꿨다”라며 “사람들은 전보다 훨씬 더 많이 인터넷을 사용하는데 경험에 대한 기대수준은 데스크톱이나 모바일이 크게 다르지 않다”고 말했다. 모바일도 초고속 인터넷급 속도를 기대한다는 얘기다.

그러나 모바일 네트워크는 유선망에 비해 느린게 현실이다. LTE 이후 속도가 개선되고 있지만 그게 전부는 아니다.

모바일 사용자 증가는 역설적으로 모바일 인터넷 환경의 품질 저하를 초래한다. 사용자와 접속 기기 증가를 언제까지고 버텨낼 만큼 용량이 여유롭지 않은 탓이다. 사람이 많이 몰릴수록 만족스러운 LTE 속도는 포기해야 한다. 몰리는 지점이 어딘지도 명확히 구분하기 어렵다.

비제이 콜리 매니저는 “모바일 네트워크는 2G, 3G, LTE, 와이파이 등으로 다양하고, 네트워크 종류별로 대역폭과 지연시간도 다르다”며 “LTE가 많이 개선됐지만 지연시간이 여전히 길고 체증현상과 패킷손실 문제도 더 많이 발생한다”라고 말했다.

망 종류와 성능의 다양성 뿐만 아니라 네트워크를 이용하는 매체도 다르다. 안드로이드는 기기들마다 화면크기부터 탑재된 CPU, 메모리 사양이 제각각이다. 모바일 웹브라우저도 유선 인터넷 시대를 지배한 인터넷익스플로러(IE) 독점에서 탈피해 크롬, 사파리, 각종 OEM 브라우저 등으로 다양해졌다.

콜리 매니저는 “모바일 브라우저 가운데 압도적인 시장점유율 가진 브라우저가 전무한 상태다”라며 “그러므로 콘텐츠를 제공하는 기업은 어떤 기기를 쓰든, 어떤 브라우저를 쓰든 동일하게 접근하도록 만전을 기해야 하는 상황이다”고 설명했다. 이에 “모바일 개발자들과 콘텐츠 제공자들은 어떻게 사용자 경험을 높일 것인가의 차원에서 CDN을 중요하게 고려해야 한다”라며 “다양한 요구사항과 사용 시나리오 별로 적절하게 대응하려면 CDN이 필요하다”고 강조했다.

전통적인 유선 환경에서 CDN은 캐싱을 기본으로 한다. 기존 CDN업체들은 이동통신사, 이동통신기지국업체와 협력해 기지국 단에 자주 사용되는 콘텐츠를 미리 가져다 놓는다.

그러나 모바일 환경에서 안정적이고 빠른 콘텐츠 이용경험을 보장하려면 캐싱만으로는 부족하다. 모바일 CDN은 캐싱보다 최적화란 성격을 갖는다.

모바일 CDN은 크게 네트워크, 프로토콜, 애플리케이션, 단말기 단 4개 계층에 걸쳐 이뤄진다. 아카마이의 경우 TCP최적화, 공유라우트, 콘텐츠 가속 등을 캐싱과 함께 기본 제공한다. 여기에 네트워크나 기기에 대한 이해에 기반해 콘텐츠 자체를 최적화하고, 이용현황분석을 통해 콘텐츠서비스 당사자의 최적화를 돕는다. 이걸 두고 아카마이는 인텔리전스를 제공한다고 표현한다. 그는 “아카마이가 보유한 인텔리전스 중 대표적인 게 기기별 특징을 파악하는 것으로, 그 기기의 사양과 지원하는 기능 역량 등의 정보를 취합해 DB로 보유한다”라며 “그 정보를 고객사에 제공해 그들 나름대로 적합한 형태로 처리하도록 도와준다”고 말했다.

모바일 CDN의 또 다른 기능은 적응형 이미지 압축이다. 네트워크 상태에 따라 이미지 화질을 달리해 전송하는 것이다. 이용자의 네트워크 상태가 좋다면 최고화질의 이미지로 보내고, 사용량 몰리는 네트워크라면 압축한뒤 화질을 낮춰 보낸다.

웹 프로그래밍 언어인 자바스크립트를 최적화하는 기능도 있다. 콜리 매니저는 모바일에 맞게 자바스크립트를 최적화해 전송한다라며 모바일 네트워크는 지연시간이 더 길기 때문에 수시로 들어오는 접속 요청에 그때그때 모든 걸 보내는 게 아니라 하나로 묶어 한번에 보냄으로써 레이턴시를 피해가는 방법을 취하기도 한다”고 설명했다.

아카마이 같은 CDN제공업체의 서비스 외에도 개발자가 앱이나 웹을 개발하는 단계에서 고민해 봐야할 기술도 등장하고 있다. 구글이 만든 HTTP 프로토콜의 대안인 SPDY가 대표적이다. HTTP 스펙을 변경해 만든 SPDY는 기존 HTTP 대비 23~43% 빠른 접속속도를 보이는 것으로 알려져 있다. 특히 모바일 네트워크에서 지연시간을 30% 단축시켜주는 것으로 나타났다.

사용자 단말기 단의 처리영역인 TCP에 대한 부분이므로 SPDY를 이용하려면 앱이나 브라우저에서, 그리고 서비스 제공자 웹서버에서 이를 지원해야 한다. 현재 구글이 크롬 브라우저에서 SPDY를 지원하고 있다. 파이어폭스, 오페라, MS 인터넷익스플로러(IE)11 등도 SPDY를 지원한다. 페이스북, 트위터도 자사 서비스에서 SPDY를 지원한다.

최근 트위터는 트위터API를 사용하는 서비스에 SPDY를 적용할 경우 속도가 눈에 띄게 증가한다고 밝히며 SPDY를 쉽게 적용할 수 있는 SW ’코코아SPDY’를 내놓기도 했다.

휴대폰용 칩셋 제조업체 차원의 움직임도 눈에 띈다. 퀄컴이 제공하는 ‘셔터(SHUTR)’란 프로토콜도 그중 하나다. 아카마이와 퀄컴이 수년간 협력해 개발한 ‘셔터’는 사용자의 웹 요청에 붙는 헤더 정보를 줄여 이용속도를 높인다. 셔터는 현재 퀄컴 스냅드래곤 플랫폼을 탑재한 스마트폰에 적용됐다.

콜리 매니저는 “사용자의 접속요청 시 트래픽 헤더에 쿠키 같은 다양한 정보를 담아 보내게 된다”라며 “그런데 네트워크는 일반적으로 다운스트림에 비해 업스트림 대역폭이 좁아 헤더에 많은 정보를 담게 되면 네트워크 성능이 저하된다”라고 설명했다.

그는 “사용자 기기와 서비스 웹서버 모두가 동일한 사전 같은 걸 갖고 있어서, 단말기는 어떤 요청을 보낼 때 헤더 정보를 단순한 기호로 바꿔 서버 쪽으로 보내고 받는 쪽 엔드포인트 시스템이 사전의 정의를 참조해 기호를 해독한 뒤 요청을 콘텐츠 서버로 전송한다”라며 “모바일 네트워크의 지연을 발생시키는 주요인 업링크 대역폭 소비를 줄이는 것”이라고 덧붙였다.

그는 모바일과 유선망에서 CDN의 차이점을 두가지로 요약했다. 기기와 브라우저의 다양성을 모두 원활히 지원해야 한다는 점, 모바일 네트워크가 사용자와 서비스 제공자 사이에 거쳐야할 단계가 더 길기 떄문에 지연시간이 늘어나고, 네트워크 안정성이 유동적이란 점 등이다.

그는 “개발자들은 CDN에 대해 관심을 가져야 하지만 잘 모르거나, 간과할 수 있다”라며 개발자들이 제공하고 싶은 서비스 수준을 인식하고 최종사용자에게 어떤 경험을 제공해야 하는가에 대한 명확한 그림을 그려야 한다고 조언하고 싶다고 말했다.

관련기사

또 “개발자가 네트워크와 기기 종류를 일일이 신경쓸 필요는 없는 대신 고객이 원하는 UX를 제공하기 위해 지켜야 할 매개변수의 그림들를 인지하고 있어야 한다”라며 “그에 맞는 그림만 분명하면 관련된 기술과 정보는 CDN에서 고객에게 전달해준다”라고 강조했다.

아카마이 같은 대형 CDN업체 서비스라 해서 소규모 벤처기업이나 스타트업이 꺼릴 필요는 없다. 그는 “수많은 미국 실리콘밸리의 스타트업이 아카마이 모바일CDN을 이용하고 있다”라며 “다양한 가격체계로 기업 규모에 맞는 솔루션을 제공하고, 스타트업을 돕기 위한 외부의 프로그램과도 활발히 공조하고 있으니 망설이지 말아달라”고 당부했다.