현재 새로운 Apache Mesos 클라우드 설정의 아키텍처를 설계하는 중입니다. 목표는 서로 다른 스택을 동일한 아키텍처로 이동하여 시스템을 통합하는 것입니다. 주요 작업은 Apache Spark를 사용한 빅 데이터 분석 및 웹 서버, 메일 서버 등을 포함한 회사 인프라입니다.
아이디어는 Mesos (Marathon / Chronos, Aurora 또는 Singularity)에 사용 가능한 스케줄러 중 하나에서 실행되는 Docker 컨테이너에서 웹 서비스를 실행하는 것입니다. 따라서 이것이 첫 번째 Mesos 프레임 워크 그룹이됩니다. 그 옆에는 Apache Spark 프레임 워크와 데이터 저장을위한 여러 데이터베이스 프레임 워크가 있습니다. 이것이 Mesos 프레임 워크의 두 번째 그룹입니다. 테스트를 위해 세부 사항을 모두 병렬로 실행 한 후 세부 사항을 선택합니다
그러나 Mesos 자체를 실행할 기준을 결정하는 데 어려움이 있습니다. 이상적으로는 가능한 한 금속에 가깝게 실행하려고합니다. 또한 오케스트레이션 솔루션을 사용하여 Mesos 및 프레임 워크 데몬이 항상 실패시 실행 / 다시 시작되도록합니다. 고려중인 옵션은 다음과 같습니다.
1) 최소한의 OS에서 Mesos 및 프레임 워크를 도커 컨테이너로 실행하십시오. 이와 관련하여 우리는 현재 CoreOS와 Fleet에 기대어 있습니다.
2) Ubuntu / Debian 서버에서 Mesos 및 프레임 워크를 직접 실행 이 옵션을 위해, 우리는 Foreman과 Puppet을 향해 기울고 있습니다.
질문에 관해서는, 우리는 다음과 같이 중요한 솔루션을 식별하려고 노력하고 있습니다.
- 구성하기가 가장 복잡합니다
- 유지 관리 및 업데이트가 가장 쉬운 방법
- 오버 헤드가 가장 적다
우리는 이전에 CoreOS와 함께 일한 적이 없지만 우리가 향하고있는 옵션입니다. 내가 가지고있는 큰 (주관적인) 문제는 Docker 컨테이너에서 Mesos를 실행 한 다음 Mesos에서 Docker 컨테이너를 실행한다는 것입니다. 이것은 "사악한"것 같고 나에게 잘못되었습니다. 이 고려 사항은 가치가 없는가?
비슷한 생각은 레이어 간의 중복성에 관한 것입니다. 내가 어디에서 왔는지 설명하기 위해 Mesos가 금속 위에서 실행되는 실제 OS인지 선호합니다. 어떤 기반을 사용하든 둘 이상의 아키텍처 계층 (예 : CoreOS & Fleet & SystemD == Mesos & Marathon & Chronos)에서 동일한 의도 된 기능으로 끝날 것 같습니다. 피할 수 없습니까?
기준을 염두에두고 고려하지 않은 Mesos 아래에서 계층을 실행하는 다른 좋은 옵션이 있습니까?