2012.10.04

2012년 분야별 최고의 오픈소스 소프트웨어 124선

Peter Wayner | InfoWorld

 
올해로 6회째를 맞는 '최고의 오픈소스 소프트웨어' 시상, 일명 '보시(Bossies) 2012' 선정 결과를 발표한다. 올해는 인포월드(InfoWorld)의 객원 기고가들과 함께 애플리케이션 개발 툴 등 총 7개 부문에서 100개 이상의 최고 소프트웨어를 선택했다. 특히 올해부터는 게임 부문이 신설됐다.
 
선정 분야가 늘어난 것처럼 전체 오픈소스 소프트웨어의 숫자도 많아졌다. 소스포지(Sourceforge)에 따르면 9월 중순 기준 400만회 이상의 다운로드가 이뤄졌고 3,402건의 개발 의뢰, 722개의 버그 개선 등이 진행됐다. 가장 인기 있는 것은 VLC 동영상 플레이어다. VLC는 다른 상용 플레이어와의 경쟁에서도 승승장구하고 있다. 오픈소스 코드 공유 서비스인 지트허브(GitHub)를 봐도 브라우저(jQuery)와 서버(Node)를 위한 자바스크립트 코드의 다운로드 횟수와 버그 개선 건수가 크게 증가하고 있음을 확인할 수 있다.
 
우리는 이렇게 왕성하게 개발되고 있는 소프트웨어 가운데 가장 흥미진진하고 스마트하며 유용한 오픈소스 소프트웨어를 골라냈다. '보시2012' 선정 결과를 보면 올해 오픈소스 분야의 주요 동향을 함께 이해할 수 있을 것이다.
 
하둡, 탭 댄스를 추며 태어난 코끼리
하둡(Hadoop) 기술을 활용한 일련의 소프트웨어들은 올해 모든 오픈소스 분야를 통틀어 가장 흥미로운 모습을 보여줬다. 기술적으로만 보면 하둡은 특정 문제를 해결하기 위해 수많은 장비를 동원, 막대한 양의 수치계산을 하는거대한  소프트웨어 스택(Stack)의 일부분에 지나지 않는다. 그러나 이미 우리가 알고 있는 것처럼 기업의 주요 임원들이 '하둡'이라는 단어를 캐치 프레이즈처럼 사용하고 있다. 이 때문에 구글 맵 리듀스(MapReduce) 프로그래밍 언어인 피그(Pig), 하둡의 데이터 웨어하우스 솔루션 하이브(Hive) 등 하둡 자체보다 더 유용한 프로그램들을 종종 간과하기도 한다.
 
하둡은 마치 빅 데이터의 표지 모델과 같다. 구글 맵 리듀스 기술에 기반한 소규모 실험으로 시작돼 노드(Node)로 이루어진 랙(Rack) 전반에 분포되어 있는 대규모 데이터 처리를 위한 코드의 집합체로 성장했다. 그 결과는 매우 성공적이어서 맵 리듀스 기술을 주도하고 있는 구글의 엔지니어들이 질투하고 있다는 소문까지 들린다. 구글은 맵 리듀스 프로젝트를 계속 수행하고 있지만 하둡의 오픈소스 특성상 다른 인터넷 기업들도 이를 도입해 빅 데이터라는 가장 어려운 문제를 풀 수 있게 됐다.
 
특히 하둡은 인터넷 업계에서 오랜기간 두각을 나타내지 못했던 야후에게 중요한 의미를 갖는다. 야후는 하둡 초기부터 그 성과에 기대를 걸고 상당한 지원을 제공해 왔다. 야후는 하둡의 성과를 모든 사람들과 공유했고 그들은 다시 그 모든 것을 공유해 완전히 새로운 소프트웨어 생태계를 구축했고 이것은 현재 업계에서 가장 획기적인 트렌드가 되고 있다. 오픈소스 지지자들이 하둡을 오픈소스 전략의 대승리라고 하는 것도 이 때문이다.
 
하둡 진영 내부에서는 오픈소스를 추구하는 쪽과 상용 소프트웨어를 추구하는 쪽 간의 갈등도 고조되고 있다. 많은 신생기업들이 오픈소스인 하둡을 이용해 창업을 한 후 단지 고객을 확보하기 위한 상업적인 노력만 기울이고 있다는 것이다. 호튼웍스(Hortonworks) 정도가 자사의 플랫폼 전체를 오픈소스 그대로 유지하려고 노력하고 있지만 성공 여부는 불투명하다. 한 경쟁업체는 "호튼웍스가 결국 플랫폼을 포기했으면 좋겠다"라고 말했다.
 
하지만 실용주의자들은 이런 긴장감이 새로운 기업들의 탄생을 촉진하는 창의적인 원동력이 되고 있다고 말한다. 하둡 개발 프로젝트 핵심은 '모두의 삶에 기여한다'는 단 하나의 목표를 충실히 따르고 있고 그 나머지는 모든 프로젝트를 운영하고 하둡의 핵심을 유지하는데 기여하고 있다. 프로그래머들은 보상을 받아야 하고 별도의 비밀 소스코드를 제공하는 것이야 말로 하둡 코어를 오픈소스로 두고 발전시키면서 유상 서비스를 정당화하는 가장 좋은 방법이다.
 
행과 데이터 관계성에서부터 키와 열까지
하둡과 관련 소프트웨어들이 단지 복잡한 대규모 데이터 문제를 처리하기 위해 존재하는 것은 아니다.  지난 수십년간 각종 다양한 형식의 데이터를 관계형DBMS(RDBMS)에 축적한 현재에 이르러서야 비로소 전통적인 데이터 저장소를 대신하는 다양한 오픈소스 소프트웨어들에 눈을 돌리고 있다.
 
이것들은 SQL 혹은 un-SQL이 아니라 NoSQL이라고 부르는데 신선할 만큼 간단한 것부터 놀랍토록 복잡한 것까지 다양하다. 이 중 많은 것들이 관계형 데이터베이스의 장점을 포기하는 대신 뛰어난 성능 혹은 수평적 확장성을 제공한다. 이러한 차이는 종종 특정 사용방식을 지원하기 위해 일부 기능을 포기하는 방식으로 개발된다.
 
예를 들어 카우치베이스(Couchbase)와 카산드라(Cassandra)와 같은 키값 저장소는 데이터 사이의 관계를 유지하는 것이 중요하지 않은 분야에서 뛰어난 성능과 높은 확장성을 제공한다. 이 둘은 하둡과 통합되고 반 구조화된 데이터용 웨어하우스로 훌륭하게 활용된다. 카산드라는 행 기반 솔루션을 제공하고 카우치베이스는 문서 데이터베이스로 발전하고 있지만 키와 값을 체계화하는 새로운 방식으로 인식되고 있다.
 
문서 데이터베이스는 그 값이 JSON(JavaScript Object Notation)인 키값 저장소일 뿐이다. 이것들은 객체지향 프로그래밍 방법론에 속하는 것이어서 개발자들이 선호한다. 또한 JSON 문서의 내부 요소를 색인으로 작성하면 검색 속도를 높일 수 있다. 이것들은 블로그 포스트나 환자기록 작성 등 관계형 데이터베이스에 저장하기 힘든 데이터들을 가공하지 않고 그대로 저장할 수 있는 방법이다. 몽고DB(MongoDB)가 인기 있는 것도 바로 이 때문이다.
 
이밖에도 기업 현장에서 부딪히는 다양한 문제를 해결하기 위한 프로젝트들이 진행되고 있다. 그래프 데이터베이스 Neo4j 등은 전통적인 DRBMS의 관계성이 느슨할 때 사용할 수 있다. 과거에는 각 설계자들이 필요에 따라 MySQL이나 오라클의 설정을 서로 다른 방법으로 수정했지만 지금은 설계자들이 완전히 다른 오픈소스 소프트웨어를 선택해 상요할 수 있다.
 
프라이빗 클라우드의 성장
이제는 퍼블릭 클라우드(Public Cloud, 불특정 다수 고객에게 무제한의 공유 자원을 제공하는 것) 서비스 업체들이 축적해 놓은 기술과 아키텍처를 차용해 프라이빗 클라우드(Private Cloud, 단일 기업에 한해 공유된 자원을 제공하는 것) 서비스용 데이터센터에 적용할 수 있으며 이를 위한 일련의 오픈소스 프로젝트들이 생겨나 관련 소프트웨어를 제공하고 있다.
 
특히 오픈스택(OpenStack) 프로젝트는 프라이빗 클라우드 분야에서 놀랄 정도의 세를 얻고 있다. 아파치2 라이센스 하에서 진행된 이 프로젝트는 신원 확인, 모니터링, 셀프 서비스 등의 기능과 함께 가상화된 컴퓨팅 파워와 스토리지, 네트워킹 자원을 관리할 수 있는 프레임워크를 제공한다.
 
지금은 '클라우드 운영체제'로 불리는 오픈스택은 본래 랙스페이스(Rackspace)와 나사(NASA)가 개발한 것이다. 현재는 캐노니컬(Canonical), 시스코, 델, HP, IBM, 레드햇, VM웨어를 비롯해 클라우드 분야의 신생업체 등 192개 이상의 기업이 이 프로젝트에 참여하고 있다. 그러나 그 결과물인 오픈스택은 리눅스 커널과 비교했을 때 일반적으로 다운로드해 현장에 적용할 수 있는 것과 차이가 크기 때문에 많은 기업들이 패키지화된 버전을 별도로 제공할 예정이다.
 
프라이빗 클라우드 시장에 진출한 것은 오픈스택만이 아니다. 가장 널리 알려진 것은 오픈스택의 경쟁자는 캘리포니아 대학(University of California)이 아마존 웹 서비스(AWS)를 모방해 개발한 유칼립투스(Eucalyptus)로 완벽한 API 호환성을 제공한다. 지난 4월 시트릭스가 서비스를 시작한  클라우드스택(CloudStack)도 클라우드 자원을 관리할 수 있는 멋진 웹 UI를 제공해 클라우드 서비스 제공업체들이 사용하기에 적절하다는 평가를 받고 있다.
 


2012.10.04

2012년 분야별 최고의 오픈소스 소프트웨어 124선

Peter Wayner | InfoWorld

 
올해로 6회째를 맞는 '최고의 오픈소스 소프트웨어' 시상, 일명 '보시(Bossies) 2012' 선정 결과를 발표한다. 올해는 인포월드(InfoWorld)의 객원 기고가들과 함께 애플리케이션 개발 툴 등 총 7개 부문에서 100개 이상의 최고 소프트웨어를 선택했다. 특히 올해부터는 게임 부문이 신설됐다.
 
선정 분야가 늘어난 것처럼 전체 오픈소스 소프트웨어의 숫자도 많아졌다. 소스포지(Sourceforge)에 따르면 9월 중순 기준 400만회 이상의 다운로드가 이뤄졌고 3,402건의 개발 의뢰, 722개의 버그 개선 등이 진행됐다. 가장 인기 있는 것은 VLC 동영상 플레이어다. VLC는 다른 상용 플레이어와의 경쟁에서도 승승장구하고 있다. 오픈소스 코드 공유 서비스인 지트허브(GitHub)를 봐도 브라우저(jQuery)와 서버(Node)를 위한 자바스크립트 코드의 다운로드 횟수와 버그 개선 건수가 크게 증가하고 있음을 확인할 수 있다.
 
우리는 이렇게 왕성하게 개발되고 있는 소프트웨어 가운데 가장 흥미진진하고 스마트하며 유용한 오픈소스 소프트웨어를 골라냈다. '보시2012' 선정 결과를 보면 올해 오픈소스 분야의 주요 동향을 함께 이해할 수 있을 것이다.
 
하둡, 탭 댄스를 추며 태어난 코끼리
하둡(Hadoop) 기술을 활용한 일련의 소프트웨어들은 올해 모든 오픈소스 분야를 통틀어 가장 흥미로운 모습을 보여줬다. 기술적으로만 보면 하둡은 특정 문제를 해결하기 위해 수많은 장비를 동원, 막대한 양의 수치계산을 하는거대한  소프트웨어 스택(Stack)의 일부분에 지나지 않는다. 그러나 이미 우리가 알고 있는 것처럼 기업의 주요 임원들이 '하둡'이라는 단어를 캐치 프레이즈처럼 사용하고 있다. 이 때문에 구글 맵 리듀스(MapReduce) 프로그래밍 언어인 피그(Pig), 하둡의 데이터 웨어하우스 솔루션 하이브(Hive) 등 하둡 자체보다 더 유용한 프로그램들을 종종 간과하기도 한다.
 
하둡은 마치 빅 데이터의 표지 모델과 같다. 구글 맵 리듀스 기술에 기반한 소규모 실험으로 시작돼 노드(Node)로 이루어진 랙(Rack) 전반에 분포되어 있는 대규모 데이터 처리를 위한 코드의 집합체로 성장했다. 그 결과는 매우 성공적이어서 맵 리듀스 기술을 주도하고 있는 구글의 엔지니어들이 질투하고 있다는 소문까지 들린다. 구글은 맵 리듀스 프로젝트를 계속 수행하고 있지만 하둡의 오픈소스 특성상 다른 인터넷 기업들도 이를 도입해 빅 데이터라는 가장 어려운 문제를 풀 수 있게 됐다.
 
특히 하둡은 인터넷 업계에서 오랜기간 두각을 나타내지 못했던 야후에게 중요한 의미를 갖는다. 야후는 하둡 초기부터 그 성과에 기대를 걸고 상당한 지원을 제공해 왔다. 야후는 하둡의 성과를 모든 사람들과 공유했고 그들은 다시 그 모든 것을 공유해 완전히 새로운 소프트웨어 생태계를 구축했고 이것은 현재 업계에서 가장 획기적인 트렌드가 되고 있다. 오픈소스 지지자들이 하둡을 오픈소스 전략의 대승리라고 하는 것도 이 때문이다.
 
하둡 진영 내부에서는 오픈소스를 추구하는 쪽과 상용 소프트웨어를 추구하는 쪽 간의 갈등도 고조되고 있다. 많은 신생기업들이 오픈소스인 하둡을 이용해 창업을 한 후 단지 고객을 확보하기 위한 상업적인 노력만 기울이고 있다는 것이다. 호튼웍스(Hortonworks) 정도가 자사의 플랫폼 전체를 오픈소스 그대로 유지하려고 노력하고 있지만 성공 여부는 불투명하다. 한 경쟁업체는 "호튼웍스가 결국 플랫폼을 포기했으면 좋겠다"라고 말했다.
 
하지만 실용주의자들은 이런 긴장감이 새로운 기업들의 탄생을 촉진하는 창의적인 원동력이 되고 있다고 말한다. 하둡 개발 프로젝트 핵심은 '모두의 삶에 기여한다'는 단 하나의 목표를 충실히 따르고 있고 그 나머지는 모든 프로젝트를 운영하고 하둡의 핵심을 유지하는데 기여하고 있다. 프로그래머들은 보상을 받아야 하고 별도의 비밀 소스코드를 제공하는 것이야 말로 하둡 코어를 오픈소스로 두고 발전시키면서 유상 서비스를 정당화하는 가장 좋은 방법이다.
 
행과 데이터 관계성에서부터 키와 열까지
하둡과 관련 소프트웨어들이 단지 복잡한 대규모 데이터 문제를 처리하기 위해 존재하는 것은 아니다.  지난 수십년간 각종 다양한 형식의 데이터를 관계형DBMS(RDBMS)에 축적한 현재에 이르러서야 비로소 전통적인 데이터 저장소를 대신하는 다양한 오픈소스 소프트웨어들에 눈을 돌리고 있다.
 
이것들은 SQL 혹은 un-SQL이 아니라 NoSQL이라고 부르는데 신선할 만큼 간단한 것부터 놀랍토록 복잡한 것까지 다양하다. 이 중 많은 것들이 관계형 데이터베이스의 장점을 포기하는 대신 뛰어난 성능 혹은 수평적 확장성을 제공한다. 이러한 차이는 종종 특정 사용방식을 지원하기 위해 일부 기능을 포기하는 방식으로 개발된다.
 
예를 들어 카우치베이스(Couchbase)와 카산드라(Cassandra)와 같은 키값 저장소는 데이터 사이의 관계를 유지하는 것이 중요하지 않은 분야에서 뛰어난 성능과 높은 확장성을 제공한다. 이 둘은 하둡과 통합되고 반 구조화된 데이터용 웨어하우스로 훌륭하게 활용된다. 카산드라는 행 기반 솔루션을 제공하고 카우치베이스는 문서 데이터베이스로 발전하고 있지만 키와 값을 체계화하는 새로운 방식으로 인식되고 있다.
 
문서 데이터베이스는 그 값이 JSON(JavaScript Object Notation)인 키값 저장소일 뿐이다. 이것들은 객체지향 프로그래밍 방법론에 속하는 것이어서 개발자들이 선호한다. 또한 JSON 문서의 내부 요소를 색인으로 작성하면 검색 속도를 높일 수 있다. 이것들은 블로그 포스트나 환자기록 작성 등 관계형 데이터베이스에 저장하기 힘든 데이터들을 가공하지 않고 그대로 저장할 수 있는 방법이다. 몽고DB(MongoDB)가 인기 있는 것도 바로 이 때문이다.
 
이밖에도 기업 현장에서 부딪히는 다양한 문제를 해결하기 위한 프로젝트들이 진행되고 있다. 그래프 데이터베이스 Neo4j 등은 전통적인 DRBMS의 관계성이 느슨할 때 사용할 수 있다. 과거에는 각 설계자들이 필요에 따라 MySQL이나 오라클의 설정을 서로 다른 방법으로 수정했지만 지금은 설계자들이 완전히 다른 오픈소스 소프트웨어를 선택해 상요할 수 있다.
 
프라이빗 클라우드의 성장
이제는 퍼블릭 클라우드(Public Cloud, 불특정 다수 고객에게 무제한의 공유 자원을 제공하는 것) 서비스 업체들이 축적해 놓은 기술과 아키텍처를 차용해 프라이빗 클라우드(Private Cloud, 단일 기업에 한해 공유된 자원을 제공하는 것) 서비스용 데이터센터에 적용할 수 있으며 이를 위한 일련의 오픈소스 프로젝트들이 생겨나 관련 소프트웨어를 제공하고 있다.
 
특히 오픈스택(OpenStack) 프로젝트는 프라이빗 클라우드 분야에서 놀랄 정도의 세를 얻고 있다. 아파치2 라이센스 하에서 진행된 이 프로젝트는 신원 확인, 모니터링, 셀프 서비스 등의 기능과 함께 가상화된 컴퓨팅 파워와 스토리지, 네트워킹 자원을 관리할 수 있는 프레임워크를 제공한다.
 
지금은 '클라우드 운영체제'로 불리는 오픈스택은 본래 랙스페이스(Rackspace)와 나사(NASA)가 개발한 것이다. 현재는 캐노니컬(Canonical), 시스코, 델, HP, IBM, 레드햇, VM웨어를 비롯해 클라우드 분야의 신생업체 등 192개 이상의 기업이 이 프로젝트에 참여하고 있다. 그러나 그 결과물인 오픈스택은 리눅스 커널과 비교했을 때 일반적으로 다운로드해 현장에 적용할 수 있는 것과 차이가 크기 때문에 많은 기업들이 패키지화된 버전을 별도로 제공할 예정이다.
 
프라이빗 클라우드 시장에 진출한 것은 오픈스택만이 아니다. 가장 널리 알려진 것은 오픈스택의 경쟁자는 캘리포니아 대학(University of California)이 아마존 웹 서비스(AWS)를 모방해 개발한 유칼립투스(Eucalyptus)로 완벽한 API 호환성을 제공한다. 지난 4월 시트릭스가 서비스를 시작한  클라우드스택(CloudStack)도 클라우드 자원을 관리할 수 있는 멋진 웹 UI를 제공해 클라우드 서비스 제공업체들이 사용하기에 적절하다는 평가를 받고 있다.
 


X