확장 및 용량 계획에 대한 모범 사례: VM만 해당 ? VM+컨테이너 ? 컨테이너만? 무리 ? 다른 것?

확장 및 용량 계획에 대한 모범 사례: VM만 해당 ? VM+컨테이너 ? 컨테이너만? 무리 ? 다른 것?

(이미 답변된 유사한 질문을 찾을 수 없지만 저는 프랑스 학생이기 때문에 좋은 단어를 사용하지 않을 수도 있습니다.)
내가 찾고 있는 것에 가장 가까운 대답은 다음과 같습니다.확장 가능한 웹 애플리케이션 하드웨어 토폴로지 모범 사례하지만 그것이 모든 것에 답해 주는 것은 아니다

저는 KVM VM을 실행하는 소규모 프라이빗 클라우드(Openstack)를 구축했습니다. 대부분의 경우 도메인/웹 사이트당 하나의 VM으로, 수십 개의 웹 사이트와 일부 클라이언트에 대해서도 마찬가지입니다.
일부는 클라우드 내에서 실행하고 일부는 EC2에서 실행하면서 "하이브리드 클라우드"로 발전할 수 있는지 테스트할 계획이므로 내 "수행 방식"이 내 사용에 가장 적합한지 알아보고 싶습니다.
해당 VM은 다른 Docker 서비스(Nginx용 컨테이너 1개, pgsql용 컨테이너 1개 등...)를 실행하는 CoreOS를 실행합니다. 한 서비스가 어떤 면에서 너무 "짧기" 시작하면 더 큰 VM을 만들고, 이전 VM을 더 큰 VM에 복사한 다음 이전 서비스를 삭제하거나, 필요한 서비스를 위한 전용 VM을 만듭니다(예: 더 많은 연결을 처리하기 위해 Nginx 전용 두 번째 VM).

그런데 혹시 제가 잘못하고 있는 것은 아닌지 궁금합니다.
나는 이 "모델"을 사용하기로 결정했습니다.강한예전에는 Docker를 가지고 놀고 더 익숙해지고 싶었고 Docker가 서비스를 빠르게 배포하는 가장 효과적인 방법 중 하나라고 생각했기 때문에 다양한 도메인/클라이언트 간의 격리가 필요했습니다.

차라리?VM만 사용(컨테이너가 없음) (도메인당 하나의 VM이 아닌) 서비스당 하나의 VM이 있습니까?
또는대신 컨테이너만 사용해야 할까요?서로 다른 서비스를 분리하고 내 노드에서 모두 함께 혼합하여 실행하려면 어떻게 해야 합니까? 예를 들어, 다양한 서비스와 클라이언트로 구성된 수십 개의 컨테이너가 있습니까? 그렇다면 어떻게 하면 서로 다른 도메인/클라이언트를 효과적으로 격리할 수 있습니까? 그런 다음 해당 서비스를 어떻게 확장합니까? 노드를 더 추가하기만 하면 되나요?
아니면 대규모 VM이나 베어메탈 머신의 클러스터를 생성한 다음 이를 사용하여대규모 CoreOS 클러스터 생성베어 메탈 노드를 더 추가하면 어느 것이 성장할 수 있습니까? 그러면 컨테이너와 동일한 질문이 적용됩니다.

제 질문이 너무 멍청하거나 초보자이거나 적합하지 않은 것 같으면 죄송합니다. 하지만 한 발 물러서기에는 너무 늦을 때보다는 지금 질문하는 것이 더 좋습니다. ;)

어떤 제안이라도 환영합니다 :)

와이

답변1

두 VM을 모두 사용해도 괜찮습니다.그리고컨테이너, 특히 이런 종류의 시나리오에서는 더욱 그렇습니다.

VM은 저렴하면서도 비용이 많이 드는 보안 격리 계층을 제공합니다. - VM을 사용하여 우수한 보안을 달성하기 위해 열심히 일할 필요가 없기 때문에 인건비가 저렴합니다. - 특히 적당한 양의 RAM이 필요한 소규모 서비스의 경우 VM의 오버헤드가 상당할 수 있으므로 리소스 비용이 많이 듭니다.

("가상화 세금"은 작은 상수로 간주될 수 있습니다. 대규모 서비스의 경우 이 상수는 무시할 수 있지만 소규모 서비스의 경우 전체 설치 공간의 상당 부분을 차지합니다.)

반면에 컨테이너는 저렴하고 효율적인 솔루션을 제공합니다.소프트웨어 격리및 배포 방법(버전 충돌에 대한 걱정 없이 여러 컨테이너를 나란히 배포할 수 있다는 점에서).

또한 하이브리드 클라우드를 구현하려는 경우(즉, 프라이빗 클라우드에서 퍼블릭 클라우드로의 확산) 컨테이너는 두 환경을 연결하고 차이점을 추상화하는 매우 쉬운 방법입니다.

내 개인적인 전략(귀하의 요구 사항을 올바르게 이해하고 있다고 가정)은 VM으로 테넌트를 격리하고 간단한 프라이빗 클라우드(OpenStack 또는 기타)를 사용하여 컨테이너에 배포하고 해당 컨테이너를 프라이빗 클라우드와 퍼블릭 클라우드 간에 이동하는 것입니다. 필요에 따라 클라우드. 물론 리소스 요구 사항의 변동을 수용하기 위해 어느 클라우드에서든 VM의 크기를 조정할 수 있습니다.

관련 정보