한 대의 서버를 하나의 용도로만 사용했다. 남는 서버 공간 그대로 방치, 하나의 서버에 하나의 운영체제, 하나의 프로그램만을 운영했다.
안정적이나 비효율적이다.
논리적으로 공간을 분할하여 VM이라는 독립적인 가상 환경의 서버 이용 가능
VM을 사용하면 서버 한 대 안에서도 여러 개의 OS 환경을 구성할 수 있다는 장점이 있고 그만큼 서버의 공간을 효율적으로 사용할 수 있게 된다.
하이퍼 바이저는 호스트 시스템에서 다수의 게스트OS를 구동할 수 있게 하는 소프트웨어, 그리고 하드웨어를 가상화하면서 하드웨어와 각각의 VM을 모니터링 하는 중간 관리자이다.
논리적으로 구분된 공간에서 독립된 가상의 하드웨어를 할당 받은 VM들은 서로에게 어떤 영향도 미치지 않는다. 즉, 1개의 가상환경에서의 Error 가 다른 가상환경에 영향을 미치지 않는다. 이러한 장점으로 VM을 사용하게 되었다.
도커는 가상화 기술(VM)을 기반으로 만들어졌다.
VM과 비교했을 때 컨테이너는 하이퍼바이저와 게스트 OS가 필요하지 않으므로 더 가볍다.
어플리케이션을 실행할 때는 컨테이너 방식에서는 호스트 OS위에 어플리케이션의 실행 패키지인 이미지를 배포하기만 하면 되는데 VM은 어플리케이션을 실행 하기 위해서 VM을 띄우고 자원을 할당한 다음, 게스트OS를 부팅하여 어플리케이션을 실행 해야 해서 훨씬 복잡하고 무겁게 실행을 해야 한다.