메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

디지털라이프

팀 오라일리가 말하는 인터넷 운영체제

한빛미디어

|

2010-05-12

|

by HANBIT

17,252

제공 : 한빛 네트워크
저자 : Tim O"Reilly
역자 : 배경호, http://twitter.com/kenbae7
원문 : The State of the Internet Operating System

Tim OReilly 저는 지난 몇 년간 "인터넷 운영 체제"에 관해 계속 얘기를 해 왔습니다. 그런데 생각해보니, 그게 대체 무언지, 어떻게 발전되고 있는지, 사용자입장에서 선택 조건은 있는지 등에 대해 충분한 내용의 글을 써본적이 없더군요. 오늘 그 글을 올리도록 하겠습니다. 이 글을 보시면 제가 쓰고 있는 책에 근간이 되는 신념에 대해 이해하실 수 있을 것 입니다. 그리고 제가 주관하고 있는 Web 2.0 서밋, Web 2.0 엑스포, Where 2.0 컨퍼런스, Gov 2.0 서밋, 그리고 Gov 2.0 Expo 등과 같은 컨퍼런스에 대한 의미도 이해하실 수 있을 것입니다.

한번 생각해 보시죠. 구글이나 마이크로소프트의 빙 검색이 사용하는 운영체제는 무엇일까요? 휴대전화에서 사용하는 운영체제는 무엇인가요? 전화기에서 사용하는 지도나 내비 시스템의 운영체제는 무엇인가요? 트위터의 운영체제는 무엇일까요?

기존의 일반 개인 컴퓨터에서는 윈도우, Mac OS X 그리고 리눅스 같은 운영체제들이 자원을 관리하고 그 위에서 돌아가는 응용프로그램들은 사용자들만 신경쓰도록 하고 있습니다. 하지만 오늘날 사용자들이 사용하는 많은 일들은 컴퓨터와 컴퓨터들 그 "사이"에서 만들어지고 있습니다. 하지만 대부분의 사람들이 이런 일들을 당연시 여기고 이런 일상의, 사실은 "기적"같이 어려운 일인데, 실시간 통신이나 정보의 접근이 단 한순간이라도 멈추게 되면 이게 대체 뭐냐면서 불평을 늘어놓습니다.

한거풀 벗겨보면 그 뒤에는 어마어마한 세계적인 기술적 인프라가 숨겨져 있기 때문에 사용자들이 필요할 때 언제나, 어디서나 사용할 수 있는 기적 같은 일이 가능한 것입니다.

우리가 구글에 검색어를 치면, 그 내용을 치는 키보드나 본인이 가지고 있는 로컬 컴퓨터의 자원, 결과를 표시하는 화면, 랜을 연결하는 하드웨어, 네트웍에 연결하는 소프트웨어, 그 내용을 보여주고 전달하는 브라우저 등등은 아주 작은 역할밖에 하지 않습니다. 이 검색의 행위가 어떤식으로 이루어지건 관계 없습니다. 그 검색이 윈도우에서 이루어지건, 맥, 리눅스, 혹은 심비안이나 팜오에스, 맥오에스, 안드로이드, 윈도우 모바일을 사용하는 스마트폰이나 기타 어떤 운영체제라도 관계없다는 것이죠..

이 컴퓨터 연산 행위에 있어 핵심적으로 가장 중요한 자원은 다른 곳에 있습니다. 구글의 어마 어마한 서버들(server farm)의 중간에 있는 것이죠. 이 안에는 구글만의 소프트웨어의 집합체들(software farm)이 수백만건의 동시 사용자의 요청을 받아 구글의 서버들 중 하나로 보내고 구글만이 가진 소프트웨어가 어마 어마한 양의 인덱스에서 그 결과값을 몇 천분의 1초만에 찾아냅니다.

그리고 나면 IP 라우팅 소프트웨어가 여러분과 구글의 데이터 센터 (설마 여러분이 구글주소를 인터넷에 쳤을 때 직접 구글 회사로 연결될 것이라고 생각하진 않으셨죠? ^^;)를 연결합니다. 이 라우팅 소프트웨어는 대개 시스코사의 제품위에서 돌아가는데 이 소프트웨어의 대부분은 오픈소스 DNS (Domain Name System. 네트웍 검색 서버로 google.com 등의 이름을 컴퓨터가 이해할 수 있는 IP Address (74.125.19.106 같은)로 바꾸어 주는 시스템)를 이용해서 여러분이 찾고자 하는 내용이 담긴 웹 페이지를 찾을 수 있도록 해줍니다. 어떠한 종류의 운영체제를 사용하는 개인 컴퓨터라고 할지라도, 어떤 종류의 운영체제를 사용하는 서버라 할지라도 관계없이 서로 연결할 수 있도록 해주는 것입니다.

아마 여러분은 "구글 검색은 아주 많은 컴퓨터 클러스터에서 돌아가는 애플리케이션이고 그 클러스터의 운영체제는 리눅스이다… 그리고 인터넷과 웹 스택 (역주. 웹에서 애플리케이션이 돌아갈 수 있도록 해주는 시스템 소프트웨어의 집합)은 개인 컴퓨터와 외부 애플리케이션에 동시에 설치되어 있는 소프트웨어일 뿐이다…" 라고 주장하실 수도 있을 것입니다.

그렇다면 이건 어떻습니까? 구글 검색을 전화상 (혹은 안드로이드 폰이나 음성을 받아들이는 애플리케이션)에서 구글 음성 검색 기능을 이용한다고 생각해 보시죠. 전화에 얘기를 하면 구글의 음성 인식 서비스가 목소리를 텍스트로 바꾸고 그 텍스트를 검색 엔진에 전달합니다.

기존의 PC 음성 인식 기술을 알고 계시던 분들은 음성을 텍스트로 바꾸는 일이 전화상에서 일어난다고 생각하시겠지만 실상은 구글 서버에서 일어납니다. 거기에 구글은 음성 인식의 정확도를 높이기 위해서 인식 알고리즘이 인식한 내용을 검색 시스템 (구글 추천: Google Suggest 기능을 생각해보시면 됩니다.)에 한번 더 돌립니다. 그리고 나면, 전화기가 사용자의 위치를 가지고 있기 때문에 구글은 그 위치에 근거해서 더욱 적합한 결과를 보여줍니다.

"전화기가 사용자의 위치를 가지고 있다." 그건 어떻게 그렇죠? 라고 물어보면 대개는 "GPS수신기가 있으니까요"라는 것이 일반적인 답일 것입니다. GPS 수신기를 사용한다는 것은 미군에서 띄운 위성으로부터 정보를 받아 위치를 판단한다는 뜻입니다. 거기에 추가로 통신사로부터 추가적인 정보를 가지고 GPS 위치 판단기능을 더욱 효율적으로 할 수도 있습니다. 통신타워 삼각법 (cell tower triangulation)을 통해서 거리를 판단할 수도 있고 GPS 정보가 등재된 wifi hotspot의 위치를 통해 정보를 가져올 수도 있습니다. (이 정보는 일일이 도시를 돌아다니면서 wifi의 시그널과 그 정보를 입수하여 데이터베이스에 넣어둠으로써 가능해졌다.) 아이폰은 Skyhook Wireless 서비스에 의존해서 위치 검색을 합니다. 구글도 비슷한 서비스를 가지고 있는데 아마도 이미 생각하셨겠지만 Google Streetview를 만들면서 동시에 데이터를 입수해서 제공하고 있습니다.

하지만 어떤 기술이 사용되고 있건, 그것을 사용하는 애플리케이션은 네트웍에 연결된 장비내에 존재하는 것이지 전화기의 기능이 아니라는 것입니다. 그리고 이렇게 복잡하게 얽혀있는 기능을 하나의 애플리케이션이라고 하기도 어렵습니다. 그게 구글처럼 한 회사에서 제공하는 것이라고 할지라도 말이지요.

자, 계속 한번 생각해 보죠. 전화기 내에 모바일 앱이 단독으로 움직이는 것이 있을까요(간단한 게임을 제외하고 말입니다)? 거의 모든 애플리케이션은 네트웍 애플리케이션으로 외부의 서비스를 이용해야 기능이 정상 작동됩니다.

그럼, 이 모든 것의 "운영체제"는 어디 있을까요? 당연한 얘기지만 아직도 진화중입니다. 수많은 개발사들이 만들어내는 여러 애플리케이션들은 네트웍의 수많은 기능을 조합하여 필요한 정보를 얻어냅니다.

그러면 이 같은 방식이 80년대 초반에 PC 애플리케이션의 개발 방식과는 어떻게 다를까요? 그 당시에는 모든 애플리케이션 제작사에서 디스크, 포트, 키보드, 화면 등등의 복잡 다양한 기기들의 디바이스 드라이버들을 직접 제작했습니다. 아직도 개인 컴퓨터의 생태 환경이 완성되지 않은 시점이었죠. 그러고 있는데 마이크로소프트에서 거절하기 힘든 제안을 합니다. "우리가 드라이버들을 관리할 테니 여러분들은 그냥 Win32 API만 가져다 쓰십시오. 복잡한 드라이버로 고생하지 마십시오"

거절할 이유가 없었죠. 그때부터 더 이상 디바이스 드라이버들을 만드는 개발자들은 거의 없었습니다. 그건 디바이스 제작자들의 몫으로 바뀌었습니다. 전체 시스템 디바이스의 일반적인 API를 운영체제 제작사가 제작을 하면 그에 맞추어서 만들기만 하면 됐습니다. 엄청나게 복잡하고, 따라서 개발이 매우 고통스럽던 부분이 해소되었고 이로 인해 이 운영체제를 만든 제작사는 시장을 장악하게 됩니다. 그 이후 대부분의 애플리케이션 제작은 이 같은 방식으로 바뀌게 됩니다.

이 부분이 제가 가장 중요하게 여기는 부분입니다. 우리는 다시 한 번 파우스트의 계약과 같은 시점에 도달합니다. "우리 설비들을 사용하세요. 그러면 모든 복잡한 것은 전부 사라질 것입니다"라는 것이죠.

80년대에도 그랬지만, 그 같은 약속을 하는 회사가 단 하나는 아닙니다. 우리는 현재 버전의 "The Great Game(역주. 1900년 초에 영국과 러시아가 양강체제를 가지고 세계를 호령하던 시기)"의 시대로 들어서고 있습니다. 미래의 컴퓨터 세계(존 마텔은 이것은 "지배의 순간. Point of control"으로 부르고 있습니다)로 통하는 아주 좁은 길을 먼저 통과하려고 싸우고 있는 것이죠. 이 라이벌 관계는 인터넷 서비스가 뒤에 있는 모바일 애플리케이션에서 가장 뚜렷이 보입니다. 뉴욕타임즈의 닉 빌튼이 구글의 넥서스원과 아이폰의 비교글에서 설명했 듯 말이죠.

Etsy의 CTO인 채드 디커슨은 넥서스원을 구글로부터 시판하기 3주전에 전에 받았습니다. 그는 구글의 전화는 아이폰과는 다른 방식으로 인터넷 서비스에 연결되어있는 것 같다고 느꼈습니다. 그는 "아이폰과 비교하면 구글폰은 인터넷의 한 부분인 것 처럼 느껴졌습니다." 라면서 "만일 여러분이 구글 서비스의 많은 부분에 의존해서 생활하고 있다면 구글폰이 아이폰보다 이러한 서비스들에 보다 더 깨끗하고 더 자연스럽게 연결되어 있는 것을 느낄 것 입니다"라고 말합니다.

이것은 아이폰도 마찬가지입니다. 여러분이 만일 애플의 모바일미, 아이포토, 아이튠 혹은 사파리를 사용한다면 아이폰은 자기의 사진, 연락처, 북마크 그리고 음악에 아주 자연스럽게 연결됩니다. 그렇지만 다른 회사들의 서비스를 이용하고 있다면 그 컨텐츠에 접근하기 위해서는 별도의 소프트웨어를 사용해야 합니다.

넥서스원은 지메일, 구글 캘린더, 혹은 피카사(구글의 온라인 사진 관리 소프트웨어)에 아주 자연적으로 연결되고 전화기에서 한번만 로그온 정보를 넣으면 그 다음부터는 모든 서비스를 편안하게 사용할 수 있습니다.

구글폰이나 아이폰은 자신들의 서비스와 완벽하게 작동하지만 타 회사의 서비스들과의 연동은 크게 신경쓰고 있지 않습니다.

인터넷이 운영체제를 가지고 있느냐 아니냐에 대한 기술적인 문제를 크게 신경쓸 필요는 없습니다. 분명한 것은 모바일의 세계에서 우리는 운영체제나 기기, 그 이상의 "플랫폼"이라는 개념이 제공되고 있다는 것 입니다.

자 이런 전제에서 인터넷 운영체제의 상태에 대해서 한번 보겠습니다. 아니, 현존하고 있는 인터넷 운영체제들의 경쟁에 대해서 살펴보겠습니다.

인터넷 운영체제는 정보 운영체제

컴퓨터의 여러 기능들을 수행할 때, 기존의 운영체제는 애플리케이션이 필요한 하위의 자원, 즉 CPU나 메모리, 디스크, 키보드, 스크린 등을 관리합니다. 운영체제의 커널은 프로세스의 스케줄, 메모리의 배분, 디바이스의 인터럽트, 예외 처리 그리고 다양한 애플리케이션들이 같은 하드웨어를 동시에 사용하려고 할 때의 교통정리를 담당합니다.

아마존 웹 서비스(Amazon Web Services)나 구글 앱 앤진(Google App Engine), 마이크로소프트 어주어(Microsoft Azure)등의 "클라우드 컴퓨팅" 플랫폼들은 개발자들에게 저장소와 컴퓨팅 파워를 제공하고, 그렇기 때문에 현재 부상하고 있는 인터넷 운영체제의 핵이라고 쉽게 결론 내릴 수 있습니다.

클라우드 인프라 서비스는 실로 매우 중요합니다. 하지만 서비스 자체에만 초점을 맞추는 것은 로터스가 DOS 운영체제가 유지될 것으로 믿고 GUI기반의 인터페이스를 신경쓰지 않았던 것과 같은 오류를 범하는 것일 수 있습니다. 그래픽 유저 인터페이스라는 것은 "실제" 운영 체제의 부분이 아니고 애플리케이션의 일부였던 것입니다. 하지만 오랫동안 윈도우가 DOS 위에 얹혀진 껍대기였음에도, 마이크로소프트는 개발자들에게 "상위 레벨의 컨셉(higher levels of abstraction)"을 미리 심어주는 것이 애플리케이션을 쉽게 만드는데 가장 중요한 요소라는 것을 알고 있었습니다.

그렇다면, 이 "상위 레벨의 컨셉"이라는 것은 무엇입니까? 클라우드에 존재하는 가상 기기들의 자세한 사항을 감추어서, 개발자들이 스케일링 관리를 할 필요 없게 해주는 것인가요 아니면 클라우드의 가상 기기에 설치되어 있는 90년대에 사용하던 운영체제를 감추는 것인가요?

오늘날 애플리케이션에서 접근하는 하위의 서비스들은 디바이스나 운영체제의 기능이 아니고, "데이터 서브시스템(data subsystems), 즉 위치, 소셜 네트워크, 웹사이트들의 인덱스, 음성 인식, 이미지 인식, 자동 통역 들과 같은 것들 입니다. 터치 스크린이나, 마이크, GPS, 자력계, 가속도계 같은 여러 센서들이 여러분들이 휴대하고 다니는 디바이스의 기능들을 멋지게 만들어내는 중요한 요소들일 것이라고 쉽게 생각할 수도 있습니다. 하지만, 실제로는 이 센서들은 클라우드에서 살아 움직이고 있는 어머 어마한 데이터 서브시스템에 보낼 정보를 채취할 뿐인 것입니다.

예를 들어, 아이폰 앱을 개발할 때, 아이폰의 코어 로케이션 프레임웍(Core Location Framework 역주. 아이폰에서 유저 위치를 찾아내주는 기능이 들어있는 프레임웍)을 사용하게 되면 센서에 값을 요청하는 것 뿐만 아니라 클라우드에 들어있는 데이터에 검색을 요청하고 GPS위치 정보를 거리 정보로 변환하거나 WiFi 강약정보를 GPS정보로 바꾼 후 거리 정보로 바꾸는 작업도 해줍니다. 아마존 앱이나 구글 고글로 바코드를 스캔하거나 책의 표지를 스캔하면 디바이스의 카메라나 이미지 프로세싱 기능을 사용한 후 그 이미지를 클라우드로 보내 훨씬 강력한 클라우드 이미지 프로세싱에서 돌린 후 데이터베이스 검색을 통해 결과 값을 가져오는 것이죠.

애플리케이션 개발자들은 로우 레벨의 이미지 인식기능이나, 음성인식, 위치 검색, 소셜네트웍 관리, 지인 연결 등을 점점 더 사용하지 않게 되어가고 있습니다. 그 대신 데이터가 훨씬 풍부한 플랫폼을 제공하는 네트웍 서비스를 이용하는 하이 레벨의 펑션콜을 사용합니다.

자, 이런 점들을 염두에 두시고 "현대의" 인터넷 운영 체제가 어떤 서브 시스템들을 가지고 있는 한번 살펴보겠습니다.

검색(Search)

검색은, 관리해야할 데이터가 엄청나게 방대하고, 또 지속적으로 그 정보가 바뀌고 있으며, 그 데이터가 수 백만개의 네트웍으로 연결된 시스템에 분산되어 있기도 합니다. 그렇기 때문에 검색이 인터넷 운영체제 시대에서 첫번째로 뛰어 넘어야 할 장벽이었습니다. 이런 검색의 문제를 해결하기 위해서는 엄청난 양의 끊임없는 네트웍 크롤링(Crawling of network: 역주.검색 로봇이 인터넷에서 검색에 필요한 데이터를 수집하는 행위), 방대한 인덱싱 작업, 그리고 사용자 쿼리에 가장 적합한 정보를 제공하는 복잡한 알고리듬의 최적화 등등의 작업이 필요합니다. 이러한 복잡성 때문에, 인터넷 검색을 성공한 회사는 몇 개가 되지 않습니다. 구글, 마이크로소프트, 야후 정도이고, 아마존 역시 웹 검색 기능을 만들었지만 제한적이었습니다.

모든 검색이 웹 서치처럼 복잡한 것은 아닙니다. 예를 들어, 아마존과 같은 이커머스(e-commerce)사이트는 자신들이 제공하는 제품을 검색하기 위해 끊임없는 네트웍 크롤링을 할 필요가 없습니다. 자신들이 운영하고 있는 페이지들만을 검색하면 그만인 것이죠. 그럼에도 불구하고 검색은 프랙탈 기하학처럼 복잡하고 서비스가 끊기지 않도록 검색을 위한 인프라는 인터넷에 아주 복잡하고 무수하게 복제되고 있습니다. 이 것은 앞으로 분산되고 특화된 검색엔진들이 제각기 등장해서 단 하나의 회사가 제공하는 것보다 더 특화되고 완전한 정보를 제공할 가능성이 있다는 것을 의미합니다. 예를 들어, 현재 아마존은 판매 비율이나 공개/비공개하는 고객 리뷰의 수나 수준, 가장 인기있는 제품들의 순 등등의 자신들만이 데이터를 가지고 있습니다.

웹검색과 달리, 특화된 미디어의 검색 서비스가 있습니다. 예를 들면, 여러분이 인터넷에 연결된 상태에서 CD를 삽입하면 CDDB 에서 곡명을 바로 가져옵니다. CD에 들어있는 각 트랙의 길이와 순서가 사람의 지문처럼 작동하는 것입니다. 또 Shazam같은 휴대폰 애플리케이션은 실제 음악의 파장을 통해서 그 노래가 어떤 노래인지 찾아줍니다. 프로 음악가들에 의해서 분석된 여러 요소들을 분석한 결과인 것 입니다.

웹 페이지를 검색하기 위해서 만들어진 기술은 "링크의 의미론"에 근거합니다. 즉 연결된 모든 링크에 점수를 주고 관리자에 의해 만들어진 링크는 더 많은 점수를 주는 방식인 것이죠. 이런 정보는 다른 형태의 정보를 검색할 때는 필요하지 않은 메타데이타입니다. 예를 들면 전자책 내에서의 검색은 그런 정보가 필요치 않습니다. 이 경우 검색은 구글 이전의 검색 방식과 다를바 없는 전체를 뒤지는 방식입니다. 책, 비디오, 이미지, 사운드 등을 검색하는 기술적 혁신과 그 어려움의 극복이 이루어지면 이 기술은 인터넷 운영체제가 미래에 가져다 줄 매우 중요한 요소가 될 것입니다.

알고리듬을 이용한 검색 기법은 현대 개발자 툴킷의 매우 중요한 부분입니다. 오라일리의 책 "Programming Collective Intelligence"을 보면 이에 대한 매우 다양한 알고리듬과 기법들이 소개되어 있습니다. 하지만 이런 하위 레벨의 프로그래밍은 상위 레벨의 솔루션으로 대체되어 가고 있습니다. 개발자들은 그저 검색 서비스를 콜하고 그 결과값 만을 받는 식인 것이죠. 즉, 검색은 애플리케이션 레벨에서 시스템 콜 방식으로 바뀌고 있는 것 입니다.

미디어 접근(Media Access)

PC시대의 운영체제가 유저 레벨에서의 기능 뿐 아니고, 파일이나 폴더, 물리적인 디스크 볼륨이나 블락처럼 하위 레벨의 장비 역시 다루는 것 처럼, 인터넷 시대의 운영체제는 여러가지 다양한 미디어에 접근할 수 있는 기능을 제공해야 합니다. 웹페이지, 음악, 비디오, 사진, 이북, 오피스 문서들, 프레젠테이션 문서들, 다운받아 설치가능한 애플리케이션 등등에 말이죠. 이런 미디어 형식들은 특화된 검색을 넘어 공통적인 기술적 인프라가 필요합니다.
  • 접근 권한 관리: 모든 정보가 무료로 제공되지는 않기 때문에 접근 권한을 관리하여 전체 내용을 제공하는 대신 요약 정보를 제공하고, 다운로드 대신 스트리밍을 제공하는 등의 방식으로 접근이 허가된 유저를 인식할 필요가 있습니다. 그리고 허가된 유저들과 허가되지 않은 유저들과의 결과값을 달리 보여주는 것은 인터넷 운영 체제의 기능에 있어 매우 중요한 부분입니다.

    최근 News Corp. (역주. 루퍼트 머독이 소유한 세계 2위의 뉴스 그룹사)이 소유한 모든 신문사들을 유료로 전환하겠다는 움직임을 보이고 있습니다. 아이폰과 아이패드의 유료 앱스토어나 컨텐츠 마켓플레이스에서는 유료 컨텐츠를 제공하고 있죠. 이러한 예들은 컨텐츠의 제한적인 접근 기능에 대한 중요성을 보여줍니다. 예전 방식의 DRM이 "돈 안내려면 꺼지쇼"라는 방식이었다면 요즘은 많은 회사들이 좀 더 유연한 방식으로 사용자들에게 약간의 정보를 제공하고 사용자들로 하여금 미리 체험해 볼 수 있는 시스템 개발해서 사용자들을 유치하고 그러면서도 유료 컨텐츠에 대한 보호는 강력하게 할 수 있는 시스템을 만들고자 노력하고 있습니다.

    앱 스토어의 세계에서는 유료 애플리케이션과 유료 컨텐츠에 대해서 법률적 권한 관리(그리고 결제) 그리고 그에 대한 재해석이 이루어 지고 있습니다. 앞으로는 "광고만이 인터넷 컨텐츠에서 올릴 수 있는 수익이다…" 라는 가정은 무너질 것 입니다.

  • 캐싱(Caching): 대용량의 미디어 파일들은 전달하는 거리가 짧을수록 효율적입니다. 매우 다양한 회사들이 CDN (Content Delivery Networks)을 제공하고 있는데 단독으로도 성공할 수 있겠지만 궁극적으로는 인터넷 OS 기업들과 합쳐질 것으로 생각됩니다. 마이크로소프트가 PC환경에서 여러 기능을 가지고 있는 기업들을 합병 (그들의 표현으로는 "감싸안아 넓힌" 것 이지만 말이죠)을 통해 로컬 컴퓨터 운영체제 시장을 장악했던 것 처럼 말입니다.

  • 계측과 분석(Instrumentation and analytics): 인터넷 산업은 가장 많은 돈이 달려 있는 부분인 웹 분석과 SEO(Search Engine Optimization)를 중심으로 발전되어 왔습니다. 저는 소셜 미디어 계측과 모바일 애플리케이션, 특정 미디어 형식들에도 이와 비슷한 거대한 물살이 흐를 것이라 예측 합니다. 결국, 비디오, 게임 혹은 이북 등 만큼 사용자들이 얼마나 오래 그것을 보는지, 언제 그만두는지, 그리고 나서는 어떤 방향으로 제품 선택을 하는지의 정보를 쉽게 분석할 수 있는 매체는 없기 때문이죠.

    아마도 이러한 기능들은 처음에는 개별 회사가 서비스 하기 시작할 것 입니다. 트위터 용 TweetStats이나 Peoplebrowsr Analytics 혹은 모바일 앱 용 Flurry같은 서비스가 그 예 입니다. 클라우드 기반의 비즈니스 인텔리전스 플랫폼인 GoodData는 Salesforce 애플리케이션에서부터 온라인 게임에 이르기까지 모든 것에 대한 분석을 내놓고 있습니다. (고백: 저는 GoodData의 투자자이자 이사진의 한 사람입니다).
커뮤니케이션(Communications)

인터넷은 커뮤니케이션 네트웍입니다. 오랫동안 이메일, 채팅 같은 커뮤니케이션 기술들은 인터넷을 매력적으로 만드는 중심에 있었습니다. 하지만 이제는 VoIP의 확산, 모바일 기기들이 "네트웍의 네트웍"에 연결되면서 음성/화상 통신 등은 커뮤니케이션 서브시스템의 중요한 부분이 되고 있습니다.

인터넷 세계에서 커뮤니케이션 프로바이더들은 전화 세계에서의 커뮤니케이션 프로바이더들과 일전을 치를 태세에 있습니다. 현재 이들은 좌익과 우익처럼 대치하고 있는 상태입니다. 하지만 일단 싸움이 시작되면 간단히 끝나진 않을 것 같습니다.

커뮤니케이션 디렉토리 서비스 부분이 중요 전장이 될 것 입니다. 과연 누가 개인들과 비즈니스들이 서로를 연결하기 위해 필요한 색인 서비스를 관장하게 될까요? 전화번호부와 이메일 주소록은 궁극적으로 소셜네트웍의 데이터와 합쳐져서 아이덴티티 인프라 서비스(Identify Infrastructure Services)의 형태로 발전하게 될 것입니다.

아이텐티티와 소셜 그래프(Identity and the Social Graph)

페이스북을 사용하면서 다른 애플리케이션으로 연결하면, 그 새로운 애플리케이션에 여러분 친구의 얼굴이 바로 나타납니다. 그 애플리케이션은 페이스북을 인터넷 OS에서의 "서브시스템"으로 사용하고 있는 것이죠. 안드로이드폰에 페이스북 애플리케이션을 추가하면 전화번호부에 페이스북 친구들의 사진이 바로 보입니다. 페이스북은 연결시 제공하는 데이터의 범위를 넓히고 있습니다. 인터넷 애플리케이션이 아니라 플랫폼으로의 페이스북으로 스스로를 포지셔닝하고 있다는 것입니다.

위에서 잠깐 힌트를 드렸지만, 다른 풍부한 소셜데이터도 많이 있습니다. 이는 트위터같이 풍부한 소셜 그래프(Social Graph: 역주.페이스북에서 처음 사용한 용어로 페이스북 내에서의 관계도를 의미) 를 지니는 애플리케이션들만이 아닙니다. 모든 커뮤니케이션스 프로바이더들은 소셜 데이터의 보물단지들을 지니고 있습니다. 마이크로소프트는 익스체인지, 아웃룩, 핫메일, 액티브디렉토리, 쉐어포인트 등등에 소셜데이터를 가지고 있습니다. 구글은 Orkut(역주. 구글의 소셜 네트워킹 서비스로 브라질과 인디아에서 큰 인기를 얻고 있음)뿐만 아니고 지메일, 구글 닥스 (이 서비스의 "나누기"기능의 다른 이름은 "워크그룹 레벨의 소셜 그래프 데이터로서의 가치를 지니는 중요한 원천정보"이다) 에도 중요한 소셜 데이터를 가지고 있습니다. 물론, 모든 안드로이드 폰의 주소록에도 소셜 그래프 데이터가 들어 있습니다.

우리가 기대해야할 변혁은 소셜 애플리케이션에서만 직접적으로 오지는 않을 것 입니다. 사실, 저는, 다른 종류의 아이텐티티 데이터를 가지고 있는 업체들이 "짝퉁" 소셜 네트워킹 애플리케이션을 만드는 것을 보면 "플랫폼으로서의 기회"를 전혀 이해하지 못하고 있다는 생각을 하게 됩니다. 페이스북이나 트위터에 대항하는 소셜 네트웍을 만드는 것은 인터넷 플랫폼의 미래에 있어서 전혀 중요하지 않습니다. 오히려 서드파티 개발자들이 사용할 수 있는 장치를 만들어 이들이 구글, 마이크로소프트, 야후, AOL, 그리고 전화회사들인 ATT, 버라이존, 티모빌등에서 수십년간 존재해온 소셜 데이터를 사용할 수 있는 기회를 마련하는 것이 훨씬 중요한 일입니다.

물론, 이러한 데이터를 적절하게 사용하기 위해서는 프라이버시 메커니즘과 정책의 변혁이 반드시 필요합니다. 냇 톨킹튼에게 제가 쓴 글을 미리 보여주니 다음과 같이 이메일로 조언을 해주더군요.

"우리는 "친구"라는 문제에 직면하고 있다. 내 "문서"의 소셜 그래프는 내 "이메일"의 소셜 그래프와 틀리고 이는 페이스북의 소셜 그래프와 틀리고 이는 내 주소록과 또 틀리다. 나는 내 친구들에겐 직장 욕을 할 수 있지만 이것을 내 직장 동료들이 보면 않된다. 사용성 대 프라이버시의 문제는 여전히 숙제로 남아있다."

이 숙제를 누가 풀지는 모르지만, 소셜한 기능을 유지하면서도 난잡함을 없앨 수 있는 프레임웍을 만들수 있어야 할 것입니다. 플랫폼 프로바이더들은 이 문제를 해결할 좋은 위치에 있습니다. 그렇게 되면 사용자들은 더 큰 애플리케이션 프로바이더들에게 자격에 대한 시스템을 만들라고 할 필요가 없고 데이터가 어찌 사용하게 될지 걱정할 필요도 없게 됩니다.

결제(Payment)

결제시스템은 또 하나의 매우 중요한 인터넷 운영 체제의 서브 시스템입니다. 애플 같은 회사는 현재 1억 5천만개의 신용카드 정보를 보유하고 있고 애플의 사용자들은 전화기를 통해서 음악, 비디오, 앱, 그리고 이제는 이북 등을 사는데 매우 익숙해있기 때문에 현재의 전화기를 미래의 지갑으로 변화시킬 수 있는 매우 중요한 위치를 이미 차지하고 있습니다. (그리고 지갑에 돈만이 아니고 신분증도 있는 것을 감안하면 결제시스템은 매우 좋은 신분증 역할을 할 수 있습니다. 결제 시스템 회사들이 미래 인터넷의 한 몫을 꽉 움켜쥐고 있는 부분이죠.)

페이팔은 이미 인터넷 결제 시스템으로서 이미 개발자들에게 광범위하게 사용되고 있습니다. 190여개국에서 사용되고 있고 24개의 화폐(게임에서 사용되는 화폐는 제외)가 지원되고 2억1천만 이상의 (그 중 8천1백만이 활발히 사용중인 사용자) 사용자를 지니고 있습니다. 더욱 매혹적인 것은 이들이 만든 "결제시스템의 개발자 생태계"가 존재한다는 것입니다. 최근 진행된 컨퍼런스에는 2000명이상의 개발자들이 참석하기도 했습니다. 이들의 당면과제는 웹에서 모바일로 바꾸는 것입니다.

구글의 체크아웃도 웹 결제 시스템의 한 솔루션이지만 페이팔에는 비교할 수 없었습니다. 하지만 안드로이드 마켓 덕분에 모바일 시장에서 새로운 기회를 잡았고 이는 궁극적으로 일급 인터넷 결제 시스템을 등극할 것으로 생각되고 있습니다.

아마존도 신뢰할 수 있는 결제 시스템이 있습니다. 하지만 최근까지도 전체 시스템을 오픈하지 않고 가장 훌륭한 기능은 자신들의 이커머스용으로만 사용하고 다른 개발자들이 사용할 수 없게 하고 있습니다.

광고(Advertising)

광고는 웹에서 가장 성공적인 비즈니스 모델이었습니다. 이커머스(가상의 물품부터 정심 도시락까지 팔고 있는)는 모바일(혹은 소셜 미디어)에서 더 큰 역할을 할 것이라 많이들 얘기하지만 광고 역시 중요한 역할을 할 것입니다.

구글은 웹 광고 시장에서의 장악력을 가지고 지속적으로 그 검색 알고리즘을 발전시켜 실시간 예측 시스템으로까지 발전시키고 이를 운영하고 있습니다. 광고가 얼마나 자주 클릭을 이끌어 낼 것인지를 예측하고, 그에 따라 광고 기법을 최적화할 수 있는 것이죠. 구글의 광고 옥션 시스템은 광고주들에게 경제성 높은 가치를 부여해주고 있으며, 그렇기 때문에 이 시스템이 구글의 핵심인 것입니다. 기술이 얼마나 큰 차이를 만들수 있는지를 단적으로 보여주는 좋은 예인 것이죠.

그리고 광고는 항상 플랫폼 사업이었습니다. 인터넷 OS의 가장 중요한 전쟁터가 될 것이라는 신호가 여러 곳에서 보이고 있는데 구글의 애드몹 인수나 애플의 콰트로 와이어리스 인수가 그 예입니다.

문제는 어떤 플랫폼을 가진 회사가 얼마 만큼 자신들의 시스템을 서비스로서 그들 만이 가지고 있는 광고 기능들을 제공할 것이냐 입니다. 자신들이 가지고 있는 자산을 자신들만의 제품의 경쟁력의 원천으로만 사용할 것인지, 아니면 개발자들이 사용할 수 있도록 광고서비스를 제공할 것인지가 매우 중요한 사항입니다.

위치(Location)

위치는 모바일 앱에 있어서 필수 불가결한 요소입니다. 전화기의 위치를 통해 친구의 위치를 찾을 수도 있고, 근처에서 필요한 서비스도 찾을 수 있고, 거래의 인증도 더욱 효율적으로 할 수 있습니다.

전화기에서의 지도와 길찾기 기능은 클라우드 서비스를 사용하는 것이 매우 중요합니다. 단일 GPS네비게이션 기기처럼 전화기는 지도의 모든 내용을 담을 수 있는 용량이 없습니다. 하지만 클라우드 애플리케이션으로 제작하게되면 지도와 길찾기 기능은 다른 정보까지도 담을 수 있습니다. 실시간 교통량 정보 같은 것이 좋은 예죠. (실제로 교통량을 알고 싶어서 사용하는 기기에서 현재의 교통량을 동시에 보내주기도 합니다. 이러한 방식을 "집합 지능(Collective intelligence)"이라고 합니다.)

위치정보는 끝없는 데이터베이스 검색 서비스의 중요한 키워드이기도 합니다. 구글의 "길 따라 검색(Search along route)", 옐프(Yelp)의 근처의 카페찾기, 치포틀(Chipotle) 앱의 근처에 가장 가까이 있는 가맹점으로 주문 넗기"처럼 말이죠..

위치기반서비스의 많은 부분이 이미 인터넷 데이터 서브시스템으로써 시스템 서비스로 작동될 수 있도록 개발되어 있어서 모든 애플리케이션에서 사용이 가능합니다. 개발자들은 이미 아주 창조적으로 이를 이용하여, 증강현실부터 광고에까지 사용하고 있습니다. (이런 연유로 저는 Where 2.0 Conference 를 개최했습니다. 이 컨퍼런스에서는 위치기반서비스 시장에서 인터넷 기업가들이 배워야할 내용들을 많이 다루었습니다. 이 기법들은 "위치"전문가들 뿐만 아니고 다른 여러 개발자분들이 다 방면에서 사용될 수 있는 것들입니다.

액티비티 스트림(Activity streams)

"위치"는 또다른 무언가에 대한 대리인 역할을 해내고 있습니다. 즉, "주의(attention)"라는 것에 대해서입니다. 사람들이 모이는 곳을 찾기 위해서 만들어진 기능이 광고를 위해서 사용되고 있습니다. 판매자들은 고객들이 가장 자주 방문하는 위치을 찾아서 관리할 수 있습니다. 이제는 체크인이라는 개념이 가상의 공간에 대한 "주의"를 기울이는 것까지 그 개념이 넓혀지고 있습니다. 존 바텔이 지난번에 다음과 같이 말했듯이 말입니다. "내 위치는 과자상자이다" 라고 말이죠. (알림. O"Reilly AlphaTech Ventures는 Foursquare의 투자했습니다)

그렇기 때문에 위치와 소셜미디어의 통합(convergence)된 형태인 액티비티 스트림 같은 서비스가 나타나게 됩니다. 플랫폼 프로바이더들에게도 이와 같이 통합된 서비스를 제공하는 것이 위치에만 의존하는 것보다 시장에서 훨씬 강력한 자리를 점할 수 있을 것입니다.

시간(Time)

시간은 데이터에 근거한 서비스에 있어서 또다른 중요한 차원입니다. 최소한 위치만큼 중요합니다. 아직 완전히 "시간"에 대한 개념이 정리되지 않았을 뿐이지만 말입니다. 달력이 대표적인 애플리케이션인데, 이의 액티비티 스트림 역시 타임라인으로 정리됩니다. 예를 들면 주식 챠트가 새로운 뉴스에 대해서 반응하거나 가격을 떨어뜨리게 할 수도 있습니다. 타임 스탬프가 다른 데이터 타입에 대해서 (구글 시스템이 사이트에 대한 검색 결과를 측정해서 얼마나 자주 업데이트 할지 결정 한다거나, RSS피드나 소셜 액티비티 스트림의 글들을 최근에 올라온 순서로 나열하는 등의) 필터로 사용될 수도 있습니다.

"실시간"(트위터의 실시간 검색, 지도 애플리케이션의 "현재 내 위치(where am I now)" 포인터, 월마트의 자동화된 제품 수급시스템, 혹은 실시간 정치 여론조사 같은)이라는 것은 응답 시간을 초나, 시간, 날짜로 측정하는 사람들보다 밀리세컨드, 심지어는 마이크로세컨드로 측정하는 사람들에게 훨씬 작은 시간의 단위를 의미합니다. 이 같은 속도에 대한 열망은 플랫폼 서비스에 있어서 핵심요소가 될 것 입니다. 일반적인 데스크탑 애플리케이션으로서는 따라가기 어려운 부분이죠.

이미지와 음성 인식(Image and Speech Recognition)

최근에 썼다시피, 처음으로 제가 "웹 2.0은 무엇인가?"라는 글을 쓴 이후로 달라진 큰 차이들 중의 하나는, 처음에는 플랫폼으로써 웹이라는 것이, 사용자들이 제공한 데이터로 이루어진 데이터 서비스에 의해 지배될 것이라고 분석을 했습니다. 하지만 사용자들의 데이터 뿐만 아니라 점차로 센서에 의한 데이터에 의해서도 채워나가게 될 것이라는 점입니다.

구글 고글(Google Goggle)이나 아마존 이커머스 앱(Amazon e-commerce app)처럼 이미지 인식기능을 이용하여 바크드를 스캔하거나 책의 표지, 음악 앨범의 표지 등을 인식하게 하는 스마트폰 앱들, 그리고 마이크로소프트의 "프로젝트 네이탈"같은 게임이나 Affective Interfaces같은 혁신적인 회사들의 출현을 보았을 때, 컴퓨터의 시각 기능이 미래의 UI에 매우 중요한 역할을 할 것이라는 것을 알 수 있습니다. OpenCV 같은 오픈소스 컴퓨터 비젼 패키지 같은 것들은 로봇 애플리케이션이나 DARPA Grand Challenge for automated vehicles같이 연구를 목적으로 하는 경기에 사용되고 있습니다. 하지만, 스마트폰 애플리케이션의 경우에는, 이미지 인식이나 음성 인식이 클라우드 상에서 행해지고 있습니다. 인식을 하기 위해서는 컴퓨터의 연산 능력도 필요하지만 비교할 이미지의 양도 방대합니다. 피카사나 플리커 같은 서비스는 소비자의 이미지 교환 사이트가 아닙니다. 이들 사이트는 어마어마한 양의 태그화된 이미지 데이터의 집합으로 알고리즘이나 결과물의 필터링 등의 기능 향상을 위해 사용될 수 있는 데이터 집합소의 역할을 하고 있습니다.

정부의 데이터(Government Data)

최근의 data.gov 같은 움직임 한참 이전에, 정부는 인터넷 애플리케이션에서 사용되는 데이터의 원천으로서 매우 중요한 역할을 했습니다. 날씨, 지도, 위성 이미지, GPS 위치정보, SEC파일링(SEC Filing.역주.회사가 연말 결산한 정보를 보고하는 행위), 범죄 리포트 등은 인터넷 애플리케이션에서 매우 중요한 부분이었습니다. 이제, 정부는 시민들이 올린 데이터를 사용하는 소비자가 되었습니다. 예를 들어, FixMyStreet 나 SeeClickFix 같은 사이트들은 311 리포트(311 reports).역주.응급 상황이 아닌 일들을 신고하는 것. 전화번호 311을 사용한다)를 지방정부에 대신 해주는 역할을 합니다. 도로에 구멍이 생겼다거나, 벽에 낚서가 되어 있다거나, 가로등이 꺼져있다고나 하는 것 들이죠. 이러한 애플리케이션들은 이메일이나 SMS등을 사용하고 있는데 부하가 심하게 걸렸지만 이제는 이 같은 것들을 합쳐서 Open311 웹 서비스 프로토콜로 표준화하려고 하고 있습니다.

이제 새로운 정부 데이터의 홍수가 터졌고, 정부는 스스로를 플랫폼 프로바이더로 보기 시작해서 일반 서드파티 개발자들이 그 데이터에 기반한 애플리케이션을 만들수 있도록 하고 있습니다. 이 "정부를 플랫폼으로(Government as a Platform)"라는 아이디어는 Government 2.0에서 제가 지지하는 핵심 내용입니다.

웹 2.0의 교훈을 적용하고 정부 데이터에 적용하는 아주 좋은 기회가 있습니다. 의료 산업을 예로 들어보죠. 만일 메디케어(Medicare.역주.미국의 65세 이상에게 무료로 제공되는 의료보험제도)가 비용과 그 결과물의 유사점에 대한 지속적인 피드백을 구글의 키워드 광고를 위해 만든 시스템에 적용하면 어떤 결과가 나올지 한번 생각해 보십시오.

인터넷 데이터 애플리케이션을 만드는 사람이라면 정부의 역할에 대해서 간과한다면 매우 어리석은 일입니다. 데이터 제공자이면서 동시에 웹 서비스의 소비자이고 사생활 보호, 접근, 각 주 별 상업 활동에 대한 규제자이기도 하기 때문이죠.

그렇다면 브라우져는?

저는 브라우져 자체가 새로운 운영체제라고 하는 주장은 클라우드 인프라 서비스 상에서만 가능하다고 생각하면서도, 프론트엔드(front end) 인터페이스를 콘트롤하는 것이 백엔드(back-end) 서비스 만큼이나 중요하다는 생각도 동시에 합니다. 애플이나 구글과 같은 회사들은 대단한 클라우드 서비스와 신뢰도가 높은 모바일 플랫폼을 가지고 있어서 다음 10년간에 걸쳐 일어날 플랫폼 전쟁에서 매우 유리한 위치를 차지하고 있습니다. 하지만 브라우져와 PC의 UX (User experience)를 콘트롤하는 것 또한 매우 중요한 일입니다.

그렇게 때문에 애플의 아이패드, 구글의 크롬OS 그리고 HTML 5(그리고 구글의 네이티브 클라이언트. Native Client 같은 선구적인 시도들)같은 것들이 중요합니다. 마이크로소프트 버전의 "Software Plus Services"같은 클라우드 컴퓨팅 역시 그렇게 잘못된 것은 아닙니다. 백엔드에는 완전한 버전의 운영체제 스택이 장착되어 있으며, 제가 이 글에서 계속 얘기하고 있는 데이터 서브시스템, 그리고 리치한 프론트 엔드가 전부 준비된 상태입니다.

애플과 마이크로소프트는 수직적으로 통합된 시스템에 대한 큰 비전을 가지고 있습니다. 구글의 비전은 프론트엔드 인터페이스에서는 오픈 소스 형태를 취하는 것처럼 보이지만 백엔드는 구글이 소유하고 있습니다. 양측 모두, 당연히 자사의 백엔드 시스템과 더 잘 구동되는 프론트엔드를 확보하고자 하는 움직임을 보이고 있습니다.

모자란 점

가장 앞선 인터넷 운영체제의 플랫폼이라고 할지라도 전통적인 형태의 단일 컴퓨터 운영 시스템에서 친숙하던 많은 컨셉들이 빠져있습니다. 실행파일은 어딨고 메모리 관리를 어떻게 하고… 이런 것들 입니다.

이러한 기능들은 각 클라우드 플랫폼에서 독자적으로 진화하고 있다고 생각합니다. 멤캐쉬(memcache)나 맵리듀스(mapreduce)같은 툴들은 전통적인 운영시스템의 가상 메모리나 멀티프로세싱 기능과 대충 비슷한 기능을 합니다. 하지만 이건 시작에 불과합니다. 베르너 보겔의 글 Eventually Consistent를 보면, 인터넷 운영 체제로서 풀어야할 기술적인 어려움들이 나와 있는데, 사실 그 이상의 이슈들도 매우 많습니다.

그말은 진정한 인터넷 운영 체제가 되기 위해서 필요한 상위 레벨의 기능들을 구현할 수 있는 기회가 널려 있다는 것을 의미하기도 합니다.

미래의 운영체제가 개인에 대한 데이터를 언제/어떻게 모으며, 어떤 애플리케이션이 그 데이터에 접근가능하며, 어떻게 사용될지를 관리하는 역할을 할 수 있을까요? 디바이스와 애플리케이션간의 데이터 연동이 가능할까요? 자동 번역이나 다른 미디어들의 포맷이 자동으로 변환 될까요? 그런 운영체제는 데이터 취합에 대한 분석이나 개인들이 필요한 데이터를 예측해서 빠른 속도를 위해 로컬에 캐쉬를 두는 기능을 제공할까요? 가비지 컬렉션(garbage collection)을 메모리 포인터에 대해서 하는 것이 아니고 오래된 데이터나 스팸에 대해서 하는 것이 가능할까요? 결제를 하기 전에 신용정보를 체크하고 이용 약관을 어긴 사람들을 찾아내어 사용을 중지시키는 기능을 할 수 있을까요?

개발자들에게 있어서, 네트웍으로 연결된 미래의 세계에서 돌아가는 플랫폼을 만들고, 그 애플리케이션은 어떤 기기에서도 돌아가며, 어떤 지식이나 기능도 가능한 세계를 구현할 대단히 많은 기회가 있습니다. 가능성은 무한합니다. 실패한 시도들은 무수히 많을 것이고, 성공한 사례들의 아이디어는 이곳 저곳에서 베껴갈 것입니다. 합병과 인수가 난무할 것이며, 각기 다른 강점과 약점들을 가진 회사들 사이에서의 경쟁의 살벌할 것입니다.
TAG :
댓글 입력
자료실

최근 본 상품0