고전컴퓨터/궁금한것들 모음

서버 컨테이너

nineil91 2021. 7. 1. 16:22

서론 및 간단한 설명

VM(가상머신)은 호스트 운영체제에서 구동되며 그 바탕이 되는 하드웨어에 가상으로 엑세스하는 Linux, Window 등의 게스트 운영체제를 의미한다. 이를 이해하면 컨테이너를 이해하기 쉬울것이다.

컨테이너는 가상머신과 마찬가지로 애플리케이션을 관련 라이브러리 및 종속 항목과 함께 패키지로 묶어 소프트웨어 서비스 구동을 위한 격리 환경을 마련한다. VM과의 유사점은 묶어서 서비스 구동을 위한 격리 환경을 마련하는 정도이다.

(좌) VM_가상머신의 설명 (우)컨테이너의 설명

컨테이너는 애플리케이션을 실제 구동 환경으로부터 추상화할 수 있는 논리 패키징 메커니즘을 제공한다. 이러한 분리를 통해 사설 데이터 센터나 퍼블릭 클라우드, 개발자의 개인 노트북 컴퓨터 등등 어느 환경이든 컨테이너 기반 애플리케이션을 지속적으로 쉽게 배포 할 수 있게 한다. 또, 컨테이너화를 통해 업무 영역을 깔끔하게 분리 할 수 있다. 즉, 개발자는 애플리케이션의 로직과 종속 항묵에 집중하고, IT 운영팀은 특정 소프트웨어 버전, 개별 앱 구성과 관련한 세부 업무에 시간을 낭비하지 않고 배포 및 관리에 집중 할 수 있다. 

 

컨테이너를 사용해야 하는 이유

가상머신은 하드웨어 스택을 가상화 함. 이에 반헤 컨테이너는 운영체제 수준에서 가상화를 실시하여 다수의 컨테이너를 OS 커널에서 직접 구동한다. 컨테이너는 훨씬 가볍고 OS 커널을 공유하며, 시작이 훨씬 빠르고 OS 전체 부팅보다 메모리를 훨씬 적게 차지한다. 컨테이너는 여러가지 형식이 있다. Docker는 널리 사용되는 오픈소스 컨테이너 형식으로 구글 클라우드 플랫폼과 구글 쿠버네티스 엔진에서 지원된다.

컨테이너는 일관성있는 환경, 폭넓은 구동 환경, 격리된 환경을 제공하여 사용자 환경을 지원한다.