Docker – 구글, 레드햇, 오픈스택등에서 채택
구글, 레드햇, 오픈스택 등 주요 기업들이 Docker를 채택한 이유를 알아보세요.
왜 세계최고의 IT 기업들은 Docker 에 열광할까요?
Docker사는 지난 2013년 6월 10일에 Docker 1.0 발표와 함께 도커 를 기반으로 한 애플리케이션 개발, 배포, 실행 기능을 갖춘 서비스 “Docker Hub”를 발표했습니다.
도커는 컨테이너형 가상화를 실현하는 오픈소스로 VirtualBox나 VMware와 같은 가상화와 비슷한점도 있지만 다른 점은 빌드와 배포가 빠르며 오버 헤드가 적으면서도 플랫폼과 하드웨어에서 독립된 환경을 제공합니다.
도커는 매우 가벼운 컨테이너입니다.
가상 머신을 실행하려면 많은 리소스가 필요합니다. 그러나 도커컨테이너를 시작하는 데 필요한 CPU 및 메모리 오버 헤드는 매우 작고 빠르게 시작할 수 있습니다.
일반적으로 프로세스와 비교되는 수준입니다. 컨테이너의 실행도 빠르고, 이미지의 작성이나 파일 시스템의 스냅샷도 빠른 것이 특징입니다.
개발자 입장에서 보면 가상화 기술의 발달로 프로그래밍 가능한 인프라가 실현되었다고 하지만, 서버를 올리거나 내리는데 걸리는 시간은 어쩔 수 없습니다. 도커는 이러한 문제를 해결할 수 있는 좋은 방법입니다.
Docker HUB는?
Docker Hub (도커 허브)는 GitHub와 Bitbucket 등의 소스 코드 관리 툴과 연계하여 자동으로 코드를 빌드하는 기능, Amazon AWS Elastic BeansTalk 과 Google Compute Engine, Rackspace, Red Hat의 OS 등과 연계하여 애플리케이션을 배포하는 기능, 실행 가능한 애플리케이션의 도커 이미지 관리 기능 등을 갖춘 서비스입니다.
이제 도커는 단순히 Linux 컨테이너 기술을 제품화뿐만 아니라 지금까지 주요 OS 벤더가 쌓아온 OS를 중심으로 한 개발 도구 및 애플리케이션 공급 업체의 에코 시스템을 컨테이너형 가상화 기술을 기반으로 재 구축하려고 노력하고 있습니다.
구글과 Docker(도커) Container(컨테이너)
Google Cloud Platform 담당 수석 직원 소프트웨어 엔지니어 Joe Beda 의 슬라이드에 따르면 “Everything at Google runs in a container”라고 언급한 만큼 구글에서 컨테이너형 가상화는 매우 중요한 기술입니다.
모든 Google 서비스와 Google 내부에서 사용되는 도구도 이미 도커와 같은 컨테이너 형 가상화 기술에서 실행되고 있습니다.
또한 Google Compute Engine 에서 지원하는 CoreOS는 애플리케이션 런타임용으로 Docker를 기반으로 개발 된 OS입니다.
불필요한 기능은 제거하고 가볍고 안전한 OS를 목표로 구글이 야심차게 진행하고 있는 OS입니다.
Google 자신이 제공하는 Debian 기반 도커 에 최적화 된 OS 이미지, 그리고 CoreOS 지원을 통해 Google Compute Engine은 공격적으로 도커 를 기반으로 하는 클라우드 서비스라는 특징을 강조하고 있습니다.
레드햇(Red Hat)과 도커(Docker)
올해 4월에 Red Hat Summit 2014에서 레드햇은 도커 와의 제휴를 발표했습니다. Red Hat Enteprise Linux (RHEL)의 차기 버전인 RHEL 7에서는 컨테이너 가상화 형식으로 통합하겠다는 내용을 발표했습니다.
- Fedora, CentOS, Red Hat Enterprise Linux에 걸쳐 컨테이너 형 가상화에 최적화 된 가벼운 호스트 OS를 개발하는 “Project Atomic”을 시작한다.
- 레드햇은 OpenShift 애플리케이션 컨테이너를 도커와 통합한다.
- 레드햇의 PaaS 제품인 “Openshift Origin”에 새로운 프로젝트로 GearD를 시작하고, OpenShift에서 컨테이너 형 가상화를 활용 한 애플리케이션 배포 및 운영을 지원하는 구조를 개발한다.
- 레드햇은 2014년 3월 도커 컨테이너 형식으로 패키징 된 애플리케이션에 대한 인증 프로그램을 시작한다.
레드햇에 따르면 “컨테이너 기술은 Linux 커뮤니티에서 가장 인기있는 기술이며, 향후에는 컨테이너를 기반으로 구축되는 애플리케이션이 많이 증가될 것이다.”
또한 ”도커 를 지원하는 것으로, 레드햇의 PaaS 솔루션인 OpenShift는 이러한 컨테이 너를 쉽게 활용할 수 있도록 된다” 고 밝혔습니다.
맺음말
앞서 언급한 것처럼 구글은 이미 모든 것을 컨테이너형 가상화를 통하여 운영하고 있으며, Red Hat은 자사의 PaaS 플랫폼인 OpenShift등 여러 분야에서 도커 와 “기술적 협력”을 발표 했습니다. 또한 오픈 소스 IaaS 프로젝트 OpenStack은 최신 릴리스 인 코드 명 “Havana”에 도커가 포함되어 있습니다.
왜 Docker는 성장할까요? “컨테이너는 차세대 컴퓨팅을 실현하는 가장 중요한 요소 중 하나”이며, 기존의 가상 머신은 그에 상응하는 단위가 아니라고 생각하는 것입니다.
Docker는 차세대 가상화 엔진의 역할 뿐만이 아니라, Docket Hub 를 통하여 컨테이너형 가상화 에코시스템 확대의 기반을 제공하고 있습니다. Docker는 오픈소스을 기반으로 하는 하둡 에코시스템 만큼이나 발전이 기대됩니다.
2019년 Docker사, Docker 사업을 Miraantis에 매각
미국 시간 2019년 11월 13일 Mirantis 는 Docker 의 Docker Enterprise 사업을 인수했다고 발표 하였다.
컨테이너 기술인 Docker와 그것의 기업용 상용 버전을 제공하는 미국의 Docker사는 Docker Enterprise Platform 사업을 Mirantis에 매각하기로 합의했다고 발표하였습니다.
컨테이너(Container) 장점
가상 머신은 하드웨어 스택을 가상화합니다. 컨테이너는 이와 달리 OS를 가상화하여 여러 개의 컨테이너를 OS 커널에서 직접 실행합니다. 컨테이너는 기존의 가상화 기술보다 훨씬 가볍게 동작하며, OS 커널을 공유하고, 시작 시간이나 종료 시간이 빠르고 , 메모리를 훨씬 적게 차지합니다
컨테이너 기술 소개
IT 분야에서 “컨테이너”도 일종의 박스의 의미이며, 물류분야에서 처럼 Portability(이동성)을 실현하기 위해 만들어진 기술입니다.
이동성은 IT 시스템(플랫폼 또는 인프라) 상에서 다른 IT 시스템으로 이동을 쉽게 허용하는 성질을 의미하는 것입니다.
컨테이너를 들으면 무엇이 떠오르나요?
항구나 공항 등에서 보는 직 물류 업계에서 사용되는 컨테이너가 떠오르실 것입니다.
컨테이너는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.
가상화와 컨테이너의 비교
가상화는 개발측면이나 운영측면에서 자원 효율적으로 사용하고 관리하는 기술로서 널리 확산되었습니다. 다양한 OS 환경과 어플리케이션을 하나의 파일로 관리할 수 있는 “가상 머신 (VM)”은 손쉽게 이동할 수 있는 이식성을 제공해 주었습니다.
컨테이너는 하이퍼바이저와 Guest OS 없이 애플리케이션 운영환경을 제공하는 기술로서 앞서의 가상화 기술의 고질적인 문제점들을 해결하고 있습니다.
Docker 그리고 컨테이너 기술의 역사
컨테이너 기술의 시작과 현재까지 발전해온 역사를 살펴봅니다.
1972년 IBM VM / 370 (OS) 최초 가상화 기능 구현 , 1979 년 UNIX V7 에 chroot 시스템 콜 도입, 1999년 Virtuozzo 출시 컨테이너 가상화의 새로운 방향을 제시하였습니다.
물리서버, 가상화를 넘어 컨테이너까지
컨테이너 기술이 등장하기 전까지 IT 역사를 되돌아 보겠습니다.
가상화 기술이 출현하기 전에는 하나의 물리적 서버에서 다양한 애플리케이션을 올려 사용하는 시대였습니다.
References
- ANNOUNCING DOCKER HUB AND OFFICIAL REPOSITORIES – http://blog.docker.com/2014/06/announcing-docker-hub-and-official-repositories/
- What is Docker? – http://www.docker.com/whatisdocker/
- Containers on Google Cloud Platform – https://developers.google.com/compute/docs/containers
- Containers At Scale – https://speakerdeck.com/jbeda/containers-at-scale
- Running Docker with OpenStack – http://www.slideshare.net/dotCloud/docker-open-stack
왜 Docker는 성장할까요? “컨테이너는 차세대 컴퓨팅을 실현하는 가장 중요한 요소 중 하나”이며, 기존의 가상 머신은 그에 상응하는 단위가 아니라고 생각하는 것입니다.
Docker는 차세대 가상화 엔진의 역할 뿐만이 아니라, Docket Hub 를 통하여 컨테이너형 가상화 에코시스템 확대의 기반을 제공하고 있습니다. Docker는 오픈소스을 기반으로 하는 하둡 에코시스템 만큼이나 발전이 기대됩니다.
Apache httpd 비교 – Prefork MPM vs. Worker MPM
/in JBoss, OPENMARU/by 오픈마루 마케팅0Apache HTTPD 2.0 버전에 추가된 MPM 중 가장 많이 사용하는 Prefork MPM과 worker MPM의 차이점을 간단하게 설명합니다.
Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임
/in JBoss, OPENMARU/by 오픈마루 마케팅0Azul 시스템은 대용량의 스케일업형 하드웨어에서 자바 애플리케이션을 운영할 수 있는 기술을 기반으로 하고 있다.
Azul이 제공하는 기술의 두 가지 핵심 구성요소는 리얼 타임에 특화된 자바 가비지 컬렉션과 오버 헤드가 거의 없는 진단/모니터링 도구 이다.