Amazon FSx
Ofrece 4 tipos de sistemas de archivos totalmente gestionados (Lustre, Windows File Server, NetApp ONTAP y OpenZFS), proporcionando la opción óptima según la carga de trabajo
Descripción general
Amazon FSx es una familia de servicios que proporciona sistemas de archivos estándar de la industria de forma totalmente gestionada. Incluye 4 variantes: FSx for Lustre para computación de alto rendimiento (HPC) y machine learning, FSx for Windows File Server para aplicaciones basadas en Windows, FSx for NetApp ONTAP con funciones NAS empresariales, y FSx for OpenZFS como sistema de archivos POSIX compatible de propósito general. Todos delegan a AWS la gestión de backups, aplicación de parches y manejo de fallos de hardware, liberando de la operación de servidores de archivos on-premises. Mientras EFS (Elastic File System) proporciona un sistema de archivos NFS de propósito general, FSx se posiciona como opciones optimizadas para protocolos y cargas de trabajo específicas.
Las 4 variantes y diagrama de flujo de selección
Lo primero a verificar en la selección de FSx son los requisitos de protocolo. Si las aplicaciones Windows necesitan protocolo SMB o integración con Active Directory, la opción se reduce a FSx for Windows File Server. Las funciones nativas de Windows como listas de control de acceso NTFS (ACL), namespaces DFS y shadow copies funcionan tal cual, siendo ideal como destino de migración desde servidores de archivos Windows on-premises. Si se necesita alto throughput integrado con S3 para HPC o trabajos de entrenamiento de machine learning, se elige FSx for Lustre. Lustre puede vincular un bucket S3 como repositorio de datos, con carga diferida (Lazy Loading) que carga automáticamente datos desde S3 al acceder a los archivos. Es muy efectivo para cargar rápidamente grandes datasets en trabajos de entrenamiento de SageMaker. Si se necesita multi-protocolo (NFS, SMB, iSCSI) o funciones NAS empresariales como snapshots, clones y tiering, FSx for NetApp ONTAP es apropiado. Si no hay requisitos de protocolo específicos y se necesita un sistema de archivos POSIX compatible de propósito general, FSx for OpenZFS es la opción ligera.
Diferenciación con EFS - generalidad vs especialización
EFS y FSx se comparan frecuentemente como sistemas de archivos gestionados de AWS. EFS es un sistema de archivos de propósito general con protocolo NFS v4, con capacidad que escala automáticamente y fácil montaje desde Lambda o ECS. FSx está optimizado para cargas de trabajo específicas, con características de rendimiento significativamente diferentes. FSx for Lustre puede lograr throughput de cientos de GB/s, cubriendo rangos de rendimiento inalcanzables con el modo de propósito general de EFS. En costos, EFS se optimiza automáticamente con tiering según frecuencia de acceso (Standard / Infrequent Access), mientras FSx especifica capacidad de almacenamiento y throughput fijos al aprovisionar. Cuando el patrón de I/O de la carga de trabajo es predecible, FSx es más eficiente en costos; cuando los patrones de acceso son irregulares, la facturación por uso de EFS es ventajosa. Los servicios equivalentes en Azure son Azure Files (SMB) y Azure NetApp Files (NFS/SMB), pero no existe un servicio gestionado de sistema de archivos HPC equivalente a Lustre en Azure, siendo FSx for Lustre una fortaleza exclusiva de AWS. En libros sobre diseño de almacenamiento (Amazon) se explica en detalle la selección de sistemas de archivos según características de carga de trabajo.
Integración de Lustre con S3 - aceleración de pipelines de datos
La mayor característica de FSx for Lustre es su integración transparente con S3. Al vincular un bucket S3 como repositorio de datos, los metadatos de los objetos S3 se mapean automáticamente en el sistema de archivos Lustre. Los datos reales se cargan desde S3 al almacenamiento de Lustre en el primer acceso al archivo mediante carga diferida, sin necesidad de copiar todos los datos previamente. Para escribir resultados de vuelta a S3 se usa el comando hsm_archive o la función de exportación automática. Hay 2 tipos de despliegue: Scratch y Persistent. Scratch es almacenamiento rápido temporal sin redundancia de datos, con menor costo pero con riesgo de pérdida de datos ante fallos de hardware. Es adecuado para cargas de trabajo donde los datos originales están en S3 y son re-ejecutables, como procesamiento por lotes o trabajos de entrenamiento. Persistent tiene datos redundados dentro de la AZ, adecuado para cargas de trabajo de larga duración o retención de datos intermedios con alto costo de recálculo. El throughput se selecciona en el rango de 50-1,000 MB/s/TiB, aumentando el costo al aumentar el throughput por capacidad de almacenamiento. En la práctica, es razonable comenzar con una configuración de throughput baja y aumentarla según sea necesario monitorizando la métrica FileServerDiskThroughputBalance de CloudWatch.