7/31/2013

OSCON 2013 참관 후기

감사하게도 회사에서 OSCON 2013을 보내줘서(티켓 + 호텔 + 랜트카를 포함한 전부!!) 블리자드 본사로 온 이후로 처음 소프트웨어 개발 관련 컨퍼런스를 다녀왔다.
생각해보면 한국에 있을때도 네이버나 몇몇 작은 규모의 개발자 컨퍼런스는 다녀왔었지만, 이런 국제규모의 개발행사는 처음 참여한 듯.

미국에 2011년에 왔으니까 올해로 3년째 접어들고 있는데, 의외로 놀랐던 건 왠만한 세션들은 내용을 영어로 듣고 이해하는데 거의 문제가 없었다는 것.
몇몇 외계어 같이 들리는 세션들은 영어 자체가 문제가 아니라 발표자들이 사용하는 용어가 생소하고 내가 그 분야에 대한 도메인 지식이 없기 때문인 듯. 한국어로 하는 개발자 컨퍼런스를 가도 해당 내용을 모르면 이해를 못하는 것과 마찬가지의 경우랄까. ( 라고 스스로를 위로했다 )



어쨌든,  포틀랜드에서 열린 이번 행사는 7월 22~26이었는데, 나는 22/23일은 생략하고 24~26일 티켓으로 참석했다. 다양한 형태의 OSCON 티켓이 있었는데, 지난 해에 참석했던 Todd한테 물어봤을 때 그가 말하길 보통 월/화는 Introduction to ~~ 류거나 대부분 OSCON 스폰서 세션이라고 했기 때문에 굳이 참석하지 않아도 될 것 같았다. 컨퍼런스 가기 전에 회사에 마무리해야 하는 일도 좀 있었고...

대략 몇가지 세션들에 관해서 이야기해보자면...

구글의 Go 언어에 대한 세션이 꽤 많았다. 단지 구글이 점심을 제공하는 스폰서라서라기보다는, 아마도 구글이 만들었고 또한 가장 Go를 많이 쓰고 있는 회사기 때문이 아닐까 싶었다.

빅데이터가 트랜드인 요즘, Hadoop/HDFS/R 등등의 빅데이터 관련 기술 및 분석언어/툴/도구에 대한 세션이 많았고, 또한 당연히 이런 빅데이터 클러스터들을 관리하기 위한 도구들, 이를테면 Chef나 Puppet, 그리고 클라우드 서비스들에 대한 내용들이 상당부분을 차지했다.

"An Overview of Open Source in East Asia" 라는 세션은 발표자가 한국사람들이길래 무슨 이야기를 하려나 하고 들어봤다. 발표자는 박민우/진성주 두 분으로 한국에서 직접 발표를 위해서 비행기를 타고 날라왔던 듯. 다른 한국분이 하는 Rust관련 세션도 있었던 것 같았으나 Rust는 전혀 관심밖이고 한동안 내가 사용할 일이 있을거란 생각이 들지 않았고 다른 세션과도 시간이 겹쳐 생략.
내용은 아시아에서 진행되는 주요 오픈소스 프로젝트들을 소개하면서, 비록 영어라는 언어장벽과 경우에 따라서는 시간차 때문에 영어권 오픈소스 커뮤니티와 의사소통이 잘 안되는 점도 있지만, 그럼에도 불구하고 열심히 하고들 있다라는 것과 영어 못하는 아시아 오픈소스 개발자들 만나도 천천히 침착하게 이야기를 들어달라 라는 식으로 진행되었다. 비교적 작은 컨퍼런스 룸에서 진행되었지만 적지 않은 사람들이 참석해서 아시아권 오픈소스 프로젝트들에 대한 관심을 보였던 것 같다. 그 중에서도 한국은 '싸이' 때문에 최근에 더 유명해진 듯?
같이 갔던 주호님이 발표자 두분이랑 트위터로 알던 사이였고 같이 식사를 하기로 이야기가 되어 있던 터라, 나도 거기 끼어서 이런저런 한국이야기/미국이야기들을 서로 주고받고 페이스북 친구도 맺고, 즐거운 시간이었다.

내가 소속한 팀/부서의 서버 댓수나 사이즈가 페이스북이나 넷플릭스 정도의 사이즈는 아니지만, 종종 추가 QA인스턴스를 설치해야 한다든가 하는 것들을 일일이 수작업으로 진행해야 하서 불편한 점이 많았고(물론 내부적 구현된 VM 매니저를 통해서 VM을 생성하긴 하지만, 그 안의 tomcat/apache/기타 인프라등은 죄다 수작업 업데이트/설정변경 -_-;), 또한 지금 하고 있는 일들이 회사 내 다른 팀들이 내외적으로 사용하는 API들을 제공하는 터라 Facebook 쪽의 scalable configuration management 랑 Netflix API 세션을 들었다.

Facebook쪽 발표는 15K+ 이상의 클러스터 노드들을 달랑 4명의 엔지니어들이 관리할 수 있는 걸 목표로 한 자신들이 왜 Chef를 도입했고, whitelist_node_attrs 과 같이 configuration 들을 어떻게 유지하고 의미있는 데이터로 관리하기 위해 자신들이 무엇을 했는가에 대해서 쭉 설명을 했다.
사실 Chef나 Puppet은 동냥귀로 단어 자체를 듣긴 했지만 실제로 대규모 사이트에서의 use case를 보는 건 처음이었는데, 세션에 참가하는 동안 돌아와서 팀내 공유를 위한 프리젠테이션을 준비하는 과정에서 상당히 많은 내용을 알게 되었는데, 미리 알고 들었더라면 훨씬 더 낫지 않았을까 하는 아쉬움이 있었다.

Netflix의 경우 Netflix REST API를 어떤 식으로 설계했고, 천여가지의 다른 디바이스들을 지원하기 위해서 Java Backend API layer에다가 Groovy + RxJava를 붙여서 사용한다는 것과, scalability를 위해서 AWS로 서버들을 이전한 것, Asgard/Hystrix 같은 자신들이 만든 툴 들의 소개 등등, 꽤나 흥미로웠다.
Hystrix 와 같은 툴들은 팀 내의 유사한 문제를 위해서 도입하면 꽤나 쓸만할 것 같았음.

Database나 Persistent Layer의 경우 MySql/PostgreSQL 자체를 설명하거나 MongoDB등과 같은 NoSQL솔루션과 각 상황에 따른 best practice를 설명하는 세션 외에도, Pivotal 쪽 엔지니어가 진행했던 RDBMS의 ACID와 NoSQL(구체적으로 세션에서는 Redis)의 BASE(Basically Available, Soft state, Eventually consistent) 성질을 하나로 묶어 활용하는 방법을 다뤘던 "Deploying Polyglot Persistent Applications" 이 무척 와 닿았다. 사실 현업에서 게임플레이 데이터라든지 기타 방대한 데이터 처리를 하는 데 있어 이미 RDBMS(오라클이든 MySQL이든)의 한계를 느끼고는 있으나(batch insert만 매일 몇시간이 걸린다든가, 한달 이상된 데이터들은 따로 보관한다든가 등등) 그렇다고 트랜잭션의 개념이 아예 없거나 RDBMS에 비해 제한적인 NoSQL을 덜컥 현업에 도입해서 RDBMS 대신 쓰자는 의견에는 동의할 수 없는 엔지니어들이 많을 텐데, 이 세션은 어떻게 RDBMS와 NoSQL 솔루션들을 함께 사용하면서도 각자의 장점을 취할 것인가에 대한 주제였던 터라 꽤나 흥미로웠다.

박민우/진성주 님 말고도 중간중간에 NHN 비즈니스 플랫폼에서 오신 두분, 그리고 삼성전자쪽 부스에서 타이젠을 비롯한 이런저런 이야기를 같이 했던 분들, 그 외 아무리 봐도 딱 차림이 한국회사쪽 개발자 같고 다른 세션에서도 여러번 본 것 같은데 어디 분들이신지 도저히 알 수가 없었던 많은 분들.. 아무튼 만나서 반가웠습니다. ㅎㅎㅎ

OSCON 에서 배운 것 이외에도, 오레곤의 포틀랜드를 방문한 것이 이번에 처음이었는데, 깨끗하고 대중교통이 잘 발달된 안전한 도시라는 느낌을 받았다.
거리 곳곳에 홈리스들이 좀 있긴 했지만, 최소한 낮에는 위험할 것 같다는 느낌은 없었고, 유명한 부두 도넛도 먹어보고 시내관광도 하고, Powell 서점도 들르고, 스타벅스에 들러서 거기서 아주 유명하다는 와인을 한병 사다가 부두 도넛이랑 함께 먹는 사치도 누렸다.
그러고보니 오리너구리 OOP책을 썼던 Timothy A. Budd 씨가 오레곤 주립대에서 일하고 있었던 것 같은데...
남한의 두배 면적의 사이즈에 인구는 1/10도 안되는 사람들이 살고 있고, 첨단과학관련 연구단지와 회사가 많고, 시에틀이랑도 가깝고, 무엇보다도 Sales tax가 없는게 정말 마음에 들엇다. 평생은 모르겠지만 언젠가 포틀랜드쪽 회사에서 일할 기회가 있다면 한 1~2년 정도는 일 해 보거나 오레곤 주립대 같은곳에서 공부해 보는 것도 좋을 것 같았다. (학생놀이)



회사에서 컨퍼런스를 갔다 오면 한국의 회사들도 그러하듯 일명 '전파 교육' 형태로 간단하게 프리젠테이션을 하도록 권하고 있는데, 안한다고 험악한 분위기가 연출되거나 하는 건 아니지만 대부분의 엔지니어들이 기꺼이 다녀와서 프리젠테이션을 하고 있고, 또 워낙 얘내들이 말하는 걸 좋아해서(한국 사람들의 평균에 비해?) 안하는 애들을 본 적이 없는지라 나도 오늘 오전에 OSCON 2013 Wrap Up 이라는 내용으로 Facebook, Netflix API, Spring Framework Updates 3개의 주제로 대략 35분 정도의 프리젠테이션을 마쳤다.
지금 생각해보니 한시간짜리 tech talk 인데 Joe가 한 10여분 하고 내가 30분 이상을 써버려서 뒤에 발표했던 주호님은 시간이 많이 부족하셨을 듯.
늘 그러하듯 영어 프리젠테이션, 특히 기술관련 프리젠테이션은 참 어렵다는 걸 다시 한번 느끼며.. OSCON 2013 참관 후기 끝.

저녁에 집에 가면 찍었던 사진 몇장이라도 함께 올려야겠다. 맥OS용 MS Live Writer 수준의 블로깅 툴이 나오면 좀 더 열심히 블로깅을 할 수 있지 않을까라는 생각도 들지만.. 그놈의 Mars랑 Ecto는 영 마음에 들지 않는단 말이지.

요즘 포스팅을 모두 medium쪽으로 하고 있습니다

안녕하세요? 어쩌다보니 그냥 한번 써보기로 한 medium.com 에다가 죄다 최근 포스팅을 하고 있습니다. 현재 도메인인 potatosoft.com 은 제가 대학때인가 사회 취업한지 얼마 안됐을때부터 유지해 온 도메인이고, 블로그 시스템은 그...