Qumulo es una moderna plataforma scale-out de almacenamiento NAS basada en software que revoluciona el almacenamiento de ficheros, trayendo a nuestro datacenter una solución mucho más inteligente, potente y sencilla que las soluciones tradicionales de NAS.
Qumulo, como otras soluciones scale-out, es realmente un producto de software, y confía en una alianza estratégica con HPE donde éste último proporciona el hardware para su plataforma. HPE cuenta con un producto que está específicamente diseñado para estas soluciones: los servidores de alta densidad de almacenamiento HPE Apollo.
En qué consiste
Como solución scale-out que es, Qumulo distribuye su almacenamiento entre diferentes servidores, sobre los que instala un software que será el encargado de gestionar los datos, montar un file system distribuido, ofrecer acceso al mismo mediante diferentes protocolos (SMB, NFS, REST API, etc) y realizar otras funciones como protección o replicación.
La arquitectura es la siguiente:
Sobre los servidores actúa el Scalable Block Store (SBS) que es el encargado de gestionar los datos y moverlos a los discos a nivel de bloque, de forma que el almacenamiento es transparente al file system que hay por encima. Más adelante veremos por qué este elemento es fundamental en la arquitectura y por qué resulta diferencial respecto a otras soluciones NAS.
Sobre esta capa de gestión del dato se monta el file system distribuido de Qumulo, que es otro punto diferencial. Este file system está optimizado para poder escalar hasta gestionar miles de nodos y PBs de almacenamiento, creando un namespace común y sirviendo esos ficheros mediante diferentes protocolos. Al mismo tiempo, la capa de gestión del dato, SBS, se encarga de proteger y optimizar cada bloque para que el rendimiento sea óptimo incluso entre miles de servidores.
La base de datos de Qumulo, QumuloDB, es la encargada de realizar todas las analíticas en tiempo real; que son otra parte diferencial de esta solución y que veremos en detalle en la siguiente sección.
Por qué Qumulo
Existen multitud de soluciones NAS disponibles en el mercado. La pregunta que nos hacemos es:
¿Por qué deberíamos elegir Qumulo? ¿En qué se diferencia de los demás?
Lo primero que percibimos al trabajar con Qumulo es que es una solución moderna; algo que se nota en la experiencia de uso, desde la propia interfaz de gestión hasta las herramientas de análisis en tiempo real que van incluídas en la plataforma, pero también en rendimiento e integraciones.
Después de probar la solución y ver cómo funciona, aquí os resumo los puntos que creo que son más destacables si la comparamos con otras soluciones del mercado:
Rendimiento
Las soluciones scale-out no suelen tener rendimiendos exepcionales cuando cuentan con pocos nodos, pero su ventaja reside en que, a medida que crecen en número de nodos y capacidad, su rendimiento se incrementa también. Sin embargo, un punto fuerte de Qumulo es el gran rendimiento que puede ofrecer incluso con la solución más básica (que, a día de hoy, consiste en 4 nodos). El secreto reside en su Scalable Block Store (SBS) que es el sistema de gestión de datos sobre el que se fundamenta su file system. Como el nombre indica, su clave es que trabaja gestionando y protegiendo los datos a nivel de bloque en lugar de hacerlo fichero a fichero.
Algunas ventajas de este sistema son:
- Tiempos de reconstrucción muy rápidos.
- El rendimiento de los file systems con ficheros pequeños no se ve penalizado. Otras soluciones NAS pueden ver penalizado enormemente su rendimiento y su capacidad efectiva en función del tamaño de los ficheros.
- Cacheado en SSD/NVMe. Todos los nodos de Qumulo cuentan con una caché de SSD o NVMe con una tasa de acierto mucho más alta de lo que solemos encontrar en otros productos. Si quieres ir más allá, incluso puedes adquirir nodos All-NVMe con conectividad a 100GbE para aplicaciones extremadamente demandantes.
- Snapshots eficientes e instantáneos a nivel de bloque, que pueden utilizarse también para replicar a otras localizaciones, a intervalos (por ejemplo replicando un snapshot cada X minutos de forma programada) o de forma contínua, es decir, sincronizando el cluster de destino con tanta frecuencia como sea posible sin afectar excesivamente al rendimiento.
Y se encuentran lanzando nuevas características y mejoras constantemente. En la siguiente gráfica se puede ver como a lo largo de 2018 la latencia media de los clientes de Qumulo se redujo significamente, a medida que iban actualizando sus plataformas a la versión que lanzaron a mediados de ese mismo año:
El motivo de esta reducción en las latencias es que esa versión introdujo una serie de algoritmos de predicción que permiten prever con una muy buena tasa de aciertos qué ficheros van a ser leídos a continuación por la aplicación y adelantarlos a la caché, ya sea flash o RAM. Así que los clientes que actualizaron sus sistemas vieron una mejora considerable de rendimiento sin comprar ningún hardware ni hacer ninguna inversión extra.
Una estrategia sencilla y efectiva de Cloud
Desplegar una nuble híbrida con Qumulo es extremadamente sencillo: simplemente entra en el marketplace de tu proveedor de nube pública favorito (actualmente se puede elegir entre Google Cloud y Amazon Web Services) y adquiere un paquete de máquinas virtuales con licencia de Qumulo, que ya tienen todo lo necesario para montar un cluster productivo, están 100% verificadas y certificadas por Qumulo y pueden levantarse en cuestión de minutos.
Realmente no existe ninguna diferencia entre la plataforma que despliegas en la nube y la que puedas tener on-premise en tu datacenter, así que pasar de utilizar una plataforma a la otra es tan sencillo como cambiar el path en el que trabajan tus carpetas de usuarios o tus aplicaciones. Ambas soluciones se van a gestionar exactamente igual, así que no es necesario ningún curso ni entrenamiento especial para los administradores de IT ni para los usuarios.
Típicamente, la estrategia más efectiva en cuanto a coste y utilidad será utilizar el cluster local para aquellas aplicaciones que sean más masivas y muevan muchos datos; también para aquellos datos que queramos tener “asegurados” o bien localizados físicamente, ya sea porque sean datos sensibles de usuarios -aquellos que estén sujetos a la famosa GDPR- o porque la política de seguridad de nuestra compañía así lo requiera. La nube será ideal para aquellas aplicaciones de carácter más volátil, que tengan demandas y picos puntuales, donde la flexibilidad y el pago por uso de la nube nos permitirá satisfacer esta demanda al menor coste posible.
También puede ser una opción interesante para tener un backup o DR de aquellos datos que consideremos oportunos, con la ventaja de que estos datos van a a estar inmediatamente disponibles en la nube. Imaginemos que tenemos un problema de disponibilidad en nuestro Datacenter. Si replicamos los datos a la nube, podemos dar acceso a los usuarios o aplicaciones a sus ficheros simplemente redirigiéndolos al path del cluster que está en la nube, por lo que el RPO puede reducirse fácilmente de horas a tan solo unos minutos. De hecho, Qumulo cuenta con una solución específica para este propósito que nos va a permitir configurar y planificar la réplica a la nube y automatizar este proceso de failover.
Más info sobre esta solución en https://qumulo.com/solution/cloudcontinuity/
Imagen que muestra una posible combinación de clusters, en diferentes Datacenters y con diferentes tipos de replicación, incluyendo un DR en la nube.
Analíticas
Representación gráfica de qué directorios (en este caso, organizados en ficheros pequeños, grandes y otros datos) están demandando mayor rendimiento. Con esta vista podemos ver de forma muy sencilla dónde están recayendo las IOPS de nuestra NAS.
Qumulo cuenta con una serie de herramientas de análisis embedidas en su interfaz gráfica, que están incluidas con el software estándar de Qumulo y se instalan como parte de la instalación normal.
Por tanto, cualquier cliente de Qumulo tiene acceso a estas herramientas, que pueden llegar a ser muy útiles y personalmente son una de las características que más me han gustado.
Vamos a ver algunos ejemplos de lo que podemos hacer con estas analíticas:
En esta pantalla podemos ver cuántas IOPS y MB/s está pidiendo cada cliente en tiempo real. En esta imagen sólo tenemos 3 clientes conectados en este instante, pero podemos fácilmente imaginar cómo de útil resulta esto para entornos en los que tengamos decenas de ellos. En caso de que exista un cliente que está saturando el sistema por realizar demasiadas lecturas o escrituras, un administrador puede localizar exactamente qué cliente es en cuestión de segundos.
Podemos llegar incluso a ver qué ficheros específicamente están leyendo o escribiendo esos clientes de forma individual.
Aquí podemos ver un histórico de la capacidad de nuestro cluster. Si hacemos click en cualquier día, nos muestra un detalle de qué directorios son los que han supuesto el crecimiento de datos de esa fecha:
Podemos ver fácilmente que el 27 de diciembre la carpeta BigFiles creció en algo más de 10GB y la de Datos unos 6GB. También añadimos un fichero en concreto (de hecho es la imagen para hacer una actualización del software de Qumulo que hicimos al dia siguiente) que ocupaba 1.3GB.
Como podéis ver, gracias a estas herramientas el administrador puede tener absoluto control de lo que ocurre en su NAS, qué directorios crecen y cuándo, qué clientes o qué ficheros demandan rendimiento, etc.
Y con esto terminamos el repaso a las tecnologías de Qumulo. Si queréis saber más, como siempre, podéis contactar con nosotros.