최고의 개발자 세미나, Deview2012 를 다녀와서.


3회째를 맞는 Deview 는 이제는 명실공히 국내 최고의 컨퍼런스라고 평가 할수 있을 만하다. 1회때의 NHN, 네이버 위주의 세션(솔직히 퀄리티는 1회가 최고였다.) 에서 2회때는 SK와 대학교쪽에서 참가를 하고 SDEC2012 가 따로 열렸다. (2회의 가장 문제점은 SK 측의 성의 없는 준비였다.) 그래서 3회에는 SDEC2012 가 DEVIEW와 같이 치러지게 되었고 문제(?)가 되었던 SK 세션은 많이 줄어들게 되었다. 작년은 스마트폰과 앱 개발 열풍으로 많은 세션들이 모바일 관련 한 세션들이 많았다면 올해는 SDEC과 함께 단연 빅데이터와 분산 그리고 병렬처리에 대한 부분이 핵심이었다. 



필자가 들은 세션은 다음과 같다. 하나하나씩 차례대로 내용에 대해서 설명을 하겠다. 


 



1. Real-time large data at Twitter 

Raffi Krikorian | Twitter







단연 첫 세션은 트위터 세션이었다. 정말 많은 사람들이 왔고, 나 역시 땅바닥에 앉아서 들을 수 밖에 없었다. 트위터 세션에서는 트위터에서 얼마나 많은 데이터가 발생되고 있으며, 우리가 보는 타임라인, 모바일 등으로 어떻게 전달되는지, 그리고 그 과정에서 무엇을 쓰는지를 설명해 주었다. 사진을 찍을새가 없었지만, 간단히 애기하자면, 



사용자가 글을 쓰면[write], 해당 내용을 메모리 DB(redis)로 전달(fanout)을 하고 redis에 있는것을  타임라인으로 가져가는 방식이라고 보면 된다. 내 눈에 들어왔던 것은 단연 redis 였다. 타임라인에 한해서만 redis를 사용하고 나머지 부분은 memcached를 사용한다고 하는데, redis에 한해서만 변경한 것이라고 한다. 통역기가 있었다면 좀 더 많이 알아들었을텐데 조금 아쉽기는 하다. 전반적으로 외국인이 와서하는것 치고는 편안한 분위기였다는 생각도 들고, 깊이있는 질문들도 있었다고 생각한다. 




2. Apache Kafka: Inside LinkedIn’s distributed publish/subscribe messaging system

Richard Park | LinkedIn


링크드인에서 온 분이 설명하는 세션이었는데 기본의 ActiveMQ 의 메시징 시스템을 사용해왔었는데 링크드인의 성장세를 당할수가 없어서 자체적으로 만들고자 한것이 바로 kafka 이다. 스칼라(scala)를 기반으로 작성되어 있으며 기본적으로 생산자 – 브로커 – 소비자로 이루어진 시스템이고, zookeeper 가 브로커를 관리하도록 구성하였다고 한다. 브로커가 로드밸런싱의 역할을 한다고 한다. 이벤트, 로그, 메시지 등 무엇이든 보낼 수가 있고, 또한 다양한 언어에서 활용할 수 있는 API를 제공하고 있다. AVRO라는 데이터 직렬화 시스템(Data Serialization System) 을 사용한다고하는데 이것은 JSON 스키마와 유사하다고 한다. 찾아보니 Apache project로 제공되고 있다. 



이 세션은 개인적으로 Deview2012 에서 들었던 세션중에 가장 듣기 어려운 세션이었다.(통역기가 있었다.) 내용이 어려운것 보다는 일단 너무 말이 빨랐고, 잘 보이지 않는 프리젠테이션 자료에 조금 짜증이났다. 카프카(kafka)는 아직 아파치 인큐베이터 상태이기 때문에 살펴보는것은 좋으나 바로 적용은 어렵겠다라는 생각이 들었다. 현재 링크드인의 데이터  홈페이지에 가면 최신 자료를 얻을 수 있다. 





3. 클라우드를 위한 스토리지 기술 – PFS2

김홍모 | KTH 분산기술랩 팀장






단연 최고의 세션이라고 생각한다. KTH 분들의 프리젠테이션 방식은 정말 알아듣기 쉽고 청중을 배려하다 못해 떠 받든다고 보여지기 까지 한다. 내용 자체는 왜 이중화/삼중화가 필요한가에 대한 내용이 주였다. 



막연하게 이중화 삼중화가 더 좋다라고 생각되시는 분들이라면 반드시 들어보시라고 권하고 싶다. 정량적으로 이중화 삼중화가 얼마나 더 신뢰성과 가용성 측면에서 유리한지에 대해서 설명해 주고 있다. 하나의 머신에서는 신뢰성을 지키기는 쉬우나, 다량의 머신이 들어가는 상황이라면 당연히 신뢰성이 떨어지게 된다. 그리고 그러한 신뢰성을 높이기 위해서 이중화가 필요하다고 말하고 있다. 또한 클라우드 시스템에서의 파일 시스템을 설명하면서 자사의 시스템에 대해서 설명하기 보다는 구글의 GFS(Google File System) 을 설명하면서 청중의 이해를 돕는 방식도 좋았다. Erasure Code를 이용해서 원 파일을 복원 할 수 있다는것 자체도 신기했다. 오히려 PFS2에 대한 내용을 별루 없어서 약간 당황스럽긴 했다^^;; 




4HDFS Architecture:How HDFS is Evolving to Meet New Needs

Aaron T. Myers | Cloudera






이 세션은 기본적으로 HDFS 에 대한 이해와 사용을 한번이라도 해본 사람이 들어야 하는 세션이다. 현재 HDFS의 문제점이 무엇이고 이전 버전에서 왜 그렇게 작업을 했는지에 대해서 설명을 하였다. 싱글 네임노드의 문제점  등등.. 그리고 현재 작업중인 버전에서는 어떻게 지원을 할 예정인지, 어떻게 보면 HDFS 관련 자료를 찾아보는것이 더 나을것 같다는 생각조차 들었다. 세션자체도 너무 길어서 좀 허무했던것 같다. 





5. Google’s Engineering Culture

권순선 | Google




트위터 세션 만큼이나 사람들이 많았던 세션인데, 프리젠테이션 하시는 분 말처럼 사실상 3년차 이상의 소프트웨어 엔지니어를 위한 세션이라는 생각이 든다. 구글의 업무 환경에 대한 내용보다는 본인께서 S사, N사 그리고 구글 코리아에서 일하면서 느꼈던 점을 몇가지 소개해주셨다. 자유로운 출퇴근, 형식없는 보고, 누구나 볼수 있는 소스코드 그리고 무엇보다도 인트라넷이 떠 있는 전설적인 개발자들(귀도 반 로섬 등등) 



사실상 구글에 대한 막연한 꿈이라기 보다는 조금더 현실적인 내용을 알려주셨던 것 같다. 제목만보고 구글의 문화에 대해서 팀 운영방식에 대해서 기대하셨던 분이라면 조금 아쉬웠을 것 같다. 




6. Netty Internal

이희승 | Twitter 소프트웨어 엔지니어





개인적으로 네티에 대한 명성을 들어서 가장 기대했던 세션이고, Deview2012가 있기전에 실제로 netty로 몇가지 작업을 해보긴 했었다. 그런 과정에서 의문이 생기는 부분이나 잘 모르는 부분을 보충하기 위해서 들었던 세션이었다. 대부분의 사람들이 네티를 사용해본 사람들이었고 실제로 내용역시 네티에 있는 여러가지 용어를 사용해 가면서 설명했다. 간단히 애기하자면 자바 기반의 네트워크프레임워크라고 보면 될것 같은데 사용자가 소켓에 대한 직접적인 구현 없이 다양한 네트워크 프로토콜을 만족하는 어플리케이션을 개발 할 수 있도록 도와준다. 


이렇게 해주는 것이 네티외에도 많은데 왜 이것을 사용해야하는가에 대해서 묻는다면, 대답은 이미 많이 검증되었고, 네티를 개발하고 있는 개발자가 한국인이라는 점이기 때문이다. 실제로 동시접속자가 많은 게임 서버를 네티로 개발했다는 개발자고 있고, 개발을 주도적으로 하시는 이희승씨 역시 네티 한국 개발자 그룹에서 친절하게 답변을 해주신다. 



개인적으로 기존의 네티 사용자에게 앞으로의 나아갈 방향과 그리고 이전에 있었던 문제들을 어떻게 해결하고있는지에 대해서 잘 설명해주는 세션이라는 생각이 들었다. 




세션별 리뷰는 이것으로 마치고 전반적인 평가를 하자면, 



일단 접수처와 세션장소가 분리가 되어서 좋았던 것 같다. 그렇지 않았다면 많이 복잡했을수 있을것 같다는 생각이 든다. 한편으로는 사전 접수때 이미 시간표 작업을 통해서 주최측에서 어떤 세션에 얼마나 몰릴것인지에 대해서 예측이 가능했을 것이라고 생각이 되는데, 그에 대한 대처가 조금 아쉽긴 하다. 너무 많이 몰릴 세션이라면 장소하나를 통합해서 참석자에게 좀더 편안하게 들을 수 있게 할수 있지 않았을까 하는 생각이 든다. 



그리고 이전 회와는 다르게 진짜 어린 분들이 많이 왔다.(고등학생들도..) 심지어 구글 세션에서는 발표자분께서 직장인이 아닌 분들은 들을 필요가 없다고 하셨다. 이처럼 Deview2012 자체는 어느정도 경력이 있는 분들이 들어야 알만한 내용들이 많았다. 어린 분들이 많이 온것이 문제라는 것이 아니라, 세션 소개에 좀 더 자세한 주제나 내용에 대해서 설명해 준다면 수준과 관심에 맞게 더 선택을 잘 할수 있지 않을까 하는 생각이 든다. 필자 역시 HDFS에 대해서 들었는데 HDFS 자체에 대해서 기본부터 설명해주는 줄 알았는데, 그게 아니여서 조금 후회 했다. 


무료라는 점 역시 양날의 검이 아닌가 싶기도 하다. 많은 분들이 들을 수 있지만, 단돈 10,000원 이라도 참가비가 있어도 좋을만큼 주최측에서 노력을 많이 한다고 생각한다. 3회째를 맞이한 지금 DEVIEW는 10,000원 이라는 것이 아깝지 않다. 그 돈으로 다른 행사를 한다던지 아니면, 참여할수 있는 세션을 다양화 한다던지 하는 식으로 활용할 수 있다면 더 좋은 Deview가 될것이라고 기대한다.