소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 도커, 오픈스택, PaaS, 마이크로 서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

오늘날 전산 관리 측면에서 효율성, 보안, 호환성 향상이라는 과제를 해결할 수 있도록 가상화라는 기술이 사용된다. 애플리케이션, 서버, 스토리지 및 네트워크 등 다양한 분야에 적용할 수 있는 가상화는 IT 비용을 줄이는 동시에 기업에서 효율성과 관리를 강화하는 방안으로 사용된다. 가상화 기술 대표 키워드로는 가상머신(VM)이 있다.

하지만 가상머신 방식은 컴퓨터를 통째로 만드는 방식으로 각종 성능 이슈가 발생했다. 성능 이슈를 해결하기 위해 호스트와 커널을 공유하는 반가상화 기술까지 등장했다. 하지만 이 경우에도 가상머신은 항상 게스트 OS를 설치해야 했다. 게스트 OS 방식은 이미지 안에 OS를 포함해야 하므로 이미지 용량이 컸다.

이런 가상머신의 성능 문제를 해결하기 위해 컨테이너라는 기술을 사용하게 됐다. 컨테이너 안에 가상 공간을 만들어 실행 파일을 호스트에서 직접 실행할 수 있는 방식이다. 이 기술이 바로 도커(Docker)다.

도커 구성. / 마이크로소프트웨어 394호 발췌
도커 구성. / 마이크로소프트웨어 394호 발췌
도커는 서비스 운영 환경을 묶어서 손쉽게 배포하고 실행하는 경량 컨테이너 기술이다. 컨테이너를 위한 운영체제이면서 코드를 실행하는 표준 방식을 제공한다. 가상 머신이 서버 하드웨어를 가상화하는 방식과 비슷하게 컨테이너는 서버 운영체제를 가상화한다. 도커는 각 서버에 설치되며 컨테이너를 구축, 시작 또는 중단할 수 있는 간단한 명령어를 제공한다.

개발자 사이에 도커가 인기 있는 이유는 오픈소스로써 수많은 개발자와 파트너로 구성된 거대한 공동체를 갖고 있다는 점이다. 특정 업체의 플랫폼에 종속되는 것을 꺼리는 개발자가 많다는 점도 도커 인기의 또 다른 이유이다.

기술적 지식이 조금 있으면 도커를 이용해 로컬 머신 테스트 환경을 생성하는 것은 몇 초 걸리지 않는다. 기존 OS에 새 프로세스가 연결되므로 부팅할 필요도 없다. 이전 빌드가 저장된 상태일지라도 도커는 새로운 빌드에서 달라진 사항만 로딩한다. 기특할 정도로 똑똑하다.

도커를 채택한 조직들에게 이러한 간결함은 특별한 경험이 아니다. 검증 단계의 아키텍처를 상용 단계로 확장하는 과정에서도 자동 연결을 통한 간결화의 혜택을 누릴 수 있다. 또한 완전히 새로운 여러 가상머신으로 구성된 서버팜용 가상 인프라스트럭처를 구성할 수 있다는 것도 훌륭하다.

도커의 운영상 장점은 무궁무진하다. 가볍고 빠른 리눅스 가상화 기술, 도커가 활약할 세상이 기대된다.

박주형 필자의 개발운영 퀀텀 점프를 위한 도커에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.


관련기사