¿Cuáles son las ventajas y desventajas de los clústeres ARM en comparación con los servidores virtualizados en x86?

Este es un tema interesante: los principales proveedores de servidores están impulsando esta iniciativa, ya que creen que hará que el hardware vuelva a ser relevante (forzando la actualización del hardware a una nueva arquitectura / plataforma / chasis).

ARM / Atom ha luchado durante años para obtener una huella en el centro de datos tradicional “Fortune 1000” (el átomo tenía solo 32 bits, <4 GB de memoria), por lo que se vio limitado a las llamadas aplicaciones "nicho" (apache, hadoop y otras aplicaciones altamente arquitecturas de aplicaciones distribuidas (no Windows o VMware). Todavía no puede ejecutar cosas como Exchange, Sharepoint, Oracle, base de datos y servidores virtualizados de manera eficiente utilizando ARM / atom. Recuerdo a un reclutador que me llamó acerca de cómo SeaMicro era la próxima compañía de mil millones de dólares solo para ver cómo AMD los engullía posteriormente por $ 334 millones más modestos. Era una gran tecnología, pero algo adelantada a su tiempo.

Una de las consecuencias más interesantes de esto es el potencial para un conjunto de instrucciones único en arquitecturas móviles / de escritorio / servidor. Esto podría hacer que el desarrollo de aplicaciones multiplataforma sea mucho más simple (es decir, un sistema operativo para gobernarlas a todas). Apple ya se dirige en esta dirección (la eventual unificación de iOS y OSX).

El hecho es que las compañías que compran muchos y muchos servidores tienen arquitecturas escalables y no ven el valor de perseguir la ley de Moore (personalmente lo he visto de primera mano con Westmere vs. Sandybridge). En ese caso, tecnologías como ARM / Atom son mucho más rentables: hacemos MUCHO más de estos chips que x86 (es decir, productos básicos), y el bajo consumo de energía es un inquilino de diseño clave.

Creo que a medida que pase el tiempo ARM / Atom se volverá más común a medida que la industria construya más y más nubes para aprovechar a los clientes que se mudan a la nube. La clave será administrar este nuevo paradigma (millones de servidores frente a miles), así como diseñar nuestras aplicaciones / plataformas para aprovecharlo.

Ventajas para la redundancia de hardware, concurrencia y capacidad de escalamiento de múltiples sistemas económicos.

Si se configura correctamente, presumiblemente para que no haya un único punto de falla (probablemente equilibrio de carga o alguna otra función de distribución o coordinación de trabajo, o base de datos), una gran cantidad de servidores podrían fallar sin que el sistema no esté disponible. Con un solo servidor tendrías un tiempo de inactividad instantáneo.

Con múltiples servidores pueden funcionar al mismo tiempo, mientras que los servidores virtuales tienen que poner en cola las solicitudes de procesador, RAM, Ethernet y buses. Puede obtener cierta concurrencia con múltiples núcleos y tarjetas de red, pero siempre habrá contención y eso significa esperar.

Además, si su arquitectura está diseñada en torno al concepto de múltiples sistemas (y evita construir en límites arbitrarios), probablemente pueda agregar fácilmente más sistemas para expandir su capacidad. La actualización de un único servidor para proporcionar más capacidad es una opción más disruptiva y probablemente limitada.

Una desventaja obvia para ARM y, por lo tanto, un profesional para x86 es que no sé si el software existe para no hacer todo lo que desea, mientras que x86 es una tecnología muy bien establecida con soporte de software endémico disponible, listo para usar. Otro problema es que es probable que la construcción de una solución multisistema sea más compleja y requiera más experiencia para realizar la visión.

Las principales desventajas son que las aplicaciones no están listas para las infraestructuras ARM / Atom. Fuera del uso bastante pequeño (pero sólido) en aplicaciones como la búsqueda de Google, Facebook y algunas otras (se escribieron esencialmente para HW de diseño similar) existe un mundo REAL de implementaciones de SAP, BI y enormes aplicaciones internas de LoB que no se escriben con paralelización en Tenga en cuenta que, por lo tanto, requiere una gran cantidad de CPU y memoria.

More Interesting

¿Se puede ejecutar Mac OS X Server en una computadora Dell?

Si quiero familiarizarme con los servidores, ¿debo usar Linux para practicar?

¿Qué es un servidor proxy y cómo lo uso para evitar mi WiFi de la universidad que ha bloqueado los sitios de torrents?

Cómo hacer que mi computadora sea un servidor

¿Por qué los servidores del gobierno son lentos e incapaces de manejar el tráfico pesado?

¿Por qué es nginx mejor que Apache para servir contenido estático?

Las reglas de presupuesto dicen que solo puedo comprar servidores locales y no servicio / almacenamiento en la nube, ¿qué servidor (es) debo solicitar? ¿Nuestras principales necesidades son el intercambio de archivos dentro de nuestro grupo de trabajo (~ 50 GB) y el almacenamiento de la base de datos (~ 100 GB, 1B de E / S por mes)?

¿Cuál es su flujo de trabajo cuando usa webhosts?

¿Una tarjeta controladora RAID con memoria integrada tiene una ventaja significativa sobre una que no la tiene?

¿En qué se diferencia FreedomBox de un servidor personal normal?

¿Qué servidor de correo es el mejor para enviar 100,000 correos electrónicos en una hora?

Si quisiera crear un inicio web, ¿qué idiomas de front-end, back-end, servidor, etc. tengo que saber?

¿Cómo configuro un servidor de almacenamiento local como controlador de versión para Unity Engine Collaboration? Quiero que el proyecto se guarde dentro del servidor de almacenamiento local para evitar que cualquier parte sea robada o reutilizada.

¿Qué especificación de servidor debo elegir para un equilibrador de carga basado en ngnix o HAProxy?

¿Cómo cargo el equilibrio en WordPress con 2 servidores web LAP y 1 base de datos Mysql?