Docker 라는 회사는 오픈소스 프로젝트인 Docker 만큼 많은 관심과 투자를 얻게 되었습니다.

그 회사의 개념을 가장 잘 설명하는 것은 그 회사의 로고에 대한 의미를 살펴보는 것입니다.

Docker 의 로고는 20세기의 최고의 발명품으로 평가 받는 선적 컨테이너에 대한 것입니다.

육상과 해상 운송에서 컨테이너는 국제무역의 확대에 기폭제 역할을 하였으며, 컨테이너없는 무역은 상상하기 힘듭니다.

오픈소ㅡ 슈퍼루키 Docker
Shipping and World Trade
특히 동아시아의 대표적인 무역국가인 한국, 중국, 일본, 싱가포르, 타이완은 모두 컨테이너선이 정박할 수 있는 대형 도크를 가진 항구를 건설하여 국제무역 거점으로 성장하게 됩니다.
지금은 아니지만, 한국은 대량의 컨테이너를 운송할 수 있는 대형 선박 건조 분야와 해양 운송 분야의 글로벌 리더였던 적도 있습니다.

1.보잘 것 없어 보이는 철재 상자 – 컨테이너

before container
육지와 바다는 수송 시스템이 전혀 다른 형태로 되어있습니다.
예전에는 화물을 트럭으로 부두까지 실어온 후 선박이 도착하면 다른 화물들과 함께 배의 측면으로 옮겨 부두노동자가 포장하여 적재하였습니다.
그 과정에서 화물의 손상, 분실, 시간, 비용이 크게 발생하였으며, 운송 수단으로서 신뢰도 낮았습니다.
19세기 후반부터 미국과 유럽의 수많은 운송업체들은 박스 형태의 운송을 시도하였습니다.
물건을 나를 때 상자에 넣어서 운반하는 것이 편리하다는 것은 누구나 알고 있는 사실이지만, 문제는 표준화였습니다.
배를 소유한 해운업체는 구태여 자기 돈을 들여 컨테이너를 이동시킬 크레인을 항구에 설치하려 하지 않았습니다.
철도 업체나 트럭 업체는 항구에 내려놓은 화물이 어떻게 배에 실리는 지에는 관심을 두지 않았습니다.
회사마다, 분야마다 다른 형태의 상자와 도구를 쓰다보니 효율성이 떨어져 상자를 쓰지 않느니만 못했습니다.
항구 노동자들 역시 정치적 영향력이 큰 노조를 조직해서 하역 작업의 기계화를 막았습니다.

2.1950년대 컨테이너의 등장

1950년대에 트럭운송업을 하던 Malcom McLean 과 그의 헤드 엔지니어인 Keith Tantlinger가 컨테이너를 표준화하여 세계를 변화시켰습니다.
그 당시에 배를 수작업으로 선적하는 비용은 톤당 5.86 달러였으며, 컨테이너를 사용하면 톤당 16 센트 밖에 안되며 비용은 36 배 절감됩니다.
또한 컨테이너 화는 또한 선박의 적재 및 하역 작업에 소요되는 시간을 크게 줄였습니다.

3. 트럭 운전사였던 말콤 맥린 (Malcolm P. McLean )

source: Wikipedia Malcolm_McLean_at_railing,_Port_Newark,_1957
트럭 운전사였던  말콤 맥린 (Malcolm P. McLean ) 은 트럭이나 선박에 화물을 적재할 때 걸리는 오랜 대기 시간을 해결하기 위해 “박스” 만 분리하여 배에 싣는 아이디어를 생각하게 됩니다.
이것은 교통 수단이 무엇이든지 박스를 오픈하지 않고 트럭, 선박, 철도에서 즉시 화물을 교환할 수 있는 혼합수송 방법입니다.
그는 해운업계에 들어오기 전 트럭 운전과 트럭 운송업체를 운영해 봤기 때문에 표준화를 통해 화물을 효율적으로 운송하는 방법이 매우 어려운 일이라는 것을 잘 알고 있었습니다.
하지만 그는 해운사와 육송 운송업체들이 각자 자신들의 기득권을 지키고 서로의 영역을 침범하지 못하도록 방어하는 데 열을 올리는 동안 선박과 트럭이 함께 쓸 수 있는 공통 규격의 컨테이너 개발에 힘을 기울였습니다.
또한 집요하게 노조와 정부 관계자들을 설득했습니다.
맥린은 바다와 육지를 포괄한다는 뜻의 시랜드(Sea-Land)사를 설립하고 1956년 3월에 최초로 컨테이너를 이용하여 해양 화물 운송 시작하게  되었습니다.
그는 컨테이너를 이용한 화물 운송의 혁명을 이끌면서, 2007년에는 포브스(Forbes)에서 선정한 ‘20세기 후반 세계를 바꾼 인물 15인’에 선정됩니다.

4. 오픈소스 개념으로 컨테이너 기술을 공유한 Keith Tantlinger

McLean 의 헤드 엔지니어였던 Tantlinger는  화물을 컨테이너에 적재하고, 트럭으로 운반하고, 크레인으로 운반할 수 있는 코너 캐스팅과 트위스트록 (Twistlock) 매커니즘과
같은 컨테이너로 복합 운송을 할 수 있도록 하는 기반 기술을 개발하였습니다.
더욱 중요한 것은 Tantlinger가 McLean 에게 라이선스 없이 컨테이너 기술을 사용할 수 있게 특허공개를 설득한 것입니다.
오늘날 오픈소스을 통한 혁신 사례에서 보듯이 컨테이너 기반 기술을 공개하여 모든 항구와 모든 화물선에서 컨테이너를 이용하면 화물의 운송의 혁신이 일어날 것을 확신하였습니다.
Tantlinger는 소프트웨어 용어로 오픈소스를 컨테이너 기술를 확산할 수 있는 아이디어에 활용한 것입니다.

5. Docker 는 화물운송 분야의 컨테이너, 공통점은?

Docker가 구축하는 애플리케이션에 대한 표준화된 컨테이너는 화물 운송 분야의 컨테이너는 대한 은유입니다.
  • 컨테이너가 Tantlinger 에 의해 기술적인 표준화가 되기 전부터 오랫동안 구축된 개념입니다. HP, 오라클, IBM 과 같은 대형 벤더들은 수년간 켄테이너 기술을 사용해 왔으며, 특히 구글은 내부 프로젝트에서 매우 유사한 구현 방식을 사용하였습니다.
    도커는 오픈소스와 커뮤니티를 중심으로 기술의 표준화와 발전을 이끌고 있습니다.
  • 화물 컨테이너의 내부 화물은 운송에 중요하진 않습니다. 세계의 모든 선박과 트럭 그리고 크레인은 컨테이너 규격에 적합해야 합니다. 마찬가지로 도커 컨테이너도 어떤 애플리케이션( 관련 파일, 프레임워크, 의존성 등)이 내부에 있는지 중요하지 않습니다.
    컨테이너는 모든 리눅스 배포판에서 실행되며, AMAZON AWS, Micrsoft Azue, Google Cloud Platform, Rackplace 등 모든 퍼블릭 클라우드 환경에서 운영됩니다.
  • 해외로 이사를 간다고 가정을 하면 사실상 컨테이너에 이사짐을 넣은 후 트럭으로 이동하여, 크레인으로 배에 옮겨져 다른 나라로 운송합니다. 마찬가지로 컨테이너를 이용하면 개발자가 로컬 시스템에서 애플리케이션을 빌드하고 테스트 할  수 있으며
    애플리케이션을 서버에 Push할 수 있습니다. 개발자는 컨테이너로 배포하게 되면 개발환경이나 운영환경이나 동일하게 동작할 것이라는 것을 알수 있습니다.
Docker with_AWS, Azure,GCP

컨테이너는 컨테이너의 라이프사이클을 손쉽게 관리할 수 있게 할 뿐만아니라 “Run Anywhere” 비전처럼 클랑두드 서비스 어디에서도 운영될 수 있습니다.

컨테이너는 가상화와 비교했을때 클라우드 마이그레이션 과정을 비교하기 어려울 정도로 단순화되고 효율적입니다.

6. 컨테이너 기술이 클라우드 활성화의 견인차?

IT 기술에서의 컨테이너화는 개발과 테스트 단계에서 사용되는 시스템 환경을 그대로  물리서버, 가상화, 클라우드와 같이 상이한 환경에서 배포하고 운영할 수 있도록 합니다.
이는 리눅스와 같은 개방형 기술을 기반으로 하고 있어 기존의 가상화 기술이 가지고 있던 벤더 종속성없이 Linux 의 기본 기능만으로 손쉽게 컨테이너 환경을 구축할 수 있습니다.
해양 운송 분야에서 컨테이너를 통한 표준화가 해운산업의 비즈니스 혁신을 이끌고, 더 나아가서는 세계무역 발전에 기반이 되었습니다.
오픈 소스인 리눅스와 도커를 기반으로 하는 리눅스 컨테이너 기술의 표준화가 IT 분야에서도 예측하기 어려운 혁신적인 변화의 기폭제가 될것을 기대합니다.

References & Related Links