La mejor base para el despliegue de Mesos

9

Actualmente estamos en el proceso de diseño de la arquitectura de nuestra nueva configuración de nube Apache Mesos. El objetivo es unificar nuestros sistemas moviendo diferentes pilas a la misma arquitectura. Las principales cargas de trabajo son análisis de big data que utilizan Apache Spark y nuestra infraestructura corporativa, incluidos servidores web, servidores de correo, etc.

La idea es ejecutar nuestros servicios web en contenedores Docker que se ejecutan sobre uno de los programadores disponibles para Mesos (Marathon / Chronos, Aurora o Singularity). Por lo tanto, este sería el primer grupo marco de Mesos. Junto a él, tendríamos el marco Apache Spark y varios marcos de bases de datos para el almacenamiento de datos. Este sería el segundo grupo de marcos de Mesos. Elegiremos los detalles después de ejecutarlos todos en paralelo para la prueba.

Sin embargo, tenemos problemas para decidir sobre qué base ejecutar Mesos. Idealmente, queremos ejecutarlo lo más cerca posible del metal. También queremos usar una solución de orquestación para asegurarnos de que los demonios Mesos y framework siempre se estén ejecutando / reiniciando en caso de falla. Las opciones que estamos considerando son las siguientes:

1) Ejecutar Mesos y los marcos como contenedores acoplables en un SO mínimo. A este respecto, actualmente nos estamos inclinando hacia CoreOS y Fleet.

2) Ejecutar Mesos y los marcos directamente en los servidores Ubuntu / Debian. Para esta opción, nos estamos inclinando hacia Foreman y Puppet.

En cuanto a la pregunta, buscamos identificar la solución que, en orden de importancia:

  • es el menos complejo de configurar
  • es el más fácil de mantener y mantener actualizado
  • tiene la menor sobrecarga

No hemos trabajado con CoreOS antes, pero es la opción a la que parece que nos dirigimos. Un gran problema (subjetivo) que tengo con esto es que ejecutamos Mesos en contenedores Docker y luego ejecutamos contenedores Docker en Mesos. Esto me parece "impuro" e incorrecto. ¿Es esta consideración sin mérito?

Un pensamiento similar se refiere a la redundancia entre capas. Para explicar de dónde vengo, preferiría que Mesos fuera un sistema operativo real que se ejecuta justo encima del metal. Parece que, independientemente de la base que utilice, terminará con la misma funcionalidad prevista en más de una capa de la arquitectura (es decir, CoreOS & Fleet & SystemD == Mesos & Marathon & Chronos). ¿Es esto inevitable?

¿Hay otras buenas opciones para ejecutar la capa debajo de Mesos que no pudimos considerar, teniendo en cuenta nuestros criterios?

awishformore
fuente
Esto suena complejo. ¿Cuál es el atractivo de Mesos en este contexto?
ewwhite
Mesos complementa bien las cosas de big data / HPC, como Spark o incluso Hadoop, pero no veo el valor de poner todo debajo, particularmente los servicios web o de correo.
Michael Hampton
@ewwhite El atractivo en este contexto es que podemos distribuir los recursos de hardware disponibles entre todas las aplicaciones sin tener que segregar nuestro clúster. Si ejecutamos dos configuraciones, tendremos que dividir manualmente los recursos entre ellas.
awishformore
@MichaelHampton Creemos que las arquitecturas de Mesos son el camino a seguir para la computación en la nube, pero no afirmo de ninguna manera que sea la única respuesta. Sin embargo, debería ser obvio que es más fácil administrar en el clúster que administrar el mismo clúster más algunas cosas adicionales en el lateral.
awishformore
1
Vale la pena echarle un vistazo: mesosphere.com/product : la edición empresarial aparentemente será viable para aprovisionarse en metal desnudo.
Mary

Respuestas:

2

Configurar y ejecutar servicios en Mesos puede ser una operación compleja o fácil, y primero debe definir un esquema de servicios que desea ejecutar, según sus necesidades y objetivos, para obtener la alma que desea.

Ejecuté una configuración de> 70 máquinas y una variedad de servicios diferentes bajo HAProxy para el equilibrio de carga dinámico con Mesos-DNS y Marathon, Api gateway, Chronos, Jenkins, Docker, Collectd y Graphite, ...

Ahora para responder a sus preguntas directas:

  • Mesos es menos complejo de configurar utilizando su distribución Linux "favorita" con la que está más familiarizado.
  • Lo más fácil de mantener es nuevamente, la distribución con la que está más familiarizado.
  • Con respecto a los gastos generales, Mesos es un sistema de software que utiliza bibliotecas de SO subyacentes y otras funcionalidades de software aparte de las suyas, y tener a Mesos como SO (trabajando tanto con hardware como con software ...) es una imagen completamente equivocada.

Entonces, mi mejor respuesta para usted es usar su distribución de Linux favorita y poner Mesos, o si desea aprender algo nuevo y posiblemente rápido y sin esfuerzo, use DCOS y CoreOS (de código abierto) .

Breign
fuente