2015년 2월 6일 금요일

Docker & Mesos - 그 역학관계에 대하여....

가상화 기술 -> 클라우드 컴퓨팅 -> OpenStack & Hadoop Eco System 에 이어…..요즘 Docker 기술에 대하여 많은 글들이 Posting 되고 있습니다.

Docker는 일종의 Process Virtualization 기술인데요…

그 시작에 역쉬 Google 이 있습니다. 구글이 1년에 한편 꼴로 발표했던 논문들을 Open Source 진영에서 아래처럼 따라가고 있었는데요..대표적인것들이 아래와 같습니다.

[ Google ]                  vs      [Open Source]
GFS(2003)                      vs        HDFS
MapReduce(2004)             vs        MapReduce
Chubby(2006)                  vs        zookeeper
BigTable(2006)                 vs        HBase
Dremel(2010)                   vs        Drill,Impala, ( vs Spark )   
Omega(2013)                   vs        Docker, ( vs Mesos 접근 방법이 좀 다르지만.. )

위 처럼 그 말단 중… 바로 전 세대가 SQL on Hadoop(with In-Memory Technology.기술로서 Dremel   vs   Impala , Drill, Spark …였다면…(현재 춘추 전국인데… Spark로 많이 기울었음..)

지금 막 시작하고 있는 기술이 Docker 가 되겠습니다.

그런데 Dremel 때부터, 약간 3파전 양상을 띠고 있습니다. , 구글이 Dremel 논문을 발표하고, Open Source Drill , Impala 등으로 논문 뒤 쫓아가기를 시작 했는데, 버클리DB 로 내공이 상당한 버클리 대학의 AMPlab 이 구글 논문에 자기들 만의 아키텍처를 더하여, 약간 많이 변형된 대항마를 내놓고 있다는 것입니다.
Dremel 에 대항하는 Spark  는 그렇게 현재 SQL on Hadoop 춘추 전국에 종지부를 찍으며, 거의 천하 통일을 하려는 듯한 분위기를 이끌어 가고 있습니다.

그리고 아직은 초창기라 태동 단계이긴 하지만… Docker 진영이 생겨났고. 역시 버클리대학 AMPlab이 주도하는 또 약간 변형되어 접근되고 있는 Apache Mesos 가 있다 하겠습니다.
(저희 BigData 시스템 Production 에 얼마전 새롭게 추가된 Layer 입니다.)

둘의 역학관계를 잘 설명하는 좋은 슬라이드가 있어 공유 합니다. 각각 약간 다르게 접근되고 있어, 장단점이 극명하여, 함께 쓰는 시나리오를 설명하고 있습니다.


사실 Docker 와 Mesos 는 접근 방법이나 철학이 좀 다를 수는 있습니다. 그러나, 저의 주관적인 생각으로는 접근 방법이 어찌 되었든...둘다 Process 관점에서 추상화된 레이어 위에서 구동에 주력하고 있어, 한통속으로 여겨진다는 것입니다. 단지, Mesos는 Process(혹은 task) 를 추상화된 복수의 수많은 클러스터에서 손쉽게 병렬 혹은 centric 구동 하게 해준다는 측면으로 접근하였고, Docker 는 가상화 OS 가 아니라 가상화 Process 를 부모 OS와 독립하여 구동하는 것 자체에 집중하여 접근하였다는 차이가 있습니다. 그래서.... 최근에는 Docker 를 Mesos 위에 올려서 그 각 접근 방식의 장점을 어느정도 취합하려는 시도도 조금씩 보이긴 합니다.

아래는 홀로 독주하는(물론 모두 Open Source 화 하였음…) 버클리대학 AMPlab Data Analytics 스택입니다. 아래 스택에 저희와 겹치는게 2/3 이상이네요..
Spark 를 매우 잘 쓰고 있는 기업 중 하나는, 이미 Amazon을 뛰어 넘어, 세계 최대 쇼핑몰이 된 중국 알리바바의 Taobao 쇼핑몰입니다.
공식적으로 Production 환경에서 Spark On Yarn Cluster 를 세계 최초로 적용한 기업이 알리바바의 Taobao 입니다.


아마도 국내에서는 Production 환경에서 Spark On Mesos Cluster 를 국내 최초로 적용한 기업은 저희가 아닐런지...