클라우드 사업자들이 Docker에 주목하는 이유
최근 클라우드 사업자들이 Docker를 자사 서비스 포트폴리오에 적극적으로 편입시키고 있습니다. 아마존이 지난 4월 AWS Elastic Beanstalk을 통해 정식 지원을 발표하더니 구글도 최근 Docker 프리뷰 서비스를 제공 한다고 밝혔습니다.
컨테이너 기술은 사실 망 분리 솔루션 등 여러 분야에서 상용 기술로 널리 쓰이고 있었고, 대규모 서비스 인프라를 갖춘 곳에서도 알게 모르게 적용해왔던 기술입니다. 최근 이 기술이 각광 받는 이유는 IaaS 다음으로 이제는 PaaS의 클라우드 상품 구색을 좀더 구체적으로 갖추기 위함으로 풀이됩니다.
Docker와 같은 애플리케이션 컨테이너는 개념상 누구에게나 익숙한 서비스입니다. 호스트로부터 리소스를 독립적으로 쓰는 격리된 공간 상에서 애플리케이션을 운영하는 것인데, 이는 하이퍼바이저 상에 게스트 운영체제를 여러 가상상 머신을 올려 운영하는 것과 크게 다르지 않습니다. 다만 차이가 있다면 가상 머신과 달리 호스트를 하이퍼바이저가 아니라 운영체제로 한다는 것입니다. 호스트 운영체제 상에서 애플리케이션이 마치 샌드박스처럼 서로 독립적인 구조 하에 작동합니다. 이것이 가능한 것은 파일 시스템, 시스템 프로세스, 사용자와 그룹, 메모리 및 기타 시스템 자원, 네트워크 등이 컨테이너 단위로 따로 관리되기 때문입니다.
애플리케이션 컨테이너는 가상 머신처럼 호스트 간 경계를 넘나들며 자유로운 배포와 이동이 가능합니다. 가상 머신의 경우 멀티 테넌트 구현 수준이 높지 않을 경우 이동성(VM Mobility)에 한계가 있는데 비해 애플리케이션 컨테이너는 운영체제 수준에서 애플리케이션 이동이 이루어지기 때문에 더욱 신속한 작업이 가능합니다. 일례로 가상 머신의 경우 셀프 서비스를 통해 보통 몇 분 내 배포 이런 표현을 많이 쓰는데 애플리케이션 컨테이너는 초 단위 생성이 가능할 정도라 합니다.
이처럼 해외에서는 Docker에 대한 소식이 하나 둘 늘고 있는데 국내에서는 아직 잠잠하네요. 아직 IaaS에 대한 확신조차 없어서 다음 진화 방향에 신경 쓰지 않기 때문일까요? 하여간 조만간 국내에서도 관련한 소식들이 들려오지 않을까 합니다.