컨테이너 기술: 하이브리드 클라우드 핵심
컨테이너 기술: 하이브리드 클라우드의 핵심 역할을 하는 컨테이너 기술을 소개합니다.
효율적인 클라우드 관리 방법을 알아보세요.
컨테이너는 멀티 OS 환경을 실현
IT분야에 개발측면이나, 운영측면에서 효율성 향상과 신속한 변화에 대응하기 위하여 가상화 소프트웨어를 도입해 사용하였습니다.
가상화 소프트웨어는 여러 OS 환경과 애플리케이션을 VM 이미지라는 단위의 파일로 묶어 이식 가능한 환경을 제공합니다.
하지만 여러개의 VM으로 집적도가 높아지는 경우에 성능 저하와 Guest OS에 하드웨어에 대한 가상환경을 제공하는 가상화 소프트웨어의 간섭에 따른 장애 발생이 문제가 되었습니다.
컨테이너는 기존의 하이퍼바이저형 가상화와 달리 하나의 OS 환경을 실현할 수 있기 때문에 여러 OS 버전을 필요로하는 IT 시스템을 하나의 OS 환경에 통합할 수 있다는 장점이 있습니다.
컨테이너는 애플리케이션을 위한 분리된 공간을 제공합니다. 하나의 OS 환경안에서 가상OS 환경을 프로세스 단위로 분리할 수 있기 때문에 멀티 OS 환경을 제공할 수 있습니다.
예를 들어, CentOS 7 호스트 OS에서 컨테이너를 활용하여 CentOS 6.6 컨테이너와 Ubuntu Server 14.04 LTS 컨테이너를 여러 번 실행시킬 수 있습니다.
컨테이너를 들으면 무엇이 떠오르나요?
항구나 공항 등에서 보는 물류 업계에서 사용되는 컨테이너가 떠오르실 것입니다.
컨테이너는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.
컨테이너 발명 이전
철도 업체나 트럭 업체는 항구에 내려놓은 화물이 어떻게 배에 실리는 지에는 관심을 두지 않았습니다.
회사마다, 분야마다 다른 형태의 상자와 도구를 쓰다보니 효율성이 떨어져 상자를 쓰지 않느니만 못했습니다.
항구 노동자들 역시 정치적 영향력이 큰 노조를 조직해서 하역 작업의 기계화를 막았습니다.
컨테이너 발명 이후
1950년대에 트럭운송업을 하던 Malcom McLean 과 그의 헤드 엔지니어인 Keith Tantlinger가 컨테이너를 표준화하여 세계를 변화시켰습니다.
그 당시에 배를 수작업으로 선적하는 비용은 톤당 5.86 달러였으며, 컨테이너를 사용하면 톤당 16 센트 밖에 안되며 비용은 36 배 절감됩니다.
또한 컨테이너 화는 또한 선박의 적재 및 하역 작업에 소요되는 시간을 크게 줄였습니다.
컨테이너 내용물의 소유자는 컨테이너가 배송되는 방법에 직접 관여할 필요가 없으며, 배송 회사는 내용물을 알거나 관리할 필요 없이 컨테이너를 발송 지점에서 목적지로 운송합니다.
컨테이너는 가로, 세로, 높이의 크기가 세계적으로 표준화되어 있습니다. 컨테이너의 크기가 통일되어 있기 때문에 화물 트레일러로 옮기고 그대로 대형 선박에 컨테이너를 옮겨 적재 할 수 있습니다. 또한 컨테이너 표준을 지키면 물류에 대한 계약 , 보관 , 운송 , 보험 등에 대해서 동일한 기준으로 비즈니스를 할 수있습니다.
그렇다면 IT분야에서 컨테이너는 무엇일까요?
IT 분야에서 “컨테이너”도 일종의 박스의 의미이며, 물류분야에서 처럼 Portability (이동성) 을 실현하기 위해 만들어진 기술입니다.
이동성은 IT 시스템 (플랫폼 또는 인프라) 상에서 다른 IT 시스템으로 이동을 쉽게 허용하는 성질을 의미하는 것입니다.
클라우드의 확산과 함께 IT 시스템의 구성과 이동 위치가 다양해 졌습니다. 컨테이너 기술도 표준화 되어 있기 때문에 Linux 환경이라면 어디 서든 운영이 가능할 수 있다는 점에서 컨테이너 의미를 잘 이해할 수 있습니다.
컨테이너는
컨테이너는 호스트 OS에 논리적 파티션 (컨테이너)을 만들고 애플리케이션을 실행하는 데 필요한 라이브러리나 프로그램 그리고 설정파일 등을 한덩어리로 묶어서 사용할 수 있도록 합니다.
호스트 OS의 자원은 논리적으로 분리하여 각각의 컨테이너에서 공유하여 사용합니다. 컨테이너는 서버 가상화에 비해 오버 헤드가 적기 때문에 가볍고 빠르게 작동하는 것이 특징입니다.
애플리케이션 실행환경을 작고 가벼운 컨테이너 단위로 구성하게 되면 용도별로 컨테이너들을 조합하여 마이크로서비스 아키텍처 형태로 구성할 수 있습니다.
하이브리드 클라우드를 위한 차세대 가상화 기술 – 컨테이너
클라우드 컴퓨팅의 운영 및 관리에 가장 기본이 되는 기술 중의 하나인 “가상화 기술”은 나날이 발전하며 새로운 기술들을 도입하고 있습니다. 그 중에서도 최근 주목을 받고있는 것이 바로 “컨테이너”입니다.
컨테이너 기반의 오픈소스 플랫폼들은 하이브리드 클라우드 구현과 DevOps 그리고 마이크로서비스 아키텍처를 구현하기 위한 필수적인 기술로 자리잡고 있습니다.
컨테이너 개념잡기 – 왜 컨테이너일까?
항구나 공항 등에서 보는 직 물류 업계에서 사용되는 컨테이너가 떠오르실 것입니다.
Container는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.
컨테이너 장점
가상머신은 하드웨어 스택을 가상화합니다. 컨테이너는 이와 달리 OS를 가상화하여 여러개의 컨테이너를 OS 커널에서 직접 실행합니다. 컨테이너는 기존의 가상화 기술보다 훨씬 가볍게 동작하며, OS 커널을 공유하고, 시작 시간이나 종료 시간이 빠르고, 메모리를 훨씬 적게 차지합니다.
가상화와 컨테이너의 비교
가상화는 개발측면이나 운영측면에서 자원 효율적으로 사용하고 관리하는 기술로서 널리 확산되었습니다. 다양한 OS 환경과 어플리케이션을 하나의 파일로 관리할 수 있는 “가상 머신 (VM)”은 손쉽게 이동할 수 있는 이식성을 제공해 주었습니다.
컨테이너는 하이퍼바이저와 Guest OS 없이 애플리케이션 운영환경을 제공하는 기술로서 앞서의 가상화 기술의 고질적인 문제점들을 해결하고 있습니다.
Docker 그리고 컨테이너 기술의 역사
컨테이너 기술의 시작과 현재까지 발전해온 역사를 살펴봅니다.
1972년 IBM VM / 370 (OS) 최초 가상화 기능 구현 , 1979 년 UNIX V7 에 chroot 시스템 콜 도입, 1999년 Virtuozzo 출시 컨테이너 가상화의 새로운 방향을 제시하였습니다.
디지털 트랜스포메이션과 컨테이너
DX를 실현하기 위해서 민첩한 개발 방법은 큰서비스 하나로 개발하는 것이 아니라 개별 기능별로 분할된 마이크로 서비스라는 단위로 개발하는 것이기 때문에 컨테이너가 가장 적합한 기술이라고 할 수 있습니다.
하이브리드 클라우드 소개
하이브리드 클라우드는 네트워크 연결을 통해 하나 이상의 퍼블릭 클라우드 및 프라이빗 클라우드 환경을 결합하여 서로 다른 클라우드 환경간에 데이터와 애플리케이션을 공유할 수 있는 클라우드 컴퓨팅 모델입니다.
Container 기술 발표 자료 다운로드
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
오케스트로 vs. 레드햇: 공정위에 제소된 이유는?
/in Red Hat, Tech Talk/by 오픈마루 마케팅3클라우드 네이티브 가상화 – 가상화도 클라우드 네이티브 시대
/in Cloud, Tech Talk/by 오픈마루 마케팅3OpenShift Virtualization 소개: 가상화도 클라우드 네이티브로
/in OPENMARU, Red Hat, Tech Talk/by 오픈마루 마케팅1