컨테이너는 모두 하드웨어에서 더 많은 밀도를 얻고 있습니다. 즉, 보유하고있는 리소스의 양에 비례하여 서비스를보다 효율적으로 실행할 수 있습니다. 따라서 일부 $를 절약 할 수 있습니다.
주체는 컨테이너가 VM과 같지 않으며 OS의 자체 복사본이 없으므로 훨씬 더 압축 된 샌드 박스이며 컨테이너 처리 기술로 관리된다는 사실을 기반으로합니다. 상단에는 컨테이너가 액세스 할 수있는 자원을 제어합니다.
이렇게하면 한 컨테이너가 한 가지 유형의 서비스를 실행하도록 시스템을 설계하면 컨테이너 관리 레이어가 여러 인스턴스를 조정할 수 있기 때문에보다 효율적으로 배율을 조정하고보다 효과적으로 배포 할 수 있습니다 (탄력성). 각 서비스는 한 번에 스핀 업하거나 배포 할 수 있습니다. 이를 SOA 아키텍처와 비교해보십시오. 일반적으로 (항상 그런 것은 아닙니다) 서비스가 아닌 계층으로 확장됩니다. 웹 계층은 웹 서버 및 서비스를 실행하는 VM 세트, 여러 백엔드 서비스를 실행하는 응용 프로그램 계층 등이 될 것입니다. 컨테이너의 경우 이러한 구분을 할 필요가 없으며 독립적으로 확장 가능한 계층을 100 개 가질 수 있습니다.
귀하가 소비하는 것에 대해서만 비용을 지불하는 클라우드에 완벽하게 적합합니다. 애플리케이션 제품군이 세분화할수록 실행이 더 효율적이어서 소비해야하는 자원이 적습니다.
컨테이너 관리 기술은 또한 일반적으로 어쩌면 클라우드 하나 개 또는 두 개의 가상 머신에서 호스트 (또는 수 있습니다 작은 응용 프로그램이나 워크로드
... 등 등 탄력성, 네트워킹, 작업 부하 분배, 규모, 관리 할 수 있습니다 서비스 또는 VM 스케일 설정)을 사용하면 컨테이너를 사용하면 비용이 더 많이들 수 있습니다. 일반적으로 컨테이너를 호스팅하여 하드웨어 배포를 통해 복원력을 제공하는 최소 3 Vms가 필요하며 이러한 리소스 중 일부는 컨테이너 관리. 따라서 더 적합한 유스 케이스는 시간이 지남에 따라 다양한 수요가있을 수있는 다양한 서비스 컴포넌트가있는 더 큰 시스템입니다.
기술에 따라 실제 VMS의 수는 일반적으로 3에서 20 사이라고 할 수 있지만 일반적으로 노드 당 여러 개의 컨테이너가 있습니다. 각 VM마다 20 개가 필요하므로 3 VMS를 사용하면 VM을 확장해야하기 전에 3 x 20 = 60 인스턴스의 서비스를 호스팅 할 수 있습니다. 어떤 서비스가 이고 그 중 60 개가 미리 결정될 필요는 없습니다. 따라서 웹 프런트 엔드, 계산 서비스 및 데이터 액세스 서비스 등 3 개의 서비스를 호스팅하는 3 개의 VM으로 시작할 수 있습니다. 수요가 늘어남에 따라 프런트 엔드 서비스의 인스턴스 10 개, 계산 35 개, 데이터 액세스 레이어 5 개 - 60 개의 컨테이너 중 10 + 35 + 5 = 50 개를 사용하게 될 수 있습니다.
여기 용기의 밀도를 설명 할 수있는 좋은 시각적 인 그림이있다 : 이 Linux Journal
그래서 "컨테이너 관리 층은"여러 VM을 통해 확산 당신이 아래의 VM을 확장 할 수있는가? –
그래서이 방법은 실제로 자체적으로 확장 할 수없는 서비스가있는 경우에 유용합니다 (예 : 단일 스레드 인 경우). 그러나 VM의 모든 리소스 (코어)를 사용할 수있는 앱을 사용하면 새로운 VM을 올바르게 생성 할 때 동일한 결과가 나타납니다. –
예, 좋은 예는 대기열에서 작업 부하를 사용하는 서비스입니다. 자체적으로 스레드를 생성 할 필요가 없습니다. 각 서비스 인스턴스는 새 컨테이너 인스턴스에서 실행됩니다. –