컨테이너는 멀티 OS 환경을 실현
IT 분야에 개발측면이나 운영측면에서 효율성 향상과 신속한 변화에 대응하기 위하여 가상화 소프트웨어를 도입해 사용하였습니다.
가상화 소프트웨어는 여러 OS 환경과 어플리케이션을 VM 이미지라는 단위의 파일로 묶어 이식 가능한 환경을 제공합니다.
하지만 여러 개의 VM으로 집적도가 높아지는 경우에 성능 저하와 Guest OS에 하드웨어에 대한 가상환경을 제공하는 가상화 소프트웨어의 간섭에 따른 장애 발생이 문제가되었습니다.
Container 기술 발표 자료 다운로드
컨네이너는 기존의 하이퍼 바이저 형 가상화와 달리 하나의 OS 환경을 컨테이너라는 분리 된 공간으로 만들고, 그 분리 된 공간마다 다른 OS 환경을 제공 할 수 있습니다.
컨테이너는 멀티 OS 환경을 실현할 수 있기 때문에 여러 OS 버전을 필요로하는 IT 시스템을 하나의 OS 환경에 통합 할 수 있다는 장점이 있습니다.
컨테이너는 애플리케이션을 위한 분리 된 공간을 제공합니다. 하나의 OS 환경안에서 가상OS 환경을 프로세스 단위로 분리 할 수 있기 때문에 멀티 OS 환경을 제공 할 수 있습니다.
예를 들어, CentOS 7 호스트 OS에서 컨테이너를 활용하여 CentOS 6.6 컨테이너와 Ubuntu Server 14.04 LTS 컨테이너를 여러 번 실행시킬 수 있습니다.
컨테이너 를 들으면 무엇이 떠오르나요?
항구나 공항 등에서 보는 직 물류 업계에서 사용되는 컨테이너가 떠오르 실 것입니다
컨테이너는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.
컨테이너 발명 이전
컨테이너 발명 이후
컨테이너 내용물의 소유자는 컨테이너가 배송되는 방법에 직접 관여할 필요가 없으며, 배송 회사는 내용물을 알거나 관리할 필요 없이 컨테이너를 발송 지점에서 목적지로 운송합니다.
컨테이너는 가로, 세로, 높이의 크기가 세계적으로 표준화되어 있습니다. 컨테이너의 크기가 통일되어 있기 때문에 화물 트레일러로 옮기고 그대로 대형 선박에 컨테이너를 옮겨 적재 할 수 있습니다. 또한 컨테이너 표준을 지키면 물류에 대한 계약 , 보관 , 운송 , 보험 등에 대해서 동일한 기준으로 비즈니스를 할 수 있습니다.
그렇다면 IT 분야에서 컨테이너는 무엇일까요?
IT 분야에서 “컨테이너”도 일종의 박스의 의미이며, 물류분야에서 처럼 Portability (이동성) 을 실현하기 위해 만들어진 기술입니다.
이동성은 IT 시스템 (플랫폼 또는 인프라) 상에서 다른 IT 시스템으로 이동을 쉽게 허용하는 성질을 의미하는 것입니다.
클라우드의 확산과 함께 IT 시스템의 구성과 이동 위치가 다양해 졌습니다. 컨테이너 기술도 표준화 되어 있기 때문에 Linux 환경이라면 어디 서든 운영이 가능할 수 있다는 점에서 컨테이너 의미를 잘 이해할 수 있습니다.
컨테이너는
컨테이너는 호스트 OS에 논리적 파티션 (컨테이너)을 만들고 애플리케이션을 실행하는 데 필요한 라이브러리나 프로그램 그리고 설정파일 등을 한덩어리로 묶어서 사용할 수 있도록 합니다. 호스트 OS의 자원은 논리적으로 분리하여 각각의 컨테이너에서 공유하여 사용합니다. 컨테이너는 서버 가상화에 비해 오버 헤드가 적기 때문에 가볍고 빠르게 작동하는 것이 특징입니다.
애플리케이션 실행환경을 작고 가벼운 컨테이너 단위로 구성하게 되면 용도별로 컨테이너들을 조합하여 마이크로서비스 아키텍처 형태로 구성할 수 있습니다.
하이브리 클라우드를 위한 차세대 가상화 기술 – 컨테이너
클라우드 컴퓨팅의 운영 및 관리에 가장 기본이 되는 기술 중의 하나인 “가상화 기술”은 나날이 발전하며 새로운 기술들을 도입하고 있습니다. 그 중에서도 최근 주목을 받고있는 것이 바로 “컨테이너”입니다. 컨테이너 기반의 오픈소스 플랫폼들은 하이브리드 클라우드 구현과 DevOps 그리고 마이크로서비스 아키텍처를 구현하기 위한 필수적인 기술로 자리잡고 있습니다.
컨테이너 개념잡기- 왜 컨테이너일까?
항구나 공항 등에서 보는 직 물류 업계에서 사용되는 컨테이너가 떠오르 실 것입니다
Container 는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.
컨테이너 를 꼭 사용해야 하는 이유는 ?
컨테이너가 주는 기술적 장점은 가상화 기술과 대비하여 이미지 사이즈가 작고, 집적도가 높으며, 시작과 정지 시간이 짧습니다. IT 역할별로 개발자, 운영자, 기획자 측면에서 컨테이너가 필요한 이유를 살펴 봅니다.
가상화와 컨테이너의 비교
가상화는 개발측면이나 운영측면에서 자원 효율적으로 사용하고 관리하는 기술로서 널리 확산되었습니다. 다양한 OS 환경과 어플리케이션을 하나의 파일로 관리할 수 있는 “가상 머신 (VM)”은 손쉽게 이동할 수 있는 이식성을 제공해 주었습니다.
컨테이너는 하이퍼바이저와 Guest OS 없이 애플리케이션 운영환경을 제공하는 기술로서 앞서의 가상화 기술의 고질적인 문제점들을 해결하고 있습니다.
Docker 그리고 컨테이너 기술의 역사
컨테이너 기술의 시작과 현재까지 발전해온 역사를 살펴봅니다.
1972년 IBM VM / 370 (OS) 최초 가상화 기능 구현 , 1979 년 UNIX V7 에 chroot 시스템 콜 도입, 1999년 Virtuozzo 출시 컨테이너 가상화의 새로운 방향을 제시
디지털 트랜스포메이션과 컨테이너
DX를 실현하기 위해서 민첩한 개발 방법은 큰 서비스 하나로 개발하는 것이 아니라 개별 기능별로 분할된 마이크로 서비스라는 단위로 개발하는 것이기 때문에 컨테이너가 가장 적합한 기술이라고 할 수 있습니다.
하이브리드 클라우드 소개
하이브리드 클라우드는 네트워크 연결을 통해 하나 이상의 퍼블릭 클라우드 및 프라이빗 클라우드 환경을 결합하여 서로 다른 클라우드 환경 간에 데이터와 애플리케이션을 공유할 수 있는 클라우드 컴퓨팅 모델입니다.
References & Related Links
- 디지털 트랜스포메이션이란? (레드햇) – https://www.redhat.com/ko/topics/digital-transformation/what-is-digital-transformation
-
디지털 트랜스포메이션(Digital Transformation) 정의와 전략 (레드햇) – https://www.redhat.com/ko/topics/digital-transformation
-
디지털이니셔티브 그룹 – http://digitaltransformation.co.kr/
-
디지털 트랜스포메이션에 관한 7가지 오해 – http://www.itworld.co.kr/news/143202