Nuevas métricas de almacenamiento de objetos

Nuevas métricas de almacenamiento de objetosFortaleza Voladora de Nele-Diel

Comando de almacenamiento de objetos S3 Almacenamiento en la nube Mail.ru traduje un artículo sobre qué criterios son importantes a la hora de elegir un almacenamiento de objetos. El siguiente es el texto desde la perspectiva del autor.

Cuando se trata de almacenamiento de objetos, la gente normalmente sólo piensa en una cosa: el precio por TB/GB. Por supuesto, esta métrica es importante, pero hace que el enfoque sea unilateral y equipara el almacenamiento de objetos con una herramienta de almacenamiento de archivos. Además, este enfoque reduce la importancia del almacenamiento de objetos para la pila de tecnología empresarial.

Al elegir el almacenamiento de objetos, debes prestar atención a cinco características:

  • rendimiento
  • escalabilidad;
  • compatible con S3;
  • respuesta a fallas;
  • integridad.

Estas cinco características son nuevas métricas para el almacenamiento de objetos, junto con el costo. Mirémoslos todos.

Rendimiento

Las tiendas de objetos tradicionales carecen de rendimiento. Los proveedores de servicios lo sacrificaban constantemente en pos de precios bajos. Sin embargo, con el almacenamiento de objetos moderno las cosas son diferentes.

Varios sistemas de almacenamiento se acercan o incluso superan la velocidad de Hadoop. Requisitos modernos para velocidades de lectura y escritura: desde 10 GB/s para discos duros hasta 35 GB/s para NVMe. 

Este rendimiento es suficiente para Spark, Presto, Tensorflow, Teradata, Vertica, Splunk y otros marcos informáticos modernos en la pila de análisis. El hecho de que las bases de datos MPP se estén configurando para el almacenamiento de objetos sugiere que se utiliza cada vez más como almacenamiento principal.

Si su sistema de almacenamiento no proporciona la velocidad que necesita, no podrá utilizar los datos ni extraer valor de ellos. Incluso si recupera datos del almacenamiento de objetos en una estructura de procesamiento en memoria, seguirá necesitando ancho de banda para transferir los datos hacia y desde la memoria. Los almacenes de objetos heredados no tienen suficiente.

Este es el punto clave: la nueva métrica de rendimiento es el rendimiento, no la latencia. Es necesario para datos a escala y es la norma en la infraestructura de datos moderna.

Si bien los puntos de referencia son una buena forma de determinar el rendimiento, no se pueden medir con precisión antes de ejecutar la aplicación en el entorno. Sólo después se podrá decir dónde está exactamente el cuello de botella: en el software, en los discos, en la red o en el nivel informático.

Escalabilidad

La escalabilidad se refiere a la cantidad de petabytes que caben en un espacio de nombres. Lo que los proveedores afirman es una fácil escalabilidad, lo que no dicen es que a medida que escalan, los sistemas monolíticos masivos se vuelven frágiles, complejos, inestables y costosos.

La nueva métrica de escalabilidad es la cantidad de espacios de nombres o clientes que puede atender. La métrica se toma directamente de los hiperescaladores, donde los componentes básicos del almacenamiento son pequeños pero escalan a miles de millones de unidades. En general, esta es una métrica de la nube.

Cuando los componentes básicos son pequeños, es más fácil optimizarlos en materia de seguridad, control de acceso, gestión de políticas, gestión del ciclo de vida y actualizaciones no disruptivas. Y, en última instancia, garantizar la productividad. El tamaño del bloque de construcción es función de la controlabilidad de la región de falla, que es cómo se construyen los sistemas altamente resilientes.

El arrendamiento múltiple tiene muchas características. Si bien la dimensión habla de cómo las organizaciones brindan acceso a datos y aplicaciones, también se refiere a las aplicaciones mismas y la lógica detrás de aislarlas entre sí.

Características de un enfoque moderno para multicliente:

  • En poco tiempo, el número de clientes puede pasar de varios cientos a varios millones.
  • Los clientes están completamente aislados unos de otros. Esto les permite ejecutar diferentes versiones del mismo software y almacenar objetos con diferentes configuraciones, permisos, características, seguridad y niveles de mantenimiento. Esto es necesario al escalar a nuevos servidores, actualizaciones y geografías.
  • El almacenamiento es elásticamente escalable y los recursos se proporcionan según demanda.
  • Cada operación está controlada por una API y está automatizada sin intervención humana.
  • El software puede alojarse en contenedores y utilizar sistemas de orquestación estándar como Kubernetes.

Compatible con S3

La API de Amazon S3 es el estándar de facto para el almacenamiento de objetos. Todos los proveedores de software de almacenamiento de objetos afirman ser compatibles con él. La compatibilidad con S3 es binaria: o está completamente implementada o no.

En la práctica, existen cientos o miles de escenarios extremos en los que algo sale mal al utilizar el almacenamiento de objetos. Especialmente de proveedores de software y servicios propietarios. Sus principales casos de uso son el archivado directo o la copia de seguridad, por lo que hay pocas razones para llamar a la API, los casos de uso son homogéneos.

El software de código abierto tiene importantes ventajas. Cubre la mayoría de los escenarios extremos, dado el tamaño y la variedad de aplicaciones, sistemas operativos y arquitecturas de hardware.

Todo esto es importante para los desarrolladores de aplicaciones, por lo que vale la pena probar la aplicación con proveedores de almacenamiento. El código abierto facilita el proceso: es más fácil comprender qué plataforma es la adecuada para su aplicación. El proveedor se puede utilizar como un único punto de entrada al almacenamiento, lo que significa que satisfará sus necesidades. 

Código abierto significa: las aplicaciones no están vinculadas a un proveedor y son más transparentes. Esto garantiza un largo ciclo de vida de la aplicación.

Y algunas notas más sobre el código abierto y S3. 

Si está ejecutando una aplicación de big data, S3 SELECT mejora el rendimiento y la eficiencia en un orden de magnitud. Para ello, utiliza SQL para recuperar sólo los objetos que necesita del almacenamiento.

El punto clave es la compatibilidad con notificaciones de depósitos. Las notificaciones de depósitos facilitan la computación sin servidor, un componente importante de cualquier arquitectura de microservicio que se entregue como servicio. Dado que el almacenamiento de objetos es efectivamente almacenamiento en la nube, esta capacidad se vuelve crítica cuando el almacenamiento de objetos es utilizado por aplicaciones basadas en la nube.

Finalmente, la implementación de S3 debe admitir las API de cifrado del lado del servidor de Amazon S3: SSE-C, SSE-S3, SSE-KMS. Aún mejor, S3 admite una protección contra manipulaciones que es verdaderamente segura. 

Respuesta a fallas

Una métrica que probablemente a menudo se pasa por alto es cómo el sistema maneja las fallas. Las fallas ocurren por diversas razones y el almacenamiento de objetos debe manejarlas todas.

Por ejemplo, hay un único punto de falla, la métrica de este es cero.

Desafortunadamente, muchos sistemas de almacenamiento de objetos utilizan nodos especiales que deben habilitarse para que el clúster funcione correctamente. Estos incluyen nodos de nombres o servidores de metadatos; esto crea un único punto de falla.

Incluso cuando existen múltiples puntos de falla, la capacidad de resistir fallas catastróficas es primordial. Los discos fallan, los servidores fallan. La clave es crear software diseñado para manejar las fallas como una condición normal. Si un disco o nodo falla, dicho software seguirá funcionando sin cambios.

La protección integrada contra el borrado y la degradación de datos garantiza que pueda perder tantos discos o nodos como bloques de paridad tenga (normalmente la mitad de los discos). Sólo entonces el software no podrá devolver datos.

La falla rara vez se prueba bajo carga, pero dicha prueba es obligatoria. La simulación de una falla de carga mostrará los costos totales incurridos después de la falla.

Consistencia

Una puntuación de coherencia del 100% también se denomina coherencia estricta. La coherencia es un componente clave de cualquier sistema de almacenamiento, pero una coherencia sólida es rara. Por ejemplo, Amazon S3 ListObject no es estrictamente consistente, solo es consistente al final.

¿Qué se entiende por coherencia estricta? Para todas las operaciones posteriores a una operación PUT confirmada, debe ocurrir lo siguiente:

  • El valor actualizado es visible al leer desde cualquier nodo.
  • La actualización está protegida contra la redundancia de fallas del nodo.

Esto significa que si desconecta el dispositivo en medio de una grabación, no se perderá nada. El sistema nunca devuelve datos corruptos u obsoletos. Se trata de un listón alto que importa en muchos escenarios, desde aplicaciones transaccionales hasta copias de seguridad y recuperación.

Conclusión

Estas son nuevas métricas de almacenamiento de objetos que reflejan patrones de uso en las organizaciones actuales, donde el rendimiento, la coherencia, la escalabilidad, los dominios de fallas y la compatibilidad con S3 son los pilares de las aplicaciones en la nube y el análisis de big data. Recomiendo utilizar esta lista además del precio al crear pilas de datos modernas. 

Acerca del almacenamiento de objetos de Mail.ru Cloud Solutions: Arquitectura S3. 3 años de evolución de Mail.ru Cloud Storage.

Qué más leer:

  1. Un ejemplo de una aplicación basada en eventos basada en webhooks en el almacenamiento de objetos S3 Mail.ru Cloud Solutions.
  2. Más que Ceph: almacenamiento en bloques en la nube MCS 
  3. Trabajar con el almacenamiento de objetos Mail.ru Cloud Solutions S3 como sistema de archivos.
  4. Nuestro canal de Telegram con novedades sobre actualizaciones del almacenamiento S3 y otros productos

Fuente: habr.com

Añadir un comentario