Melhor Fundação para Implantação do Mesos

9

No momento, estamos no processo de projetar a arquitetura da nossa nova configuração de nuvem do Apache Mesos. O objetivo é unificar nossos sistemas movendo diferentes pilhas para a mesma arquitetura. As principais cargas de trabalho são análises de big data usando o Apache Spark e nossa infraestrutura corporativa, incluindo servidores da Web, servidores de email, etc.

A idéia é executar nossos serviços da Web em contêineres do Docker que estão sendo executados no topo de um dos planejadores disponíveis para o Mesos (Marathon / Chronos, Aurora ou Singularity). Este seria, portanto, o primeiro grupo de framework Mesos. Ao lado, teríamos o framework Apache Spark e várias estruturas de banco de dados para armazenamento de dados. Este seria o segundo grupo de frameworks do Mesos. Vamos escolher os detalhes depois de executá-los todos em paralelo para testes.

Nós temos problemas para decidir, no entanto, em que base rodar o próprio Mesos. Idealmente, queremos executá-lo o mais próximo possível do metal. Também queremos usar uma solução de orquestração para garantir que os Mesos & daemons de estrutura são sempre executados / reiniciados em caso de falha. As opções que estamos considerando são as seguintes:

1) Correndo Mesos & as estruturas como contêineres de estivadores em um sistema operacional mínimo. A este respeito, estamos atualmente inclinados para o CoreOS e para a frota.

2) Correndo Mesos & os frameworks diretamente nos servidores Ubuntu / Debian. Para esta opção, estamos nos inclinando para o Foreman e o Puppet.

Quanto à questão, procuramos identificar a solução que, por ordem de importância:

  • é o menos complexo para configurar
  • é o mais fácil de manter & mantenha-se atualizado
  • tem menos sobrecarga

Nós não trabalhamos com o CoreOS antes, mas é a opção que parece que estamos caminhando. Um grande problema (subjetivo) que tenho com isso é que corremos Mesos em contêineres Docker e, em seguida, corremos contêineres Docker em Mesos. Isso parece "impuro" e errado para mim. Esta consideração é sem mérito?

Um pensamento semelhante diz respeito à redundância entre camadas. Para explicar de onde eu venho, eu preferiria se o Mesos fosse um sistema operacional real que apenas funcionasse bem em cima do metal. Parece que, independentemente da base usada, você acaba com a mesma funcionalidade pretendida em mais de uma camada da arquitetura (por exemplo, CoreOS e Fleet & SystemD == Mesos & Marathon & Chronos). Isso é inevitável?

Existem outras boas opções para executar a camada abaixo do Mesos que não consideramos, tendo em mente nossos critérios?

    
por awishformore 18.06.2015 / 16:30

1 resposta

2

Configurar e executar serviços no Mesos pode ser uma operação complexa ou fácil, e você deve primeiro definir um esquema de serviços que deseja executar, dependendo de suas necessidades e objetivos, para obter a distribuição desejada. / p>

Eu executei uma configuração de > 70 máquinas e uma variedade de serviços diferentes em HAProxy para balanceamento dinâmico de carga com Mesos-DNS e Marathon, gateway Api, Chronos, Jenkins, Docker, Collectd e Graphite, ...

Agora, responda suas perguntas diretas:

  • O Mesos é menos complexo de configurar usando sua distribuição "favorita" do Linux com a qual você está mais familiarizado.
  • Mais fácil de manter é novamente a distro com a qual você está mais familiarizado.
  • Em relação à sobrecarga, o Mesos é um sistema de software que usa bibliotecas de sistema operacional subjacentes e outras funcionalidades de software, além de ser próprio e ter o Mesos como sistema operacional (trabalhando tanto com hardware e software ...) como completamente errado.

Então, a minha melhor resposta para você é usar sua distro favorita do Linux e colocar Mesos, ou se você quiser aprender algo novo e possivelmente rápido e sem esforço, use (open-source) DCOS e CoreOS .

    
por 30.05.2016 / 16:09