
최근 아마존, 구글, 페이스북 등의 행보를 보면 플랫폼 경쟁이 뜨겁습니다. 사용자에게 직접 드러나는 부분은 아니지만 이와 같은 탄탄한 기초가 없으면 점점 늘어나는 사용자와 데이터를 감당하기 어려울 것입니다. 이번 인터뷰에서는 이와 같은 분산 플랫폼을 개발하는 NexR의 한재선 님을 만나보았습니다.
한재선 | NexR 대표이사, 블로그(http://www.web2hub.com)
대학원에서는 어느 분야를 연구하셨나요.
P2P, 그리드 컴퓨팅, 대규모 분산 시스템을 연구했는데 주로 석사 때는 웹 인프라 쪽이었고, 박사 때는 P2P였습니다. 즉 굉장히 넓은 네트워크에 여러 가지 시스템이 있고 – 다시 말해 분산 시스템이죠 – 그런 시스템들이 어떻게 유기적으로 일을 할 수 있게 할지에 대해 연구했습니다.
웹 2.0 연구 모임인 구글 SIG는 어떻게 시작하셨나요.
2005년에 박사를 마치고 외국으로 박사 후 연구 과정(postdoctoral)을 나가려고 준비를 하다가 사업을 하기로 생각을 바꾸고 무엇을 할까 찾기 시작했습니다. 당시 웹 2.0이란 말이 떠오르는 것 같았고 이걸 혼자 공부하기보다는 카이스트 학생들과 함께 하는 게 좋겠다 싶어 구글 SIG(Special Interest Group)를 만들었습니다. 학부생, 대학원생 들이 모여 함께 공부도 하고 전문가를 초청해 강연도 듣고 했습니다. 아마도 구글 SIG가 국내에서는 거의 최초의 웹 2.0 모임이었던 것 같습니다. 구글 SIG를 통해 여러 전문가를 많이 알게 됐고 관련 컨퍼런스도 기획을 하기도 했습니다.
학교에 남지 않고 사업을 하기로 한 계기는 무엇인가요.
특별한 계기는 없습니다. 물론 연구는 그 나름대로 가치가 있습니다. 사람들에게 새로운 것을 보여주고 영감을 불러일으키는 기능을 하니까요. 다만 제가 만든 게 실제로 사람들에게 쓰이며 세상에 영향을 끼치는 일을 좀 더 해보고 싶다는 생각이었습니다.
사업에 나섰을 때 익숙하지 않았던 점은 무엇인가요.
보통 초기 자본이 문제인데 제 경우에는 자금 측면에서는 그다지 고생을 하지 않았습니다. 처음에 프로젝트를 하나 맡게 됐고 그것을 기반으로 시작했기 때문에 좀 수월한 편이었습니다. 어렵다고 느낀 점은 경영이나 재무입니다. 특히 재무는 너무 복잡하더군요. 또 하나는 사람을 구하는 것입니다. 초기에 함께 일할 사람을 찾는 게 힘들었고 지금도 고민하는 부분입니다. 하둡(Hadoop)이나 그와 같은 플랫폼 개발에 관심 있는 개발자 분들은 제게 연락 주시면 감사하겠습니다. (웃음)
연구자로서 이상과 사업에서 실천이 상충하는 경험은 없었나요.
연구는 주로 논문을 쓰면서 프로토타입을 만드는 걸로 끝납니다. 5~10년 후에나 쓸 기술도 마음 놓고 생각해도 되죠. 그런데 사업을 하면서 그러면 망하겠죠. 개인적으로는 두 가지 사이에서 괴리를 별로 못 느꼈습니다. 원래 실용적인 것을 좋아했고 최근 학계의 연구 스타일 역시 비즈니스 도메인과 가까워지는 추세라 1~2년 안에 쓸 수 있는 기술을 연구 대상으로 하기 때문에 지금 하는 일을 하면서 여력이 생기면 그걸 바탕으로 연구도 하고 논문도 쓸 수 있으리라 생각합니다. 또 연구가 제게 잘 맞는다는 생각이 들어 사업은 어느 정도 선에서 그만 두더라도 연구는 계속 할 수 있을 것 같습니다.
1인 다역(사업, 강의, 연구)은 어떻게 해내시나요.
일하면서 짬짬이 하는데 사실 어렵습니다. 각각의 일에 들어가는 시간과 힘을 잘 조절하는 스타일이 아니고 한 가지 일에 몰입하는 편이라 다 같이 하는 게 쉽지 않습니다. 앞으로는 사업에 중점을 두면서 연구도 사업과 연관 지어 하려고 합니다. 블로그(http://www.web2hub.com)는 개인적으로 계속 쓸 생각이고요.
플랫폼이란 말이 다양한 분야에서 폭넓게 쓰이는데 먼저 그 범위와 의미를 한정하고 NexR에서 개발 중인 시스템에 대해 이야기 나누는 게 좋겠습니다.
NexR에서 다루는 플랫폼은 인프라에 해당하는 것입니다. 즉 인터넷 서비스든, 게임이든, 기업 전산이든 그것을 지탱하는 데 필요한 기반 하드웨어•소프트웨어(운영체제, 데이터베이스, 분산 처리 시스템 등) 구조를 말합니다. 그 중 NexR에서 집중하는 것은 대용량 데이터를 저장하고 처리할 수 있는 플랫폼입니다. 현재 디지털 데이터가 굉장히 많이 나오고 있습니다. 인터넷만 봐도 많죠. 이메일, 각종 웹 페이지, 블로그와 엄청난 양의 댓글, 이것들을 저장하고 처리해 가치 있는 데이터를 뽑아내는 것 자체가 매우 어려운 일이고 이에 대한 필요성도 높아지고 있습니다. 한 발 더 나아가면 지금은 인터넷에 초점을 맞추고 있지만 향후에는 바이오•제조•지진 상황•석유 시추•RFID•유비쿼터스 시대의 각종 센서 데이터 들이 가공되지 않은 상태로 엄청나게 쏟아질 텐데 그것만으로는 아무 의미도 없고 분석해 뭔가를 뽑아내야 하므로 대용량 데이터 저장 처리 플랫폼이 중요해지리라 봅니다. 거기에서 또 다른 경쟁력이 나올 것이고요.
해당 기술에 대해 확신이 있었나요.
말씀 드린 플랫폼이 나올 것이라는 생각을 전부터 하고 있었습니다. 다른 분야도 마찬가지겠지만 컴퓨터 과학 분야의 기술이란 것이 느닷없이 도약해 나오는 것이 아닙니다. 대부분 어떤 흐름에 따라 나오게 되어 있거든요. 플랫폼 기술이란 것도 지금까지 성숙해 온 것이 현재 상황에 맞아 떨어진 것입니다. 데이터가 많아졌는데 기존 접근 방식으로는 어렵게 됐고 앞으로는 플랫폼적인 접근 방식으로 계속 나가리라 생각했습니다.
개발 시작부터 하둡과 젠(Xen)을 기반 기술로 염두에 두셨던 건가요.
원래는 직접 만들려고 생각한 적도 있었습니다. 문제는 대규모 분산 시스템 자체가 쉽지 않고 인력도 많지 않다 보니 아무리 잘 만들어도 다른 사람들이 이미 오픈 소스로 만들어 놓은 것이 더 낫지 않을까 하는 생각이 들었습니다. 그래서 방향을 돌려 현재 가장 완성도가 높은 하둡을 선택했습니다. 가상화 기술인 젠은 박사 과정 때 연구하던 주제 중 하나였는데 하둡과 연결이 됐습니다. 현재 하둡은 배치 등 관리 작업이 어려운데 가상화를 이용하면 편하겠다는 생각이 들었습니다. 또 대규모 클러스터를 구축했을 때 자원을 적절히 분배하는 것이 필요한데 그런 면에서도 가상화가 유리해서 가상화 기술 중에서 많이 쓰이는 젠을 선택했고 이를 기반으로 VCC(Virtual Cluster Center)라는 시스템을 개발했습니다. 앞으로는 젠 외에도 KVM 등 다른 가상화 기술도 활용할 계획입니다.
VCC를 제대로 테스트하려면 많은 하드웨어 자원이 필요할 것 같은데…
어려운 부분입니다. 바람이 있다면 이러한 플랫폼과 시스템에 대한 필요성이 높아지고 있으므로 기업 간 협력이든 정부 차원이든 이런 플랫폼을 올리고 분산 애플리케이션을 운용해 볼 수 있는 테스트 환경을 제공했으면 하는 것입니다. 미국에서는 지난해부터 구글, IBM, 야후에서 각 대학에 자사의 분산 플랫폼 클러스터를 제공해 무상으로 쓸 수 있게 하고 있거든요. 이런 움직임이 국내에서도 일어난다면 좋겠습니다. NexR에서 독자적으로 하드웨어를 지원하기는 어렵고 대신 분산 시스템을 가르치는 교과를 기획하고 그 과정에서 쓸 수 있는 소프트웨어를 제공하는 방안을 고민 중입니다.
하둡에서 마음에 들었던 부분과 그렇지 않았던 부분은 무엇이었나요.
구글 논문에 나온 대로 대부분 동작하고 야후에서 1만 대 이상에서 운영한 사례가 있기 때문에 만족스러운 편입니다. 다만 해보고 싶은 기능이 되지 않거나 하둡의 Map/Reduce 스타일에 제약이 좀 있는 것은 불편합니다. 또 하둡 자체의 문제라기보다는 구글이 제시한 분산 처리 프로그래밍 방식인 Map/Reduce의 문제라고 볼 수도 있는데 Map/Reduce로 짤 수 없는 분산 처리 프로그램도 많은데 이것마저도 Map/Reduce로 풀려다 보니 머리가 약간 아프기도 합니다.
그럼에도 불구하고 Map/Reduce가 주목을 받는 이유는 무엇인가요.
프로그래밍 인터페이스가 간단하고, 분산 처리를 알아서 해주는 부분이 있습니다. 동기화 같은 로우 레벨 부분에 대해 신경을 덜 쓰게 되어 있는데 Map/Reduce 모델에서는 각각의 모듈이 서로 상호작용 없이 독립적으로 돌아간다고 가정하고 있기 때문입니다. 반대로 상호작용이 필요한 애플리케이션은 못 짜거나 다른 방식을 접목해야 한다는 제약이 있습니다. 이런 제약이 있지만 머리를 써서 어떻게든 독립적으로 돌아가게 만들면 나중에는 오히려 더 낫다는 것이 구글의 생각입니다. 또 다른 장점은 재사용성이 높다는 점입니다. 구글은 이와 같은 수천 개의 Map/Reduce 모듈 덕에 높은 생산성을 누리고 있습니다.
구글 사례에서 보듯이 이 분야의 경쟁력은 결국은 소프트웨어 안전성 같습니다. 개발하시면서 겪는 어려움은 무엇인가요.
분산된 소프트웨어들이 서로 살아 있는지 확인하는 부분이 쉽지 않습니다. 이 과정에서 서로 신호를 주고 받는데 정상적인 상황에서 신호가 잘 가면 문제가 되지 않겠지만 네트워크에 지연이 생기거나 서버가 바쁘다거나 해서 중간에 신호가 가질 않으면 살아 있어도 죽은 게 됩니다. 즉 분산된 환경에서 다양한 변수가 개입하고 이를 모두 고려해 안전성을 확보해야 하는 게 어려운 점입니다.
지난 플랫폼데이 2008에서 시연한 MR.Flow는 어떤 구상에서 나온 서비스인가요.
앞으로는 다양한 Map/Reduce 모듈이 나올 것이고 이것들을 조합해 사용할 수 있게 될 것입니다. 그런데 레고 블록처럼 Map/Reduce 모듈을 조립할 수 있는 기능이 아직 하둡에는 없습니다. 게다가 Map/Reduce에 대해 모르는 사람이 태반이고요. 사용자가 Map/Reduce에 대해 잘 몰라도 기존 모듈을 엮어 원하는 기능을 얻을 수 있다면 좋지 않을까 하는 아이디어에서 나온 것이 MR.Flow입니다. 예를 들어 프로그래밍을 잘 모르는 바이오 분야 연구자들에게 필요한 모듈을 제공하고 연구자들이 필요에 따라 모듈을 조합해 원하는 결과를 얻을 수 있게 하는 것이죠. 야후 파이프(http://pipes.yahoo.com/)와 비슷하다고 보면 됩니다.
MR.Flow에서 사용성이나 개발 생산성 면에서 좀 더 개선하고 싶은 부분은 무엇인가요.
MR.Flow는 대상 사용자가 개발자가 아니라 해당 분야 전문가입니다. 당연히 개발에 익숙하지 않으므로 웹 화면에서 쉽게 쓸 수 있어야 합니다. 플랫폼데이에서 시연한 것은 여전히 어려운 편입니다. 설정할 것도 많고 복잡했죠. 현재 그런 어려운 부분을 다 없애고 있습니다. 최종 목표는 모듈 상자만 끌어다 붙여 이어 쓸 수 있게 하는 것입니다.
누구나 조립할 수 있으려면 결국 Map/Reduce 모듈 수가 상당히 많아야 할 것 같습니다.
만드는 중입니다. MR.Flow만 있어서는 이어 붙일 게 없으니까요. 지금 만들고 있는 것들을 나중에는 오픈 소스로 내놓을 계획입니다. 현재 기계 학습(machine learning) 패키지들을 Map/Reduce화하는 중이고 그것들을 MR.Flow에 연결하려 합니다. 또 하둡으로 만든 Map/Reduce들을 모으는 사이트도 함께 개설할 예정입니다. Map/Reduce를 위한 소스포지가 되는 것이죠.
이런 기술이 폭넓게 쓰이기에는 한국 시장 규모가 그다지 크지 않은데…
기계 학습 Map/Reduce 모듈을 해외에도 공개할 계획입니다. 다행히 문화적 요소의 영향을 받는 사용자 대상 웹 서비스와 달리 기술만 있으면 되기 때문에 국제적으로 나가는 데 큰 문제는 없을 것 같습니다.
이 분야에 들어오려는 개발자에게 필요한 지식은 무엇일까요.
분산 프로그래밍이나 병렬 프로그래밍 지식이 기본으로 필요합니다. 그에 대한 교육이 점점 더 중요해질 거고요. 구글, IBM, 야후에서 각 대학에 분산 플랫폼을 제공한 것에 대해 앞서 말씀 드렸는데 이는 분산 프로그래밍 교육이 본격화함을 시사한다고 볼 수 있습니다. 한국에서도 이를 위한 교육을 시작해야 할 것입니다. 분산 프로그래밍을 하려면 알고리즘을 개별 작업과 개별 작업의 집합(aggregation)을 나눠 볼 수 있게 훈련되어야 하고 이를 학습하는 데는 많은 노력이 필요합니다.
충분한 시간과 돈, 체력, 인력이 주어진다면 어떤 플랫폼을 만들어 보고 싶으신가요.
다른 개발자들도 비슷한 생각을 할 것 같은데, 아마존 S3나 구글 앱 엔진을 보면 서비스 개발 시 인프라 부분에 대한 고민은 서서히 해결되어 가는 것 같습니다. 여기서 한 발 더 나아갈 것이라고 보는데요. 인프라뿐만 아니라 서비스에 필요한 기능 구성요소까지 제공할 수 있다면 사용자는 서비스에 필요한 데이터만 준비해 자신만의 서비스를 만들 수 있을 것입니다. 그렇게 되면 UGS(User Generated Service)나 UCS(User Created Service)라는 유행어가 생기겠죠. 이런 플랫폼이 나올 것 갈고 한 번 만들어 보고 싶은 생각이 있습니다.
미래에는 이런 플랫폼 기술이 어느 정도까지 발전하리라 예상하시나요.
지금까지는 데이터를 쌓고 보여주다가 최근에는 아마존 추천 시스템 같은 서비스가 활성화되고 있는데 사실 이런 일은 사람이 할 수도 있는데 데이터 양이 워낙 많고 시간도 부족해 못하는 것을 기계가 대신해 주는 것입니다. 미래에는 사람들이 미처 생각하지 못한 것을 창조해 내는 것도 가능할 것 같습니다.
연구나 사업을 통해 기술적 성취 외에도 이루고 싶은 것이 있다면…
어느 정도 여유가 생기면 문화와 전산 기술이 함께 하는 작업을 해보고 싶습니다. 예를 들어 음악과 전산 기술을 합쳐서 할 수 있는 부분들을 구상해 보고 싶습니다. 또 세상에 기여하는 것에 대해 고민이 있습니다. 엔지니어가 개발한 기술이 세상에 항상 도움이 되는 것 같지는 않습니다. 엔지니어 중에는 이런 고민을 하는 사람들이 있을 겁니다. 회사가 제 궤도에 오르고 여력이 있으면 지속 가능한(sustainable) 디지털 기술을 연구해 보고 싶습니다. 개인적으로는 취미가 탱고인데, 탱고를 좀 더 잘 추었으면 하는 바람이 있습니다.
[한재선 소개] 2005년에 KAIST에서 분산 시스템 연구로 박사 학위를 받았고 이후 웹 2.0과 플랫폼에 대한 연구를 계속해 오다 2007년 초 플랫폼과 클라우드 컴퓨팅을 주력으로 하는 넥스알을 창업하여 대표이사를 맡고 있다. 플랫폼에 관심이 많고 거시적인 관점에서 시스템을 설계하고 구현하는 것을 즐기며 문화 등 타 분야와 융합에 관심을 가지고 있다.






![[2월-2주] 주간 포털 브리핑 포털로고](http://www.bloter.net/files/2011/01/logos_portal.jpg)








![[블로터포럼] 2012년 모바일게임, 레드오션 속 기회 찾기](http://www.bloter.net/files/2012/02/bloter_forum_20120201_1_500-022.jpg)



![[블로터TV 테크포럼]⑥빅데이터란 무엇인가](http://www.bloter.net/files/2012/02/blotertvtf-bigdata1.jpg)
![[블로터TV] 얼굴이꽉찬방송 ⑭전자지갑 전성시대](http://www.bloter.net/files/2012/02/120203-big-face-500x333.jpg)





![[새싹] ⓛ장선진 소프트웨어인라이프 대표](http://www.bloter.net/files/2012/02/softwareinlifeceo120210.jpg)





