Melhor fundação para implantação de Mesos

9

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

A idéia é executar nossos serviços da Web em contêineres do Docker executando sobre um dos agendadores disponíveis para o Mesos (Marathon / Chronos, Aurora ou Singularity). Este seria, portanto, o primeiro grupo de estrutura do Mesos. Ao lado, teríamos a estrutura do Apache Spark e várias estruturas de banco de dados para armazenamento de dados. Este seria o segundo grupo de estruturas do Mesos. Escolheremos os detalhes depois de executá-los todos em paralelo para teste.

Temos problemas para decidir, no entanto, em que base executar 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 daemons do Mesos e framework estejam sempre em execução / reiniciados em caso de falha. As opções que estamos considerando são as seguintes:

1) Executando o Mesos e as estruturas como contêineres de docker em um sistema operacional mínimo. Nesse sentido, atualmente estamos nos inclinando para o CoreOS e Fleet.

2) Executando o Mesos e 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, em ordem de importância:

  • é o menos complexo de configurar
  • é o mais fácil de manter e manter atualizado
  • tem o mínimo de sobrecarga

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

Um pensamento semelhante diz respeito à redundância entre as camadas. Para explicar de onde eu venho, eu preferiria que o Mesos fosse um sistema operacional real que simplesmente roda 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 & 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?

awishformore
fonte
Isso parece complexo. Qual é o apelo de Mesos neste contexto?
ewwhite
O Mesos complementa bem as coisas de big data / HPC, como Spark ou mesmo Hadoop, mas não vejo o valor de colocar tudo sob ela, principalmente serviços de Web ou de correio.
Michael Hampton
@ewwhite O apelo nesse contexto é que podemos distribuir os recursos de hardware disponíveis entre todos os aplicativos sem precisar segregar nosso cluster. Se executarmos duas configurações, teremos que dividir manualmente os recursos entre elas.
awishformore
@MichaelHampton Acreditamos que as arquiteturas do Mesos são o caminho a seguir para a computação em nuvem, mas não afirmo de forma alguma que seja a única resposta. No entanto, deve ser óbvio que é mais fácil gerenciar no cluster do que gerenciar o mesmo cluster, além de algumas coisas extras ao lado.
awishformore
1
Vale a pena dar uma olhada: mesosphere.com/product - a edição corporativa aparentemente será viável para fornecimento em bare metal.
Mary

Respostas:

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 sob ele, dependendo de suas necessidades e objetivos, para obter a alma que deseja.

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

Agora, para responder às suas perguntas diretas:

  • O Mesos é menos complexo de configurar usando sua distribuição Linux "favorita" que você está mais familiarizado.
  • Mais fácil de manter é a distro com a qual você está mais familiarizado.
  • Com relação à sobrecarga, o Mesos é um sistema de software que usa bibliotecas de SO subjacentes e outras funcionalidades de software, além de possuir o Mesos como sistema operacional (trabalhando com hardware e software ...) é uma espécie de imagem completamente errada.

Portanto, minha melhor resposta para você é usar sua distribuição Linux favorita e colocar o Mesos, ou se você quiser aprender algo novo e possivelmente rápido e sem esforço, use DCOS e CoreOS (de código aberto) .

Breign
fonte