안드로이드 폰을 쓰시는 분들이 가장 많이 사용하는 어플이 무어냐 물으신다면 '카카오톡' 혹은 '마이피플'이라고 답해드리겠어요. 무료 문자메시지&통화에 혹~해서 쓰시는 분들이 대부분일텐데 이게 저렴하다는 장점(데이터를 사용하니 엄연히 따져서 무료는 아니죠)이 있는 반면에 분명 단점도 존재합니다. 그 중 대표적인게 배터리의 조루증상이죠.

아이폰과는 다르게 안드로이드 폰의 대다수 메시지(=메신저) 어플은 폴링 방식, 그러니까 메모리에 상주하면서 일정시간마다 메시지를 체크하는 방식을 채용하고 있기 때문에 배터리가 혹사당하게 되고 그로 인해서 박대리(!?)의 조루증상이 발생하게 됩니다.

카카오톡이 푸쉬네 폴링이네 말들이 많기에 검색한걸 알아둬야할 정보를 담아옵니다.


카카오톡은 푸시가아닙니다..
보통메시징어플에 쓰이는방식이 주로두가지인데 하나는 push, 둘째가polling이죵

푸시는쉽게이해하자면 문자메세지같은방식이랍니다~
새로운정보가들어오면 밀어내듯[push]업데이트를시켜주는것이죠..
제가알기로는 안드로이드기본어플[gmail, gtalk]에 내장된기술이고 pingchat 이란 어플도 push서버를운영하고있는거같더군요..

사용자입장으로봤을땐 후자에비해서 데이터소비가 적어서 유리합니다
하지만 운영하는사람입장으론 서버개발,관리가 꽤힘둘다는단점이있죠

그리고 두번째로언급한 polling..
이건 음.. 새로고침[refresh]하여 정보를받아온다고 생각하면됩니당

사용자가느끼기엔 업데이트가 푸시에비해느리고, 만약 갱신된데이터가없어도 주기적으로 서버에접속해야하기에 상대적으로 데이터소비량이많죠

반면 운영자입장으론 구현이쉽고 운영도 상대적으로 간편합니다
그렇지만 사용자가많아질수록, 갱신주기를짧게할수록 서버부하가 걸리게되는단점도있죠 [이걸 나쁘게응용한것이 ddos..]


사용자 삽입 이미지

Real Time 서비스가 중요해지고 Communication은 더욱 Instant 해지고 있다. 스마트폰 보급이 늘어나면서 이러한 서비스 트렌드를 Push Notification 기술이 완벽하게 뒷받침해주고 있다. 블랙베리를 통해 Push의 시장성이 증명 되었으며 iOS의 APNS를 통해 빠르게 대중화 되었다. 

Apple은 APNS를 통해 실세계에 있는 사용자를 가상 세계로 유입할 수 있게 지원했다. SNS, SNG, MIM등은 Push를 통해서만 생존할 수 있는 서비스 영역이다. 최근에는 많은 서비스들이 APN을 사용하고 있으며 아무리 돈 많은 Apple 이라고 하더라도 무료로 지원되는 APN 서버을 무작정 늘리는 것은 난감한 일이다. 덕분에 최근 iPhone에서 Push가 늦게 온다는 이야기를 종종 들을 수 있다.


Android의 Push 지원

이상하게도 세계 최고 기업인 Google이 중심이 되어 개발된 Android는 Push 서비스를 지원하지 않는다. 프로요 이상에서는 C2DM(Cloud to Device Messaging)을 지원하고 에서 OTA 기술을 활용해 앱설치까지 가능한 것을 보면 기술적인 문제가 아니라는 것을 알 수 있다. 단순하게 플랫폼 접근 철학이 다르기 때문이다.

하나의 영리기업에서 개발한 iOS와 표면적(!!!)으로는 Open Source를 표방하는 Android는 여러가지 면에서 다를 수 밖에 없다. Android가 Google 것이 아닌 모두의 것이라고 만천하에 이야기를 해 놓았으니 운영 비용이 높은 Push 서버를 유지해야 할 이유가 없는 것이다. 또한 App의 발전보다는 Web 트래픽을 높여야 하는 Google이 Push를 지원하지 않는 것은 당연하다.

사용자 삽입 이미지

Push를 지원하지 않는다는 개발자들의 불만이 많아지자 Google은 프로요에 C2DM을 적용한다. 하지만 APN과 같은 개방형은 아니며 Google 계정이 설정된 단말에서만 사용할 수 있게 제한을 둔다. Google의 시장 점유율이 절대적인 북미나 유럽에서는 큰 문제는 없어보이지만 Google이 아직까지는 낯선 사용자가 대부분인 국내에서는 C2DM만을 의지할 수 없는 것이다.

일부 통신사에서는 SMS를 변형하여 Push를 구현하기도 하지만 이는 TID가 지정된 특정 App만 가능하다. 제조사들도 동일한 노력을 계속해 왔지만 뚜렷한 해결책을 아직 찾지 못한 상태이다. 결국 서비스 개발자들이 주기적으로 Keep Alive를 하는 폴링 방식으로 Push를 대체하는 것이 Android 플랫폼의 현재이다.


사용자 삽입 이미지
카카오톡 차단설

한 언론사의 기사를 시작으로 '이통사의 카카오톡 차단설'이 지난 한주 인터넷 업계를 떠들석 하게 하고 있다. 평소에 통신사에 대한 시선이 곱지 않은 네티즌들은 흥분하였고 빅마우스들의 블로그와 트위터는 뜨거워졌다. 각 통신사 대표가 사실 무근임을 밝혔지만 논란은 아직도 끝나지 않은 듯 하다.

카카오톡 사건은 차단을 검토한다 -> 차단하려고 한다 -> 무슨 권리로 차단을? -> 실제 사용 트래픽은 많지 않다 -> 상생으로 해결하자 -> 저널리즘이 문제이다 라는 다소 드라마틱한 상황으로 흘러가고 있다. 이번 문제를 진실게임으로 접근하거나 대기업과 벤처의 힘겨루기로 이해하는 것은 위험하다. 중요한 것은 서비스 사업자의 책임 영역에 대한 정의와 기술적인 해결책을 찾는 것이다.


카카오톡이 발생하는 트래픽

위에서 설명했던 것과 같이 카카오톡 Android 버전은 폴링 방식으로 메세지 서비스를 구현하였다. 즉, 카카오톡은 실제 메세지 전송량과 무관하게 Keep Alive를 계속하고 있는 것이다. 실제 메세지를 제외하고 카카오톡이 사용하는 트래픽용량은 어느 정도일까? 아래는 서울 신문 기사 중 일부분이다.

이통사 내부 자료에 따르면 카카오톡 서버는 10분 주기로 280byte의 신호를 송신한다. 가입자 상태 확인 등 4개 신호가 시간당 6차례, 하루 24시간 전송된다. 카카오톡 가입자 1인당 자신도 모르게 매달 1만 7280건(4X6X24X30)의 트래픽이 발생한다. 


폴링 방식의 근본적인 문제는 응답 서버가 장애를 일으킬 경우이다. 실제 카카오톡의 경우 작년 11월부터 10여차례 서버가 중지되었다. 서버가 중지될 경우에는 Keep Alive가 서버 반응을 받을 때까지 계속해서 동작하게 된다. 의도치 않게 DDOS 공격을 하는 것이다. 간혹 이동통신사 트래픽의 25%를 카카오톡이 차지한다는 이야기가 나오는데 이는 과장이 아니며 카카오톡 서버가 중지될 경우에 이러한 상황이 될 수 있다.

참고 포스팅 : 왜 메시징 앱들이 통신사에 과다한 트래픽을 주는가?


통신사의 네트워크 관리

통신사는 네트워크를 서비스 하는 Pipe 사업자이다. 망의 효율적인 관리를 위해 노력하는 것은 너무도 당연한 것이며 비난받을 일이 아니다. 카카오톡 서버 장애로 인해 몇차례 고생을 했던 국내 통신사들은 2010년 말부터 본격적인 대응 방안에 대한 고민을 시작한다. 물론, 상대적으로 Android 단말이 적은 한 통신사는 적극적인 대응에 대한 필요를 느끼지 못하고 있었다.(개인적으로 이번 논란의 가장 피해자라고 본다.)

결국, 한 통신사는 망의 관리를 위해 솔루션을 개발하기로 결정하고 개발사들에게 RFP를 발송한다. 해당 RFP에 의하면 솔루션은 망 관리 서버와 단말 내 클라이언트로 구성이 되어 있다. 한꺼번에 많은 트래픽을 발생하는 특정 서비스를 제어할 수 있으며 토큰키를 발행하여 Android에서도 Push Notification을 가능하게 하려는데 목적이 있다.

올해 초, 이 솔루션의 기술적인 범위가 업계에서 이야기가 돌았던 것은 사실이다. 기술적인 이해를 높이기 위해 설명했던 일부 관계자들의 코멘트가 오해를 양산하는데 한 몫 했다. 해당 솔루션은 특정 서비스를 완전히 차단할 수도 있으며 Push를 위한 토큰키는 통신사 스토어와 연동이 된다. 당시 SMS 매출 감소를 막기 위해 MIM을 통신사가 차단할 것이며 Push를 구현하기 위해서는 통신사 앱스토어 등록을 반드시 해야만 할 것이라는 이야기가 나왔다.

정책과 무관한 기술적인 범위가 문제가 되었던 것인데 핵심은 통신사의 정책 방향에 있다. 논란 이후 개인적으로 사실 확인을 해 보았지만 MIM 차단을 고려하지 않는 것을 알 수 있었다. 물론, 공식적인 입장 외에 내부 직원들 개인의 시선으로 보는 MIM이 모두 좋을 수가 없으며 망관리에 대한 논의 중 일부 발언이 나올 수는 있었을 것이다. 그리고 이러한 발언이 논쟁의 시작이 되었다.

사용자 삽입 이미지


논의의 올바른 방향

통신사의 솔루션 정책과 망관련 접근 철학은 매우 중요하다. 이번 논의를 통해 공식적인 입장을 밝혔으니 굳이 다시 문제를 삼을 필요는 없다. 다만, 특정 업체에 종속되는 Push 기술이 근본적인 해결책인지에 대한 기술적인 논의가 시작되어야 한다. 각 통신사마다 다르게 제공되는 Push는 국내 에코시스템에 전혀 도움이 되지 않는다. 적어도 Google이 생각이 바뀌지 않는 한 반드시 해결해야 할 숙제이다.

이번 논쟁 중에서 '상생'이라는 단어가 나오고 있는데 방향을 잘못 잡은 느낌이다. 통신사의 SMS와 MIM 서비스를 저울에 올려 놓고 상생을 논한다는 것 자체가 위험한 접근이다. 서비스의 선택권은 소비자에게 있는 것이며 그 흐름을 비즈니스 논리로 바꾸는 것은 옳지 않다. 대립되는 서비스 중 하나가 소비자에게 가치를 주지 못한다면 도퇴되는 것이 맞다.

상생의 방향은 에코시스템의 건강을 위해야 한다. 일방향적인 벨류체인과 달리 에코시스템은 Interaction이 중요하다. 카카오톡은 서비스 사업자이기는 하지만 '서비스만 고민하면 전부'라는 발상은 매우 무책임하다. 운영하는 서버 장애로 인해 전체 네트워크에 과부하를 준다는 것은 통신사 뿐만 아니라 다른 서비스 사업자에게 피해를 가져온다. 

카카오톡은 단순한 벤쳐가 아니다. 본인의 주장대로라면 천만의 가입자를 가지고 있는 스타 서비스이다. 무선 에코시스템을 풍성하기 위한 책임을 다할 필요가 있으며 잘못이 있다면 인정하고 해결해야 한다. 의도하지는 않았겠지만 '대기업 대 벤처의 대결'과 같은 시각을 잠재울 필요가 있다. 물론, 통신사는 MIM이 아니더라도 Web에서의 Ajax가 일반화된 기술의 흐름에 따라 폴링 방식에 대한 네트워크 운영 정책을 준비해야 한다.


이번 논란의 최대 수혜자

개인적으로 조금 흥미로운 것은 이번 논란의 최대 수해자는 다름 아닌 '카카오톡'이라는 것이다. 업계에서는 어느 정도 정리가 되었던 이슈가 갑자기 언론에 노출되면서 대중의 관심을 받았다. 소비자들은 흥분하였고 통신사들은 아니뗀 굴뚝은 아니지만 다소 억울하다. 반면에 카카오톡은 언론과 이슈의 중심에 서있다.


카카오톡은 비용이 전혀 들지 않은 마케팅 효과를 톡톡히 본 셈이다. 회사 가치 천억이라는 매체의 기사가 나왔는데도 별다른 반감없이 흘러가고 있다. 의도했다면 비즈니스의 흐름을 읽은 재능을 인정하고, 의도하지 않았다면 잘 만든 서비스 덕분이라고 박수를 쳐 줄 수 있겠다.


 

: