4일 전

도커에서 데이터과학까지··· 오픈소스는 어떻게 세상을 바꿨나

Matt Asay | InfoWorld
이제 곧 또 다른 10년 간의 오픈소스 여행을 마무리하게 될 것이다. 그것은 얼마나 길고 이상한 여행이었는가? 2009년에 이루어진 예측을 다시 읽어보면, 깃허브가 소프트웨어 개발을 영원히 그리고 모든 사람을 위해 소프트웨어 개발을 바꿀 것이라거나 마이크로소프트가 오픈소스 왕따에서 세계 최대의 공헌자로 나아갈 것이라거나 결코 평범하지 않았던 10년 동안 새로운 평범함이 되어버린 그 밖의 여러 극적인 변화에 대한 단서를 아무도 알아차리지 못했다. 

10년을 마감하는 지금 우리 모두가 오픈소스 사용자다. 여기에 이르기까지 가장 중요한 오픈소스 혁신 중 몇 가지를 되짚어보자.
 

어두운 미래

물론, 2010년 이전에는 오픈소스가 대서특필되었지만, 그 당시 오픈소스 뉴스의 대다수는 종교전쟁과도 같았던 ‘무료 소프트웨어’ 대 ‘오픈소스’거나 리눅스에 대한 소송에 관한 것들이었다. 오픈소스 소프트웨어를 실행하기 위해서는 여전히 서버를 프로비저닝하기 위해 IT 부서에 전화를 걸고 있었을 것이다(또는 우연찮게 방금 전에 책상 아래에 있던 여분의 부품을 사용하든가). 클라우드가 그 모든 것을 바꾸어 놓았다. 갑자기 개발자는 오픈소스 코드를 실행하기 위해 IT로부터 통과허가를 받을 필요가 없었다. 오픈소스가 개발자를 구매/법적 승인으로부터 해방시켰듯이, 클라우드 셰이크 개발자도 하드웨어 고유의 마찰로부터 자유로워졌다. 

그러나 클라우드는 단지 약간의 힘을 빌려주었을 뿐이었다. 코리 퀸(Corey Quinn)이 강조했듯이, 인프라가 ‘오픈소스’가 되었다. 클라우드 자체가 오픈소스 라이센스 하에서 이용 가능하기 때문이 아니었지만 말이다. “클라우드에서 실행되지만, 나는 깃허브에서 테라폼(Terraform) 계획이나 서버리스 구성을 가져와 거의 즉시 테스트할 수 있다” 오픈소스 라이센싱과 클라우드 하드웨어에 대한 스와이프 앤 고(swipe-and-go) 액세스는 2010년 초에 희미하게 보일 수 있는 방식으로 개발자의 생산성을 가능하게 했지만(결국 AWS는 2006년에 시작되었다) 10년이 되어서야 제대로 실현되었다.
 

언제나 깃(Git)이 있었다 

토비 랭글은 “지난 10년간 오픈소스에 일어난 가장 큰 일은 깃허브의 PR(Pull Request) 도입이다”라고 밝혔다. 랭클은 계속해서 클라우드로 활성화되면서 “깃허브는 오픈소스 가시성을 제공하고 규모에 따른 협업을 위한 플레이 필드를 낮췄다”라고 말했다. 그 협업은 언제나 오픈소스 약속의 핵심이었지만, 깃허브가 코딩의 사회적 측면을 부각시키고 나서야 현실이 되었다.
마이클 우즈키아노는 “이전에도 버전 컨트롤을 가지고 있기는 했지만, 깃허브/랩은 모든 사람이 쉽게 코드를 다루고, 무언가를 시도하고, 다시 아이디어에 기여할 수 있도록 했다. 논평, 이슈, 승인-코드가 개방된다는 약속에 따라 실제로 이것이 제공되었다”라고 주장한다. 깃이 지난 10년 사이에 탄생한 것은 아니지만, 클라우드와 같이, 2010년대까지는 사실 붐이 되지 못했다. 
 

도커와 컨테이너 혁명 

버전 컨트롤과 깃처럼 컨테이너도 2010년 이후 새롭게 만들어진 것이 아니다. 사실, 컨테이너에 대한 아이디어는(씨앗은 훨씬 전에 뿌려졌지만) 1979년에 크루트(chroot)와 함께 처음 나타났다. 그러나 스티븐 본 니콜스가 주장하는 바와 같이, 실제로 컨테이너에 생명을 불어넣은 것은 도커였다. “도커, 더 정확히 말하자면 도커 기술은 컨테이너를 무명 기술에서 오늘날의 소프트웨어 사용 방법의 주체로 변화시켰다. 그것은 모든 것을 바꾸었다.”

모든 것이라고? 맞다. 최소한 엔터프라이즈 애플리케이션 개발용에 있어서는 그렇다. 가상화에 대해 생각할 수 있는 새로운 멋진 방법이기 때문은 아니다. 고든 해프의 설명대로, “도커/쿠버네티스 이전의 컨테이너는 단지 또 다른 파티션 기술에 불과했다.” 진짜 마술은 도커가 개발자의 경험을 바로잡았을 때 시작되었고, 그 점에 있어서 그는 “눈덩이처럼 커져서” CI/CD 파이프라인 등을 완전히 다시 발명하게 되었다고 말했다. 10년 전에는 아무도 도커와 쿠버네티스에 대해 들어보지 못했다. 그러나 지난 달에는 도커의 도움으로 만드는 이 현대 애플리케이션 세계를 탐험하기 위해 1만 3,000명이 넘는 사람이 쿠베콘(KubeCon) 2019에 참석하기에 이르렀다.
 

데이터 사이언스가 주류가 되다 

빅 데이터는 항상 ‘우리 중 나머지’(즉, 구글이 아닌 회사)에게 꿈이었고, 2010년 이전에 빅 데이터를 현실화하기 위한 진지한 노력을 보았다. 1970년대부터 데이터 마트가 있었고, 조금 뒤에는 비즈니스 인텔리전스가 생겼으며, 2005년 로저 마굴라스가 빅데이터라는 용어를 만들어 내는 것까지도 우리는 목격했다. 그러나 이 중 어느 것도 실제로 그 데이터가 얼마나 클지 예상하지 못했다. 그리고 (2008년에 만들어진) 아파치 하둡이 진가를 발휘하고, 그 후 빠르게 NoSQL 데이터베이스와 기타 오픈소스 인프라의 물결로 대체되는 10년에 접어들 때까지 데이터 과학자와 데이터 엔지니어의 중요성이 얼마나 커질지 전혀 예상하지 못했다.

오늘날, 대량의 데이터 저장과 스트리밍에 사용되는 인프라는 대부분 오픈소스다. 구조화되지 않은 데이터로 더 쉽게 작업할 수 있는 몽고DB와 같은 현대식 데이터베이스나 데이터를 이동할 때 아파치 카프카와 같은 다양한 도구 등 오픈소스는 현대 데이터 과학을 가능하게 만들었으며 거의 모든 것이 지난 10년 동안 일어났다.

게다가, 데이터를 분석하기 위해 사용하는 도구는 점점 더 오픈소스가 되고 있다. 사실, (텐소플로우와 같은)많은 툴링은 한때 사랑받던 데이터 애널리틱스 툴이 사라져가는 운명을 뒤바꾸려는 독점 판매업체가 절망적인 기회를 살려보려는 상황이라기보다는 처음부터 오픈소스였다. 넘피(Numpy)와 시킷런(Scikit-learn)은 ‘유비쿼터스’가 되었다고 파이썬 전문가 매트 해리슨은 지적한다. 2010년에는 둘 다 존재하지 않았다. 오픈소스는 제이콥 레딩이 제안하는 것처럼, “데이터 과학은 판다스, 시킷, 주피터, 그리고 R의 세계가 없었다면 지금만큼 크지 않았을 것이다.” 물론 이 모든 것들은 새로운 기술을 시험해 보고 싶은 사람들을 위해 기준을 낮추는 오픈소스다.
 

오픈소스 프로그래밍 언어들

프로그래밍 언어가 비개방적이었던 때를 기억하는가? 지난 10년은 애플마저 결국 오픈소스 운동에 굴복해 스위프트를 오픈소스로 출시하면서 그런 시대의 문을 영원히 닫은 것 같다. 동시에, 언어와 프레임워크 혁신의 맹렬한 격정기에 자바스크립트 프레임워크(Node.js, 앵귤러(Angular), 리액트(React), 뷔(Vue) 등)이 등장했다(때로는 사라졌다). 실제로, 자바스크립트 프레임워크의 세계와 함께(알베르토 루이즈가 주장했듯이, 한때 구축하려던 브라우저보다 더 커짐), 또한 고(Go), 러스트(Rust), 웹어셈블리(WebAssembly)와 같은 새로운 하위 수준의 언어들이 생겨나는 것을 목격했다.

오픈소스로의 지속적인 진군은 2010년 이전에 시작되었지만, 리치 샤플스가 지적하듯이 자바의 OpenJDK 구현이 계속해서 새로운 생명을 자바에 불어넣으면서 추진력을 얻는 것을 지난 10년 동안 보아왔다. 그러나 당시 임박한 구글 대 오라클 사건의 대법원 심사는 다네스 쿠퍼가 지적한 것처럼(리눅스의 미래에 대해) 당시 SCO의 위협만큼이나 엄청난 영향을 미칠 것이다. 물론 API의 저작물성은 물론, 자바의 미래도 달려 있다. 관련 소식에 계속 귀를 기울일 것을 권한다.
 

10년짜리 커브볼

흥미롭게도, 마이크로소프트는 이들 분야의 거의 모두에 관련되어 있지만, 마이크로소프트는 스티브 발머 휘하에서 그 10년을 시작했으며, 여전히 오픈소스와 싸우고 있지만 상황이 좋지는 않다. 그러나 2020년으로 앞서 가보면, 마이크로소프트가 가장 격렬한 반오픈소스 옹호자(“오픈소스는 암이다!”)에서 가장 큰 기여자로 바뀐 것은 베누이트 재크몬트가 말하는 것처럼 엄청난 변화를 보여주는 것이다. 오늘날 많은 개발자는 오픈소스인 비주얼 스튜디오 코드를 편집기로 사용하고, 오픈소스인 타이프스크립트(TypeScript)를 사용하여 웹 애플리케이션을 구축하며, 깃허브를 이용해 코드를 저장한다. 그리고 마이크로소프트는 그 각각을 소유하고 있다. 

이제는 이야기를 마쳐야 할 것 같다. 이 10년 동안 너무나 많은 일들이 일어났지만(그리고 오픈소스 안드로이드가 얼마나 많은 모바일의 힘을 발휘하는지, 혹은 렛츠 인크립트(Let’s Encrypt)가 인증기관 산업에 미치는 영향, 혹은 오픈소스가 최첨단의 머신 러닝에 얼마나 있는지 등에 대해서는 이야기조차 하지 못했다), 아직도 갈 길이 멀다. 마이크로소프트의 변신은 조직과 산업이 변화할 수 있다는 것과, 오픈소스를 포용하는 것은 우리의 사리사욕에 있음을 상기시킨다. 지난 10년이 얼마나 예측불허였는지를 감안할 때, 필자는 앞으로 10년은 더 많은 오픈소스가 떠오를 것이라고 말하는 것 외에는 감히 예측하지 못할 것 같다. editor@itworld.co.kr 



4일 전

도커에서 데이터과학까지··· 오픈소스는 어떻게 세상을 바꿨나

Matt Asay | InfoWorld
이제 곧 또 다른 10년 간의 오픈소스 여행을 마무리하게 될 것이다. 그것은 얼마나 길고 이상한 여행이었는가? 2009년에 이루어진 예측을 다시 읽어보면, 깃허브가 소프트웨어 개발을 영원히 그리고 모든 사람을 위해 소프트웨어 개발을 바꿀 것이라거나 마이크로소프트가 오픈소스 왕따에서 세계 최대의 공헌자로 나아갈 것이라거나 결코 평범하지 않았던 10년 동안 새로운 평범함이 되어버린 그 밖의 여러 극적인 변화에 대한 단서를 아무도 알아차리지 못했다. 

10년을 마감하는 지금 우리 모두가 오픈소스 사용자다. 여기에 이르기까지 가장 중요한 오픈소스 혁신 중 몇 가지를 되짚어보자.
 

어두운 미래

물론, 2010년 이전에는 오픈소스가 대서특필되었지만, 그 당시 오픈소스 뉴스의 대다수는 종교전쟁과도 같았던 ‘무료 소프트웨어’ 대 ‘오픈소스’거나 리눅스에 대한 소송에 관한 것들이었다. 오픈소스 소프트웨어를 실행하기 위해서는 여전히 서버를 프로비저닝하기 위해 IT 부서에 전화를 걸고 있었을 것이다(또는 우연찮게 방금 전에 책상 아래에 있던 여분의 부품을 사용하든가). 클라우드가 그 모든 것을 바꾸어 놓았다. 갑자기 개발자는 오픈소스 코드를 실행하기 위해 IT로부터 통과허가를 받을 필요가 없었다. 오픈소스가 개발자를 구매/법적 승인으로부터 해방시켰듯이, 클라우드 셰이크 개발자도 하드웨어 고유의 마찰로부터 자유로워졌다. 

그러나 클라우드는 단지 약간의 힘을 빌려주었을 뿐이었다. 코리 퀸(Corey Quinn)이 강조했듯이, 인프라가 ‘오픈소스’가 되었다. 클라우드 자체가 오픈소스 라이센스 하에서 이용 가능하기 때문이 아니었지만 말이다. “클라우드에서 실행되지만, 나는 깃허브에서 테라폼(Terraform) 계획이나 서버리스 구성을 가져와 거의 즉시 테스트할 수 있다” 오픈소스 라이센싱과 클라우드 하드웨어에 대한 스와이프 앤 고(swipe-and-go) 액세스는 2010년 초에 희미하게 보일 수 있는 방식으로 개발자의 생산성을 가능하게 했지만(결국 AWS는 2006년에 시작되었다) 10년이 되어서야 제대로 실현되었다.
 

언제나 깃(Git)이 있었다 

토비 랭글은 “지난 10년간 오픈소스에 일어난 가장 큰 일은 깃허브의 PR(Pull Request) 도입이다”라고 밝혔다. 랭클은 계속해서 클라우드로 활성화되면서 “깃허브는 오픈소스 가시성을 제공하고 규모에 따른 협업을 위한 플레이 필드를 낮췄다”라고 말했다. 그 협업은 언제나 오픈소스 약속의 핵심이었지만, 깃허브가 코딩의 사회적 측면을 부각시키고 나서야 현실이 되었다.
마이클 우즈키아노는 “이전에도 버전 컨트롤을 가지고 있기는 했지만, 깃허브/랩은 모든 사람이 쉽게 코드를 다루고, 무언가를 시도하고, 다시 아이디어에 기여할 수 있도록 했다. 논평, 이슈, 승인-코드가 개방된다는 약속에 따라 실제로 이것이 제공되었다”라고 주장한다. 깃이 지난 10년 사이에 탄생한 것은 아니지만, 클라우드와 같이, 2010년대까지는 사실 붐이 되지 못했다. 
 

도커와 컨테이너 혁명 

버전 컨트롤과 깃처럼 컨테이너도 2010년 이후 새롭게 만들어진 것이 아니다. 사실, 컨테이너에 대한 아이디어는(씨앗은 훨씬 전에 뿌려졌지만) 1979년에 크루트(chroot)와 함께 처음 나타났다. 그러나 스티븐 본 니콜스가 주장하는 바와 같이, 실제로 컨테이너에 생명을 불어넣은 것은 도커였다. “도커, 더 정확히 말하자면 도커 기술은 컨테이너를 무명 기술에서 오늘날의 소프트웨어 사용 방법의 주체로 변화시켰다. 그것은 모든 것을 바꾸었다.”

모든 것이라고? 맞다. 최소한 엔터프라이즈 애플리케이션 개발용에 있어서는 그렇다. 가상화에 대해 생각할 수 있는 새로운 멋진 방법이기 때문은 아니다. 고든 해프의 설명대로, “도커/쿠버네티스 이전의 컨테이너는 단지 또 다른 파티션 기술에 불과했다.” 진짜 마술은 도커가 개발자의 경험을 바로잡았을 때 시작되었고, 그 점에 있어서 그는 “눈덩이처럼 커져서” CI/CD 파이프라인 등을 완전히 다시 발명하게 되었다고 말했다. 10년 전에는 아무도 도커와 쿠버네티스에 대해 들어보지 못했다. 그러나 지난 달에는 도커의 도움으로 만드는 이 현대 애플리케이션 세계를 탐험하기 위해 1만 3,000명이 넘는 사람이 쿠베콘(KubeCon) 2019에 참석하기에 이르렀다.
 

데이터 사이언스가 주류가 되다 

빅 데이터는 항상 ‘우리 중 나머지’(즉, 구글이 아닌 회사)에게 꿈이었고, 2010년 이전에 빅 데이터를 현실화하기 위한 진지한 노력을 보았다. 1970년대부터 데이터 마트가 있었고, 조금 뒤에는 비즈니스 인텔리전스가 생겼으며, 2005년 로저 마굴라스가 빅데이터라는 용어를 만들어 내는 것까지도 우리는 목격했다. 그러나 이 중 어느 것도 실제로 그 데이터가 얼마나 클지 예상하지 못했다. 그리고 (2008년에 만들어진) 아파치 하둡이 진가를 발휘하고, 그 후 빠르게 NoSQL 데이터베이스와 기타 오픈소스 인프라의 물결로 대체되는 10년에 접어들 때까지 데이터 과학자와 데이터 엔지니어의 중요성이 얼마나 커질지 전혀 예상하지 못했다.

오늘날, 대량의 데이터 저장과 스트리밍에 사용되는 인프라는 대부분 오픈소스다. 구조화되지 않은 데이터로 더 쉽게 작업할 수 있는 몽고DB와 같은 현대식 데이터베이스나 데이터를 이동할 때 아파치 카프카와 같은 다양한 도구 등 오픈소스는 현대 데이터 과학을 가능하게 만들었으며 거의 모든 것이 지난 10년 동안 일어났다.

게다가, 데이터를 분석하기 위해 사용하는 도구는 점점 더 오픈소스가 되고 있다. 사실, (텐소플로우와 같은)많은 툴링은 한때 사랑받던 데이터 애널리틱스 툴이 사라져가는 운명을 뒤바꾸려는 독점 판매업체가 절망적인 기회를 살려보려는 상황이라기보다는 처음부터 오픈소스였다. 넘피(Numpy)와 시킷런(Scikit-learn)은 ‘유비쿼터스’가 되었다고 파이썬 전문가 매트 해리슨은 지적한다. 2010년에는 둘 다 존재하지 않았다. 오픈소스는 제이콥 레딩이 제안하는 것처럼, “데이터 과학은 판다스, 시킷, 주피터, 그리고 R의 세계가 없었다면 지금만큼 크지 않았을 것이다.” 물론 이 모든 것들은 새로운 기술을 시험해 보고 싶은 사람들을 위해 기준을 낮추는 오픈소스다.
 

오픈소스 프로그래밍 언어들

프로그래밍 언어가 비개방적이었던 때를 기억하는가? 지난 10년은 애플마저 결국 오픈소스 운동에 굴복해 스위프트를 오픈소스로 출시하면서 그런 시대의 문을 영원히 닫은 것 같다. 동시에, 언어와 프레임워크 혁신의 맹렬한 격정기에 자바스크립트 프레임워크(Node.js, 앵귤러(Angular), 리액트(React), 뷔(Vue) 등)이 등장했다(때로는 사라졌다). 실제로, 자바스크립트 프레임워크의 세계와 함께(알베르토 루이즈가 주장했듯이, 한때 구축하려던 브라우저보다 더 커짐), 또한 고(Go), 러스트(Rust), 웹어셈블리(WebAssembly)와 같은 새로운 하위 수준의 언어들이 생겨나는 것을 목격했다.

오픈소스로의 지속적인 진군은 2010년 이전에 시작되었지만, 리치 샤플스가 지적하듯이 자바의 OpenJDK 구현이 계속해서 새로운 생명을 자바에 불어넣으면서 추진력을 얻는 것을 지난 10년 동안 보아왔다. 그러나 당시 임박한 구글 대 오라클 사건의 대법원 심사는 다네스 쿠퍼가 지적한 것처럼(리눅스의 미래에 대해) 당시 SCO의 위협만큼이나 엄청난 영향을 미칠 것이다. 물론 API의 저작물성은 물론, 자바의 미래도 달려 있다. 관련 소식에 계속 귀를 기울일 것을 권한다.
 

10년짜리 커브볼

흥미롭게도, 마이크로소프트는 이들 분야의 거의 모두에 관련되어 있지만, 마이크로소프트는 스티브 발머 휘하에서 그 10년을 시작했으며, 여전히 오픈소스와 싸우고 있지만 상황이 좋지는 않다. 그러나 2020년으로 앞서 가보면, 마이크로소프트가 가장 격렬한 반오픈소스 옹호자(“오픈소스는 암이다!”)에서 가장 큰 기여자로 바뀐 것은 베누이트 재크몬트가 말하는 것처럼 엄청난 변화를 보여주는 것이다. 오늘날 많은 개발자는 오픈소스인 비주얼 스튜디오 코드를 편집기로 사용하고, 오픈소스인 타이프스크립트(TypeScript)를 사용하여 웹 애플리케이션을 구축하며, 깃허브를 이용해 코드를 저장한다. 그리고 마이크로소프트는 그 각각을 소유하고 있다. 

이제는 이야기를 마쳐야 할 것 같다. 이 10년 동안 너무나 많은 일들이 일어났지만(그리고 오픈소스 안드로이드가 얼마나 많은 모바일의 힘을 발휘하는지, 혹은 렛츠 인크립트(Let’s Encrypt)가 인증기관 산업에 미치는 영향, 혹은 오픈소스가 최첨단의 머신 러닝에 얼마나 있는지 등에 대해서는 이야기조차 하지 못했다), 아직도 갈 길이 멀다. 마이크로소프트의 변신은 조직과 산업이 변화할 수 있다는 것과, 오픈소스를 포용하는 것은 우리의 사리사욕에 있음을 상기시킨다. 지난 10년이 얼마나 예측불허였는지를 감안할 때, 필자는 앞으로 10년은 더 많은 오픈소스가 떠오를 것이라고 말하는 것 외에는 감히 예측하지 못할 것 같다. editor@itworld.co.kr 

X