Melhor base para implantação de Mesos

Melhor base para implantação de Mesos

Atualmente, estamos no processo de projetar a arquitetura de nossa nova configuração de nuvem 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 Apache Spark e nossa infraestrutura corporativa, incluindo servidores web, servidores de e-mail, etc.

A ideia é rodar nossos web services em containers Docker rodando sobre um dos escalonadores disponíveis para Mesos (Marathon/Chronos, Aurora ou Singularity). Este seria, portanto, o primeiro grupo-quadro Mesos. Ao lado, teríamos o framework Apache Spark e diversos frameworks de banco de dados para armazenamento de dados. Este seria o segundo grupo de estruturas Mesos. Escolheremos os detalhes depois de executá-los todos em paralelo para teste.

Temos dificuldade em decidir, no entanto, em que base administrar 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 da estrutura estejam sempre em execução/reiniciados em caso de falha. As opções que estamos considerando são as seguintes:

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

2) Executar Mesos e frameworks diretamente em servidores Ubuntu/Debian. Para esta opção, estamos inclinados para Foreman e Puppet.

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

  • é o menos complexo de configurar
  • é o mais fácil de manter e manter atualizado
  • tem a menor sobrecarga

Não trabalhamos com CoreOS antes, mas é a opção que parecemos estar caminhando. Um grande problema (subjetivo) que tenho com isso é que executamos Mesos em contêineres Docker e, em seguida, executamos 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 venho, eu preferiria que o Mesos fosse um sistema operacional real que rodasse bem em cima do metal. Parece que não importa a base usada, você acaba com a mesma funcionalidade pretendida em mais de uma camada da arquitetura (ou seja, CoreOS&Fleet&SystemD == Mesos&Marathon&Chronos). Isso é inevitável?

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

Responder1

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 nele, dependendo de suas necessidades e objetivos, para obter a solução desejada.

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

Agora, para responder às suas perguntas diretas:

  • Mesos é menos complexo de configurar usando seuDistribuição Linux "favorita"com os quais você está mais familiarizado.
  • Mais uma vez, o mais fácil de manter é 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 das próprias, e ter o Mesos como sistema operacional (trabalhando tanto com hardware quanto com software ...) é uma imagem completamente errada.

Então, 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(código aberto) DCOSeCore OS.

informação relacionada