Introducción
En pipelines bioinformáticos, los cuellos de botella suelen aparecer donde menos se los espera: en el almacenamiento temporal. Hasta ahora, los flujos de trabajo privados en AWS HealthOmics compartían el mismo volumen de almacenamiento de ejecución con los datos de scratch generados por herramientas como samtools, GATK o BWA. Esto provocaba contención de I/O entre procesos concurrentes, tiempos de ejecución variables y costos adicionales por solicitar almacenamiento provisionado más rápido (io2, gp3). La nueva funcionalidad de almacenamiento efímero dedicado cambia este escenario al asignar un volumen local independiente para cada tarea de workflow, aislado del almacenamiento compartido y con cifrado automático.
El problema no es menor: en un caso real documentado por el equipo de AWS (marzo 2026), un pipeline de llamada de variantes (GATK Best Practices) que procesaba 300 muestras simultáneamente redujo su tiempo de ejecución un 22% solo con habilitar el almacenamiento efímero, pasando de 4h12m a 3h15m por lote. Este cambio es crítico para equipos que escalan workflows en entornos regulados (HIPAA/GDPR), donde la consistencia en el rendimiento es tan importante como la trazabilidad.
Qué ocurrió
AWS HealthOmics lanzó en junio 2026 el soporte para almacenamiento efímero en tareas privadas, integrando volúmenes locales temporales montados en /tmp para cada ejecución de workflow. La mejora se aplica a:
- Workflows privados definidos en WDL, Nextflow o CWL.
- Tareas con alta generación de scratch data, como:
– Ordenamiento y indexado de archivos BAM/SAM (samtools sort, GATK SortSam).
– Llamada de variantes con GATK HaplotypeCaller (etapas intermedias con archivos temporales de hasta 1 TB).
– Ensamblaje de novo con SPAdes o Hifiasm (uso intensivo de disco en /tmp).
Cada volumen efímero:
- Se monta automáticamente en
/tmpal inicio de la tarea. - Se cifra con AWS KMS (AES-256) y usa claves gestionadas por el servicio.
- Se elimina al finalizar la tarea (incluso en fallos).
- No genera costos adicionales por defecto: incluye 16 GiB sin cargo.
- Es escalable: hasta 3,072 GiB por tarea (limitado por la cuota de recursos de HealthOmics).
Para habilitarlo, los administradores deben:
- Actualizar la definición del workflow en el lenguaje correspondiente (WDL, Nextflow, CWL).
- Especificar el tamaño de almacenamiento en el campo
ephemeralStorage(ejemplo en Nextflow):
process ALIGN_BWA {
input:
path(reads)
output:
path("aligned.sam")
script:
"""
bwa mem -t ${task.cpus} reference.fasta ${reads} > aligned.sam
"""
ephemeralStorage: '32 GiB' // 16 GiB por defecto, este ejemplo usa 32 GiB
}
- Lanzar el workflow con la API
StartRun, donde se agrega el parámetroephemeralStorageSize:
aws healthomics start-run \
--name "variant-calling-pipeline" \
--definition "arn:aws:healthomics:us-east-1:123456789012:workflow/def/variant-calling" \
--ephemeral-storage-size "32 GiB"
Impacto para DevOps / Infraestructura / Cloud / Seguridad
DevOps
Los equipos que despliegan pipelines bioinformáticos en entornos serverless (AWS Fargate) o Kubernetes (EKS) verán:
- Reducción de latencia en I/O: Los volúmenes efímeros usan NVMe local, con tasas de hasta 15,000 IOPS (vs. ~3,000 IOPS en gp3 optimizado). En un benchmark interno de AWS (abril 2026), una tarea de GATK BaseRecalibrator con almacenamiento efímero completó la recalibración un 35% más rápido que con almacenamiento compartido.
- Consistencia en el rendimiento: Eliminación de la variabilidad por contención en disco compartido. En un caso de estudio con 500 muestras procesadas en paralelo, el tiempo promedio por muestra pasó de 5h ± 42 minutos (desvío estándar) a 4h30m ± 6 minutos.
- Simplificación de la infraestructura: Ya no es necesario pre-provisionar volúmenes io2 costosos para tareas con alta demanda de scratch. Según el AWS Well-Architected Framework (junio 2026), esto puede reducir costos operativos en un 18-25% para pipelines con >100 tareas diarias.
Infraestructura
Para equipos que gestionan clústeres de Amazon EKS o AWS Batch integrados con HealthOmics:
- Compatibilidad con entornos híbridos: El almacenamiento efímero se monta en el mismo nodo donde se ejecuta la tarea, lo que permite combinarlo con almacenamiento persistente (EFS, FSx for Lustre) para datos finales.
- Integración con AWS Batch: Al usar HealthOmics como backend, los volúmenes efímeros se asignan automáticamente al contenedor de la tarea, sin necesidad de configurar emptyDir en Kubernetes o tmpfs.
- Cuotas a considerar:
– Máximo por tarea: 3,072 GiB (equivalente a 3 TiB).
– Regiones disponibles: US East (N. Virginia), US West (Oregon), Europa (Frankfurt, Irlanda, Londres), Israel (Tel Aviv), APAC (Singapur, Seúl).
Cloud
Desde la perspectiva de costos:
- Sin costo adicional: Los primeros 16 GiB por tarea están incluidos en el precio de HealthOmics.
- Costo incremental: USD 0.05 por GiB/mes para almacenamiento efímero adicional (ejemplo: 32 GiB = USD 0.08 por hora de ejecución).
- Comparación con alternativas:
– gp3: USD 0.08/GB-mes + USD 0.01 por IOPS (requiere configuración manual).
– io2 Block Express: USD 0.125/GB-mes + USD 0.065 por IOPS (hasta 256,000 IOPS).
Para pipelines con >500 GB de scratch por tarea, el almacenamiento efímero puede ser hasta un 60% más económico que gp3 con configuración optimizada.
Seguridad
El almacenamiento efímero implementa:
- Cifrado en reposo: AWS KMS con claves gestionadas por HealthOmics (AES-256).
- Eliminación segura: Los volúmenes se destruyen al finalizar la tarea, incluso en fallos (validado con NIST SP 800-88).
- Aislamiento: Cada volumen es exclusivo de la tarea, evitando fugas de datos entre ejecuciones concurrentes.
- Cumplimiento: Certificado HIPAA (el servicio ya era elegible antes de esta mejora). Para entornos con GDPR, se recomienda usar claves KMS propias (Customer Managed Keys) para cumplir con políticas de soberanía de datos.
- Los datos críticos se copien a almacenamiento persistente (S3, EFS) antes de finalizar la tarea.
- Los scripts de limpieza (cleanup) verifiquen la escritura exitosa de resultados finales.
Detalles técnicos
Arquitectura del cambio
AWS HealthOmics usa AWS Fargate como backend para ejecutar tareas de workflows privados. La mejora consiste en:
- Inyección de volúmenes efímeros: Al lanzar una tarea, HealthOmics asigna un volumen NVMe local al contenedor (similar a cómo funciona
tmpfsen Kubernetes, pero con persistencia controlada). - Montaje automático: El volumen se monta en
/tmpcon permisosrwxrwxrwxpara el usuario de la tarea. - Cifrado transparente: El volumen usa claves KMS del servicio, pero se pueden heredar claves personalizadas via
ephemeralStorageKmsKeyIden la API. - Límites de recursos:
– Tamaño máximo: 3,072 GiB (3 TiB).
– IOPS: Hasta 15,000 (equivalente a io2 Block Express).
– Throughput: Hasta 1,000 MB/s.
Comandos y APIs afectados
| Acción | Comando/API | Notas |
|---|---|---|
| Lanzar workflow con almacenamiento efímero |
