2017.08.31

블로그 | 링크드인이 보여주는 '오픈소스에 대한 올바른 접근법'

Matt Asay | InfoWorld
오픈소스 활용에 관심이 있는 기업이라면 링크드인에 주목할 만하다. 이 기업은 업계에서 가장 인상적인 오프소스 소프트웨어의 일부를 전달했으며, 최근에는 아파치 카프카용 크루즈 콘트롤 로드-밸런싱 도구를 개발했다. 실시간 데이터 파이프라인과 빅데이터 애플리케이션 내 스트리밍 앱을 개발할 수 있도록 돕는 도구다.

크루즈 콘트롤은 링크드인이 오픈소스에 얼마나 진지하게 접근하는 기업인지를 보여주는 한 사례다. 크루즈 콘트롤이 일반적인 활용을 위해 고안되긴 했지만, 이에 대한 실제 커뮤니티는 아직 없다. 그저 링크드인이 개발하고 사용하고 있을 뿐이다. 그러나 링크드인은 크루즈 콘트롤이 자사의 니즈 이상으로 확장될 수 있도록 개발했다. 이러한 류의 프로젝트는 흔히 창안자의 문제에만 집중하는 경향이 있지만 링크드인은 그러지 않았다.

링크드인 엔지니어인 지앙지즈 친은 자신와 그의 팀이 의도적으로 카프카 코어 외부에서 크루즈 콘트롤을 구축해 연결성을 낮췄다며, 이를 통해 크루즈 콘트롤이 확장 가능하고 일반화될 수 있었다고 전했다.

여기서 '확장 가능'이라는 말은 링크드인 외부의 개발자가 다른 니즈에 대응할 수 있도록 개선할 수 있다는 의미다. 친은 그러나 좀더 중요한 것은 보편성의 원칙이라며 다음과 같이 말했다.

"우리는 다른 분산형 시스템 또한 유사한 운영 자동화로부터 수혜를 볼 수 있다는 사실을 깨달았다. 애플리케이션-인식 모니터-분석-액션 주기를 요구하는 자동화다. 클러스터에서 자원 활용의 균형을 맞출 수 있도록 돕는 기존 제품이 있기는 하다. 그러나 대부분 애플리케이션에 독립적이며 전체 애플리케이션 프로세스를 마이그레이션해 재구성하는 것들이다. 이 경우 스테이트리스(stateless) 시스템에서는 잘 작동하지만 카프카와 같은 스테이트풀(stateful) 시스템에서는 부족함이 있다. 프로세서와 관련된 스테이트가 많기 때문이다. 따라서 우리는 크루즈 콘트롤이 일반적인 프레임워크가 되기를 원했다. 애플리케이션을 이해하고 일부의 스테이트만 이전해도 되며, 어떠한 스테이트풀 분산형 시스템에서도 사용될 수 있는 프레임워크 말이다."

즉 사용자는 크루즈 콘트롤을 아파치 스파크와 같은 경쟁 스트리밍 플랫폼과 함께 사용할 수 있다.

크루즈 콘트롤과 같은 오픈소스 코드를 효과적으로 만들어내기 위해서는 많은 노력이 필요하다. 코드 정리, 문서화, 오픈소스 프로젝트로서의 영향 극대화와 같은 작업과 비교하면 소프트웨어 작성은 오히려 쉽다.

그러나 이러한 접근법은 링크드인의 엔지니어링 DNA에 접목됐다. 친은 "링크드인 엔지니어링의 핵심 요소가 오픈소스다"라며, 회원 데이터를 제외하면 회사의 모든 것이 오픈소스로 열려 있다고 강조했다. 그는 "오픈소스가 아닌 경우는 외부에서 이용하기에 유용성이 부족하거나 오픈소스화할 만큼 제대로 완성하지 않은 것일 뿐"이라고 덧붙였다.

번거로운 작업을 손수 진행하고 링크드인 외부에서도 이용할 수 있도록 개발하는 마인드야 말로 링크드인을 인상적인 조직으로 만드는 요소다. 이는 또 링크드인이 유능한 인재를 채용하는데 도움을 주기도 한다.

친은 "많은 기업들이 훌륭한 소프트웨어를 구축했다고 주장한다. 그러나 이를 증명하는 가장 좋은 방법은 오픈소스화 하는 것이다. 무언가를 오픈소스화 한다면 이는 당신이 그것을 자랑스러워한다는 의미이며 다인 뿐만 아니라 다른 이에게도 유용할 수 있다는 의미다"라고 말했다.

여전히 많은 기업들이 오픈소스에 대해 소프트웨어를 무료로 수급하는 방법으로만 바라보고 있다. 그러나 이러한 태도를 가진 기업은 결국 오픈소스 우선적 접근법을 취하는 기업에게 뒤쳐지게 될 것이다.

* Matt Asay는 오랜 기나 인포월드에 기고해온 전문 저술가이자 전직 저작권 전문 변호사다. 현재는 어도비에서 모바일 부사장을 역임하고 있다. 그의 견해는 소속사의 관점과 일치하지 않을 수 있다.
ciokr@idg.co.kr 

2017.08.31

블로그 | 링크드인이 보여주는 '오픈소스에 대한 올바른 접근법'

Matt Asay | InfoWorld
오픈소스 활용에 관심이 있는 기업이라면 링크드인에 주목할 만하다. 이 기업은 업계에서 가장 인상적인 오프소스 소프트웨어의 일부를 전달했으며, 최근에는 아파치 카프카용 크루즈 콘트롤 로드-밸런싱 도구를 개발했다. 실시간 데이터 파이프라인과 빅데이터 애플리케이션 내 스트리밍 앱을 개발할 수 있도록 돕는 도구다.

크루즈 콘트롤은 링크드인이 오픈소스에 얼마나 진지하게 접근하는 기업인지를 보여주는 한 사례다. 크루즈 콘트롤이 일반적인 활용을 위해 고안되긴 했지만, 이에 대한 실제 커뮤니티는 아직 없다. 그저 링크드인이 개발하고 사용하고 있을 뿐이다. 그러나 링크드인은 크루즈 콘트롤이 자사의 니즈 이상으로 확장될 수 있도록 개발했다. 이러한 류의 프로젝트는 흔히 창안자의 문제에만 집중하는 경향이 있지만 링크드인은 그러지 않았다.

링크드인 엔지니어인 지앙지즈 친은 자신와 그의 팀이 의도적으로 카프카 코어 외부에서 크루즈 콘트롤을 구축해 연결성을 낮췄다며, 이를 통해 크루즈 콘트롤이 확장 가능하고 일반화될 수 있었다고 전했다.

여기서 '확장 가능'이라는 말은 링크드인 외부의 개발자가 다른 니즈에 대응할 수 있도록 개선할 수 있다는 의미다. 친은 그러나 좀더 중요한 것은 보편성의 원칙이라며 다음과 같이 말했다.

"우리는 다른 분산형 시스템 또한 유사한 운영 자동화로부터 수혜를 볼 수 있다는 사실을 깨달았다. 애플리케이션-인식 모니터-분석-액션 주기를 요구하는 자동화다. 클러스터에서 자원 활용의 균형을 맞출 수 있도록 돕는 기존 제품이 있기는 하다. 그러나 대부분 애플리케이션에 독립적이며 전체 애플리케이션 프로세스를 마이그레이션해 재구성하는 것들이다. 이 경우 스테이트리스(stateless) 시스템에서는 잘 작동하지만 카프카와 같은 스테이트풀(stateful) 시스템에서는 부족함이 있다. 프로세서와 관련된 스테이트가 많기 때문이다. 따라서 우리는 크루즈 콘트롤이 일반적인 프레임워크가 되기를 원했다. 애플리케이션을 이해하고 일부의 스테이트만 이전해도 되며, 어떠한 스테이트풀 분산형 시스템에서도 사용될 수 있는 프레임워크 말이다."

즉 사용자는 크루즈 콘트롤을 아파치 스파크와 같은 경쟁 스트리밍 플랫폼과 함께 사용할 수 있다.

크루즈 콘트롤과 같은 오픈소스 코드를 효과적으로 만들어내기 위해서는 많은 노력이 필요하다. 코드 정리, 문서화, 오픈소스 프로젝트로서의 영향 극대화와 같은 작업과 비교하면 소프트웨어 작성은 오히려 쉽다.

그러나 이러한 접근법은 링크드인의 엔지니어링 DNA에 접목됐다. 친은 "링크드인 엔지니어링의 핵심 요소가 오픈소스다"라며, 회원 데이터를 제외하면 회사의 모든 것이 오픈소스로 열려 있다고 강조했다. 그는 "오픈소스가 아닌 경우는 외부에서 이용하기에 유용성이 부족하거나 오픈소스화할 만큼 제대로 완성하지 않은 것일 뿐"이라고 덧붙였다.

번거로운 작업을 손수 진행하고 링크드인 외부에서도 이용할 수 있도록 개발하는 마인드야 말로 링크드인을 인상적인 조직으로 만드는 요소다. 이는 또 링크드인이 유능한 인재를 채용하는데 도움을 주기도 한다.

친은 "많은 기업들이 훌륭한 소프트웨어를 구축했다고 주장한다. 그러나 이를 증명하는 가장 좋은 방법은 오픈소스화 하는 것이다. 무언가를 오픈소스화 한다면 이는 당신이 그것을 자랑스러워한다는 의미이며 다인 뿐만 아니라 다른 이에게도 유용할 수 있다는 의미다"라고 말했다.

여전히 많은 기업들이 오픈소스에 대해 소프트웨어를 무료로 수급하는 방법으로만 바라보고 있다. 그러나 이러한 태도를 가진 기업은 결국 오픈소스 우선적 접근법을 취하는 기업에게 뒤쳐지게 될 것이다.

* Matt Asay는 오랜 기나 인포월드에 기고해온 전문 저술가이자 전직 저작권 전문 변호사다. 현재는 어도비에서 모바일 부사장을 역임하고 있다. 그의 견해는 소속사의 관점과 일치하지 않을 수 있다.
ciokr@idg.co.kr 

X