Arquitecturas de almacenamiento y cargas de trabajo (workloads) (es)

Questo post è anche disponibile in italiano

Elegir una particular arquitectura de almacenamiento es importante para permitir a una carga de trabajo (workload) de ser lo más eficiente posible.

Si bien los diversos sistemas de almacenamiento (storage) All Flash comparten algunas características en común, estos difieren en sus capacidades de manejar wokload diferentes.

En este post analizaremos como en base al workload es posible definir la arquitectura storage más adecuada.

El workload genera I/O

Técnicamente hablamos de cargas de trabajo o workloads para referirnos al conjunto de actividades realizadas por las aplicaciones que tienen como resultado final lo que genéricamente llamamos I/O. Un workload no es “platform aware”, en teoría este puede ser ejecutado en un ambiente físico, virtual o cloud.

Un workload genera I/O: i = input, o = output, input = writes (entrar informaciones en el sistema), output = reads (resultado del input, la información que recibo y leo como resultado del input). Un workload produce un I/O constante = cada usuario x el número de usuarios = “aggregate I/O”. Cuando un sistema recibe un input esta información debe ser memorizada, imaginemos en un DB. Como última instancia, todo el I/O reside en un sistema de almacenamiento que junto a las aplicaciones son responsables del proceso de business.

Workload: Características y clasificación

Un workload puede ser caracterizado según el modo de acceso a los datos. Desde este punto de vista existen workloads con tipos de acceso secuencial o random, con diferentes proporciones de lectura / escritura y diferentes “block sizes”. En los dos casos, los porcentajes de I/O secuencial / random varían dentro una misma carga de trabajo. El punto importante de tener presente es que la caracterización del workload dependiendo el tipo de acceso es, hoy día, mucho menos atendible. El motivo de esta última afirmación es simple: por efecto de la consolidación (storage con cada vez más capacidad) y/o virtualización un sistema de almacenamiento recibe una mezcla de I/O, lo que viene llamado un “I/O blend”, que es por defecto de tipo “random”. Como sabemos, la tecnología flash es perfecta para este tipo de acceso y por lo tanto, en ambientes altamente consolidados, “random” / “sequential” pierden su valor descriptivo.

storage architectures workloads
storage architectures workloads

En base a estas consideraciones, resulta entonces más conveniente clasificar las aplicaciones en un data center y por ende las cargas de trabajo que estas producen en diferentes tipos siguiendo requisitos de availability, rendimiento y capacidad.

Availability: cuánto fiable la aplicación necesita ser. Cuáles son los impactos en el business si la aplicación no está disponible?  Por cuánto tiempo el business puede tolerar que la aplicación no esté disponible? Cuál es el tiempo máximo necesario para recuperar los datos después de una falla del sistema? La aplicación necesita de una copia continua con tolerancia cero de pérdida de datos? Estos razonamientos dan una idea de la inversión necesaria en esta área.

Rendimiento: cuánto velozmente el sistema responde al usuario?  El tiempo de repuesta es apropiado? Una aplicación automatiza un proceso de negocios. Así que si la aplicación es lenta lo es también el business. Cuántas veces se cambia a otro sitio porque una página web es lenta? El tiempo de respuesta es un elemento crítico.

Capacidad: cuánta información se genera y que intervalo de tiempo? Al crecer el sistema en capacidad; rendimiento y fiabilidad se mantienen constantes?

Estos 3 requisitos (availability, rendimiento, capacidad) varían ampliamente según las cargas de trabajo lo que hace difícil que una única arquitectura de almacenamiento de datos pueda soportar en modo apropiado todos los tipos de workload. Una afirmación contraria puede ser una afirmación un poco apurada sobre todo cuando se consideran arquitecturas de tipo All Flash. Veamos el porqué.

El uso de tecnología flash en un data center se está convirtiendo en un estándar, y como se sabe, EMC ha denominado el año 2016 como “The year of All Flash”. Desde el punto de vista de EMC esto significa que el entero portfolio storage ha sido rediseñado con nuevas arquitecturas en grado de utilizar de la mejor manera posible la tecnología flash y que, de ahora en adelante, los desarrollos más importantes en sistemas de almacenamiento Dell EMC los hará es su familia All Flash.

Arquitecturas flash dual-controller, scale-up

Pensemos a un storage en su forma más básica; 2 controllers y una serie de discos. Para esta tipología de storage tenemos 2 tipos posible de arquitecturas; 1 controller activo + 1 pasivo o 2 controllers activo /activo.

Dual controller (active/passive): El tipo de arquitectura 1 controler activo + 1 controler pasivo puede funcionar bien con una tecnología de discos “tradicional” donde la cantidad de I/O es del orden de 180 I/O por disco. En un almacenamiento All Flash en vez, donde el número de I/O producido por cada disco flash es mucho mayor, una arquitectura basada en dos controllers donde solo uno es activo, pone rápidamente un límite al rendimiento de este tipo de arquitecturas. Recordemos que además de generar I/O hacia los host, los controllers tienen que realizar al mismo tiempo todo un serie de tareas como la creación de copias locales o remotas, el thin provisioning, virtualización, ejecutar mecanismos de reducción de datos (deduplica / compression) y en el caso particular de los discos flash, un proceso muy oneroso, la garbage collection. Estas actividades empeñan notablemente las CPUs de los controllers y determinan que si sólo uno de ellos es activo, este se convierta en un cuello de botella.

storage architectures dual controller active passive
storage architectures dual controller active passive

A un primer análisis podría parecer que este tipo de soluciones; dual-controller (active/passive) son más económicas, en realidad esto no es completamente correcto. El número de I/O que un array es capaz de sostener es un factor que depende del número y tipo de CPU presentes en los controllers. Con 2 controllers donde sólo uno es activo, es necesario aumentar en este el número de CPU para no perder demasiado rendimiento. Lógicamente, el controller de stand-by (el controller pasivo) tiene que ser del mismo tipo. Como resultado final, se paga por algo que el 99,999 del tiempo no se utiliza.

Debido a las limitaciones apenas mencionadas, el tipo de arquitectura active/passive NO se encuentra en ninguna de las plataformas storage Flash de Dell EMC.

Dual controller (active/active): Representa una evolución del modelo precedente donde los dos controllers actúan al mismo tiempo eliminando en gran parte los problemas mencionados antes.

En las arquitecturas dual-controller y scale-up (crecimiento vertical) el rendimiento aumenta con el aumento de la capacidad siguiendo una curva hasta alcanzar su saturación cuando la cantidad de I/O generada por el back-end (discos), sumada a las tareas realizadas por los controladores, supera la potencia computacional de los mismos. Estos sistemas han sido diseñados como “general purpose”, multiprotocolo, facilidad de uso, suporte simultáneo SAN / NAS y donde las necesidades de consolidación y protección de los datos (copias locales / remotas) no son excesivamente rigurosas.

storage architectures dual controller active active
storage architectures dual controller active active

Ejemplos de este tipo de arquitecturas en el porfolio All Flash de Dell EMC son Unity y SC Series

Dell EMC Unity All-Flash Storage

Dell SC Series Storage

Para los casos de uso donde son necesarios mayores requerimientos de escalabilidad, consolidación masiva, rendimiento y  servicios de datos evolucionados es oportuno evaluar una solución de tipo scale-out o de tipo scale-out + scale-up.

Arquitecturas multi-controller, scale-out & scale-up

Presentes en muchos ambientes de tipo “enterprise”, estas soluciones se caracterizan por un desarrollo a nodos, cada nodo contiene 2 controllers de tipo activo/activo y un grupo de discos. La escalabilidad se consigue agregando grupos de nodos y capacidad de almacenamiento. Los nodos y grupos de nodos se conectan a un “back-plane” a alta velocidad como por ejemplo Infiniband compartiendo los recursos del entero sistema.  Con este tipo de configuración es posible crear una infraestructura capaz de escalar a cientos de TB de capacidad y millones de I/O. Además de esto, la potencia computacional de estas arquitecturas permite de obtener rendimiento y tiempo de respuesta predecibles, máxima fiabilidad, bajísima latencia, soportar copias de datos múltiples sin impacto en el rendimiento manteniendo en todo momento los servicios de datos (compression / deduplication) “on-line”.

storage architectures multi-controller
storage architectures multi-controller

Ejemplos de este tipo de arquitecturas en el porfolio All Flash de Dell EMC son VMAX AF y XtremIO

Dell EMC VMAX AF

Dell EMC XtremIO

FlashSessments

Individuar la arquitectura y dimensionar el sistema que mejor se adapta a los requisitos de availability, rendimiento y capacidad partiendo de las cargas de trabajo presentes en el centro de datos asegura que la nueva solución respetará y eventualmente mejorará los resultados del business.

Un problema habitual en el mundo IT es propio este análisis propedéutico requerido cada vez que iniciamos un proceso de “tech refresh”.

storage architectures workload characterization
storage architectures workload characterization

Tomemos un momento para reconocer el hecho de que son los requisitos de las aplicaciones a determinar qué plataforma es la mejor plataforma storage para usar. Muchas veces, caracterizar las cargas de trabajo en modo preciso, sobre todo en ambientes con numerosas aplicaciones, no es una tarea fácil.

Partiendo de este presupuesto, Dell EMC ha diseñado un proceso llamado FlashSessment gracias al cual en modo simple nos permite de identificar la arquitectura Flash que mejor se adapta a la carga o conjunto de cargas de trabajo y ”los impactos” que la nueva solución tendrá en relación al sistema actual.

 

storage architectures FlashSessments
storage architectures FlashSessments

He escrito en pasado un post a propósito que es posible encontrar al siguiente link:

Dell EMC FlashSessments

Resumiendo

Mientras que el flash nos ayuda a transformar el centro de datos en un centro de datos moderno, es aún crítico comprender las cargas de trabajo y los modelos de implementación de las aplicaciones para determinar la justa arquitectura de almacenamiento.

La comprensión del wokload significa definir en modo preciso sus requerimientos de rendimiento, fiabilidad y capacidad como así también conocer los eventuales “impactos” operacionales y de business asociados al “tech refresh”.

En este proceso de evaluación, el FlashSessment de Dell EMC proporciona toda la información necesaria ilustrando en modo claro las ventajas competitivas de una solución All Flash.

storage architectures and workloads big picture
storage architectures and workloads big picture

 


Para mayor información:

Dell EMC Storage

#IWork4Dell