본문 바로가기

PRODUCT/OS

리눅스가 곧 컨테이너라면? Docker는 무엇인가?

도커(Docker)는 유명 오픈 소스 프로젝트입니다. 리눅스 상에 애플리케이션 컨테이너 배포를 자동화하기 위해 2013년부터 추진되었는데, 그 인기가 상당합니다. 몇 년 만에 도커 깃허브(GitHub)를 기준으로 보면 개발에 이바지한 이들의 수가 1,600명에 이르고, 깃허브 별을 4만 1,000개나 받았습니다. 앞서 포스팅에서 리눅스가 곧 컨테이너라고 말했는데, 그렇다면 도커는 무엇일까요? 


도커가 하는 주된 일은 리눅스 커널 네임스페이스, 보안 기능, cgroups, 계층화된 패키징 포맷 등을 관리하는 것입니다. 이런 이유로 도커 컨테이너 엔진이라고도 부르는데요, 도커 덕에 개발자는 조건이 다른 여러 머신 환경에 일관성 있게 사용할 수 있는 컨테이너 이미지를 생성할 수 있습니다. 도커의 개념을 짚고 넘어갈 때 반드시 선을 그어야 할 부분이 있는데요. 바로 컨테이너의 런타임 환경의 근간은 도커 자체가 아니라 리눅스란 점입니다. 리눅스가 곧 컨테이너라는 관계 정의가 자연스럽게 떠오르죠? 


또 다른 측면에서 살펴보죠. OCI(Open Container Initiative)의 예를 보겠습니다. OCI는 컨테이너 관련 업계 표준을 두 가치 측면에서 접근합니다. 하나는 이미지 스펙이고 다른 하나는 런타임 스펙입니다. 지난 몇 년간 도커 프로젝트 메인테이너들은 런타임 부문을 별도의 프로젝트로 독립시켰습니다. runC, containerd 같이 자체적인 컨테이너 런타임 환경을 지원하는 프로젝트입니다.


현재 도커 프로젝트는 오픈 소스로 진행되면서 도커(Docker Inc.) 사를 통해 사용 제품도 시장에 공급됩니다. 도커 사가 제공하는 솔루션은 Docker EE인데 여기에 도커 컨테이너 엔진과 runC, containerd가 포함되어 있습니다. 이 밖에도 컨테이너 오케스트레이션, 관리, 보안 기능 등 엔터프라이즈에서 요구하는 기능들이 최적화되어 있죠. Docker EE와 유사한 솔루션은 현재 시장 경쟁이 한창입니다. 레드햇, 오픈시프트, 코어OS, VM웨어, 아마존, 마이크로소프트 애저, 구글 등이 각자 최고의 솔루션과 선택지를 제공하고 있습니다. 


컨테이너 전문 업체는 곧 리눅스 기업인가?



앞서 도커 사의 예를 들어 보았는데, 그렇다면 Docker EE처럼 이미지 스펙과 런타임 스펙을 모두 지원하는 경우 컨테이너 업체가 리눅스 전문 기업일까요? 아니라고 말할 수 있습니다. 리눅스 운영체제는 컨테이너화된 애플리케이션 운영을 위한 기초이자 토대입니다. 커널, 파일 시스템, 네트워킹 등 운영체제가 컨테이너 환경을 떠받치는 근간입니다. 리눅스가 곧 컨테이너라는 등식은 성립하지만, 컨테이너가 곧 리눅스라는 등식은 참이 될 수 없습니다. 현재 컨테이너 기술은 리눅스 상에서 더 빠르고 효율적으로 컨테이너화 된 애플리케이션을 다룰 수 있도록 진화 중이며 물리적인 서버, 가상화 플랫폼, 사설 클라우드, 공용 클라우드 같은 기반에 대한 의존성은 나날이 낮아지고 있습니다. 


레드햇과 컨테이너의 관계는 무엇인가?


그렇다면 레드햇은 컨테이너와 어떤 관계일까? 레드햇에게 컨테이너는 아주 오래된 기여 분야 중 하나이며, 운영체제의 일부입니다. 2000년대 초반 레드햇은 컨테이너의 원형이자 핵심 기술인 리눅스 네임스페이스와 cGroups 개발에 적극적으로 참여하며 기여했습니다. 그리고 현재 컨테이너 기술은 레드햇 엔터프라이즈 리눅스의 핵심 기능입니다. 


2011년 레드햇은 자사의 컨테이너 플랫폼인 레드햇 오픈시프트를 출시했습니다. 그리고 2013년부터 도커 오픈 소스 프로젝트에 기여하기 시작했습니다. 레드햇은 도커와 경쟁 관계가 아니라 상생의 길을 걷고 있습니다. 도커 프로젝트 기여도 순위에서 2위를 차지한 것이 바로 레드햇이란 점이 그 증명이죠. 레드햇은 도커 프로젝트에 참여할 뿐 아니라 도커 사와도 긴밀히 협력하겠다고 2013년에 이미 발표한 바 있습니다. 현재 레드햇 엔터프라이즈 리눅스 7, 레드햇 엔터프라이즈 리눅스 오토믹 호스트(Atomic Host)는 도커 컨테이너 프로젝트의 바이너리 버전을 완벽하게 지원합니다. 


참고로 레드햇은 도커뿐 아니라 쿠버네티스 프로젝트에도 참여하면서 컨테이너 생태계에서 주도적으로 활동하고 있으며, 이런 기여를 토대로 자체 플랫폼을 제공하며 동시에 오픈 소스 버전 패키지도  적극적으로 지원하고 있습니다. 레드햇 오픈시프트는 도커와 함께 쿠버네티스의 컨테이너 오케이스레이션 기술을 토대로 기업 운영 환경에 즉시 적용 가능한 플랫폼을 만든 것입니다. 


이처럼 레드햇이 컨테이너 생태계 육성에 온 힘을 쏟는 이유는 간단합니다. 기업들이 지금까지 해온 리눅스에 대한 투자 가치를 확대할 수 있도록 돕기 위해서입니다. 즉, 컨테이너와 오케스트레이션 기술을 통해 리눅스에 대한 기업들의 오랜 투자와 운영 노하우를 소프트웨어 정의 데이터센터와 클라우드 부문까지 이어갈 수 있도록 돕고자 하는 것입니다. 레드햇이 리눅스의 미래를 컨테이너에서 찾는 이유입니다. 리눅스가 곧 컨테이너라는 관계 정의는 리눅스에 대한 기존 투자분 보호와 함께 애플리케이션 개발, 배포, 운영 환경을 인프라에 얽매이지 않게 할 수 있는 미래의 자유를 보장한다는 뜻이 내포되어 있습니다. 

컨테이너는 리눅스의 미래라는 가치를 실현하기 위해 레드햇은 리눅스를 엔터프라이즈 시장에 공급하면서 쌓아온 노하우를 활용하고 있습니다. 2000년대 초반 많은 기업은 리눅스와 가상화에 회의적인 시각을 보냈습니다. 미션 크리티컬한 업무를 어떻게 리눅스 기반 가상화 환경에 올리겠어? 이런 생각을 한 IT 관리자가 많았지만, 지금은 어떠한가요? 안정성, 신뢰성, 보안성 등 확신 없는 시선을 보내던 시장은 변했습니다. 이제 리눅스 기반 가상화 환경에서 미션 크리티컬한 워크로드를 운영하는 것이 이상하다고 보는 이가 없습니다. 컨테이너 역시 마찬가지입니다. 현재 보안 등 우려의 목소리가 들립니다. 하지만 리눅스, 가상화가 그러했듯이 컨테이너 역시 머지않아 주류의 대열에 오를 것입니다. 관련해 기업들은 다음과 같은 질문에 답을 줄 수 있는 업체를 찾을 것이고, 레드햇은 예전에 그러했듯이 컨테이너의 미래를 열어 가는 데 앞장설 것입니다. 


▶ 믿을 수 있는 업체의 플랫폼이 있는가?
 보안성이 얼마나 높은가?
 확장은 수월한가?
 중요 애플리케이션을 올릴 수 있을 정도의 신뢰감을 줄 수 있는가?


컨테이너를 통해 더 민첩하고, 효율적인 애플리케이션 운영 환경 구축을 고려 중이라면 락플레이스로 연락 주시면 감사하겠습니다.