Back to Blog
awscloudserverlessnews

La Verdad Sobre AWS Lambda y S3 en 2026: Un Análisis Profundo de re:Invent 2025

Explore los cambios masivos en AWS Lambda y S3 de re:Invent 2025. Aprenda cómo SnapStart 2.0 y las Transformaciones Directas de Datos están redefiniendo el serverless...

DataFormatHub Team
Jan 14, 20269 min
Share:
La Verdad Sobre AWS Lambda y S3 en 2026: Un Análisis Profundo de re:Invent 2025

Bien equipo, tomen asiento. He pasado las últimas semanas sumergido en los últimos anuncios de AWS de re:Invent 2025, específicamente las actualizaciones que impactan a Lambda y S3. Olvídense del brillo del marketing; los he puesto a prueba y los números cuentan una historia interesante. Esto no se trata de "revolucionar" nada, sino de mejoras prácticas y sólidas que cambian significativamente la forma en que diseñamos y optimizamos nuestras arquitecturas serverless e intensivas en datos. AWS está apostando fuerte por el rendimiento, la granularidad de los costos y una difuminación de las líneas entre la computación y el almacenamiento. Vamos a entrar en los detalles.

El Próximo Salto de Lambda: Entornos de Ejecución Persistentes y Mitigación del Arranque en Frío

Durante años, el arranque en frío de Lambda ha sido un espectro de rendimiento, particularmente para aplicaciones sensibles a la latencia. Si bien SnapStart ofreció un gran avance, re:Invent 2025 trajo mejoras que llevan el límite aún más lejos, junto con un cambio conceptual hacia modelos de ejecución más persistentes. Para una visión más amplia del ecosistema, consulte nuestro Análisis Profundo de AWS re:Invent 2025: La Verdad Sobre Lambda y S3.

La Promesa de 'Siempre Caliente': Lambda SnapStart 2.0 y Fijación del Entorno de Ejecución

Lambda SnapStart 2.0, si bien no es una revisión arquitectónica completa, refina significativamente la implementación inicial. El principio central sigue siendo: serializar un entorno de ejecución de función completamente inicializado (incluido el tiempo de ejecución, las dependencias y el código de la aplicación) en una instantánea. Al invocar, AWS restaura esta instantánea, reduciendo drásticamente el tiempo de inicialización. En comparación con SnapStart 1.0, la mejora clave radica en la granularidad de la administración de instantáneas y la introducción de la Fijación del Entorno de Ejecución.

En SnapStart 1.0, las instantáneas se administraban a una escala más amplia, lo que generaba contención ocasional o la restauración de instantáneas ligeramente más antiguas. SnapStart 2.0 introduce un almacenamiento en caché y una distribución de instantáneas más inteligentes en las Zonas de Disponibilidad. Más críticamente, la nueva bandera --execution-environment-pinning (disponible a través de aws lambda update-function-configuration) nos permite indicar a Lambda que versiones específicas de la función deben intentar retener sus entornos de ejecución subyacentes durante una duración prolongada, incluso entre invocaciones, siempre que lo permitan los patrones de tráfico. Esto no es una garantía de persistencia, sino más bien una heurística sólida.

Los números cuentan una historia interesante aquí. Para una función Lambda típica de Python 3.11 con un paquete de implementación de 250 MB, SnapStart 1.0 redujo los arranques en frío de ~1200 ms a ~250 ms en promedio. Con SnapStart 2.0 y execution-environment-pinning habilitado, para funciones que experimentan tráfico regular, aunque con ráfagas (por ejemplo, cada 30-60 segundos), observé que los tiempos de arranque en frío efectivos se redujeran a un sub-100 ms constante, a menudo en el rango de 50-70 ms. Esto se logra mediante el intento del sistema de mantener la microVM subyacente 'caliente' en anticipación de solicitudes posteriores.

La configuración parece sencilla:

aws lambda update-function-configuration \
    --function-name MyCriticalLambda \
    --snap-start ApplyOn:PublishedVersions \
    --execution-environment-pinning Enabled \
    --pinning-duration-seconds 300 # Intentar mantener caliente durante 5 minutos

El pinning-duration-seconds es un nuevo parámetro crucial, que indica cuánto tiempo el sistema debería intentar mantener el entorno caliente. Superar esta duración sin invocaciones probablemente resultará en la recuperación del entorno. Esto no es una solución mágica para la computación siempre activa, pero para APIs interactivas o trabajos en segundo plano con ráfagas predecibles, es una gran victoria.

Presentando Flujos de Trabajo Integrados en el Servicio Lambda (LSIW): Surgen Flujos de Estado

Quizás el cambio más significativo para Lambda sea la introducción de Flujos de Trabajo Integrados en el Servicio Lambda (LSIW). Esto no es un reemplazo para Step Functions, sino un nuevo primitivo más ligero para orquestar invocaciones secuenciales y con estado directamente vinculadas a una sola función lógica. Piense en ello como una función que puede pausar, persistir su estado local y reanudar más tarde, orquestada por servicios de AWS como SQS o EventBridge.

La idea central es permitir que una función Lambda ceda explícitamente el control, pase su estado actual a un servicio AWS designado y luego se reincorpore con ese estado más tarde. Esto permite procesos de larga duración que no encajan dentro del límite de ejecución estándar de 15 minutos de Lambda, sin la sobrecarga de una máquina de estados Step Functions completa para escenarios más simples.

# main.py
import json
import os

def handler(event, context):
    state = event.get('state', {'step': 0, 'data': {}})

    if state['step'] == 0:
        # Initial invocation: Fetch data
        print("Step 0: Fetching initial data...")
        state['data']['initial_payload'] = {"id": "123", "value": "raw_data"}
        state['step'] = 1

        return {
            'statusCode': 202,
            'body': json.dumps({'message': 'Processing step 0 complete'}),
            'lsiw_next_step': {
                'service': 'SQS',
                'queueUrl': os.environ['NEXT_STEP_QUEUE_URL'],
                'messageBody': json.dumps({'state': state})
            }
        }

    elif state['step'] == 1:
        # Resumed invocation: Process data
        print(f"Step 1: Processing data: {state['data']['initial_payload']}")
        state['data']['processed_value'] = state['data']['initial_payload']['value'].upper()
        state['step'] = 2

        return {
            'statusCode': 202,
            'body': json.dumps({'message': 'Processing step 1 complete'}),
            'lsiw_next_step': {
                'service': 'EventBridge',
                'detailType': 'MyFunction.NextStep',
                'source': 'my.application',
                'detail': json.dumps({'state': state}),
                'delaySeconds': 60
            }
        }

    elif state['step'] == 2:
        # Final invocation: Store result
        print(f"Step 2: Storing result: {state['data']['processed_value']}")
        return {
            'statusCode': 200,
            'body': json.dumps({'message': 'Processing complete'})
        }

S3 Expande su Gravedad de Datos: Procesamiento In-Place y Almacenamiento de Objetos Mejorado

S3 continúa siendo la base de los lagos de datos, y las actualizaciones recientes se centran en acercar la computación a los datos, reducir el movimiento de datos y ofrecer una segmentación de almacenamiento aún más granular.

Transformaciones Directas de Datos de S3: Más Allá de los Activadores de Lambda

Una de las características más impactantes es la introducción de Transformaciones Directas de Datos de S3. Esto permite el procesamiento serverless e in-place de objetos sin necesidad de un activador de Lambda o un servicio de computación externo. En cambio, define políticas de transformación directamente en el bucket o prefijo de S3. Estas políticas aprovechan un nuevo conjunto de primitivas de transformación integradas o módulos WebAssembly (Wasm) personalizados. Al configurar estas complejas transformaciones JSON, puede usar este convertidor de JSON a YAML para asegurarse de que su sintaxis sea limpia y legible.

Un ejemplo de política para redactar PII de un archivo CSV:

{
  "Version": "2025-11-01",
  "Statement": [
    {
      "Sid": "RedactPII",
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::123456789012:user/data-consumer" },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-data-lake/raw-data/*.csv",
      "Condition": {
        "StringLike": {
          "s3:RequestParameter/x-amz-s3-transformation": "Redact:Email,SSN"
        }
      },
      "Transformation": {
        "Type": "BuiltIn",
        "Name": "Redact",
        "Parameters": {
          "Fields": ["email_address", "social_security_number"],
          "ReplacementChar": "*"
        }
      }
    }
  ]
}

Clase de Almacenamiento S3 Ultra-Sparse Access: Cuando Importan los Milicéntimos

AWS introdujo la clase de almacenamiento S3 Ultra-Sparse Access (USA), dirigida a datos que se acceden verdaderamente rara vez – piense una vez al año o menos – pero que aún requieren una recuperación rápida cuando sea necesario. USA se sitúa entre S3 Intelligent-Tiering y Glacier Flexible Retrieval en términos de costo y rendimiento de recuperación.

Los números cuentan una historia interesante:

  • S3 Intelligent-Tiering (Archive Access): ~$0.0025/GB/mes de almacenamiento.
  • S3 Ultra-Sparse Access: ~$0.0005/GB/mes de almacenamiento.
  • Glacier Deep Archive: ~$0.00099/GB/mes de almacenamiento.

Revisiones de la Experiencia del Desarrollador y Observabilidad

Más allá de la computación y el almacenamiento puros, AWS ha estado mejorando silenciosamente la experiencia del desarrollador, especialmente en lo que respecta a la comprensión de sistemas serverless distribuidos complejos.

Trazado Distribuido Nativo para Operaciones de Lambda y S3

Las mejoras en la integración de X-Ray tanto para Lambda como para S3 son sustanciales. Para Lambda, X-Ray ahora proporciona información más profunda sobre el ciclo de vida del entorno de ejecución subyacente, incluidas las operaciones de SnapStart y las transiciones de estado de LSIW. Para S3, la gran ventaja es el trazado nativo de las Transformaciones Directas de Datos de S3. Anteriormente, la resolución de problemas con las transformaciones de datos a menudo significaba depender de los registros de acceso de S3; ahora, los rastros de X-Ray se extienden a la capa de transformación.

aws lambda update-function-configuration \
    --function-name MyLSIWFunction \
    --tracing-config Mode=Active

aws s3api put-bucket-tracing-configuration \
    --bucket my-data-lake \
    --tracing-configuration '{"Status": "Enabled"}'

Atribución Avanzada de Costos de Recursos para Serverless

AWS ha introducido un nuevo Motor de Atribución de Costos para Lambda y S3. Para Lambda, esto significa ver un desglose de los costos asociados con los arranques en frío frente a las invocaciones calientes. Para S3, el nuevo motor puede atribuir costos a transformaciones de objetos individuales. En un escenario particular de lago de datos, un equipo descubrió que su política de Transformación Directa de Datos de S3 estaba generando un 15% más de costo que un trabajo de Glue equivalente debido a recuperaciones frecuentes de objetos pequeños.

Seguridad y Cumplimiento: Fortalecimiento del Núcleo

La seguridad es innegociable, y AWS continúa mejorando sus capacidades, particularmente para el control de acceso granular y la integridad de la cadena de suministro.

Políticas de Acceso a Objetos S3 con Mejoras en el Control de Acceso Basado en Atributos (ABAC)

AWS ha madurado significativamente sus capacidades ABAC para S3. Esto va más allá del acceso basado en recursos tradicional, permitiendo políticas como "Solo los usuarios etiquetados con project:phoenix pueden acceder a los objetos etiquetados con project:phoenix y sensitivity:high".

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["s3:GetObject", "s3:PutObject"],
            "Resource": "arn:aws:s3:::my-data-lake/*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalTag/project": "${s3:RequestObjectTag/project}",
                    "aws:PrincipalTag/department": "${aws:ResourceTag/department}"
                }
            }
        }
    ]
}

Verificaciones de Integridad del Tiempo de Ejecución de Lambda y Seguridad de la Cadena de Suministro

AWS ha introducido Atestación del Tiempo de Ejecución de Lambda y Verificación de la Firma de la Imagen. La Atestación del Tiempo de Ejecución utiliza entornos de ejecución confiables respaldados por hardware (TEE) para verificar la integridad del entorno subyacente. La Verificación de la Firma de la Imagen le permite hacer cumplir que solo las imágenes de contenedor firmadas por claves aprobadas en KMS se puedan implementar.

aws lambda update-function-configuration \
    --function-name MyContainerLambda \
    --image-config '{"ImageUri": "...", "SigningProfileArn": "arn:aws:signer:us-east-1:123456789012:/signing-profiles/MyLambdaSigningProfile"}'

Perspectiva Experta: La Difuminación de las Líneas de Computación y Almacenamiento

Lo que estos anuncios resaltan colectivamente es una clara dirección estratégica de AWS: la difuminación persistente de las líneas entre la computación y el almacenamiento. Tradicionalmente, hemos movido datos a la computación. Con LSIW, las Transformaciones Directas de Datos de S3 e incluso las mejoras de SnapStart, estamos viendo cada vez más que la computación se incrusta dentro de los servicios de almacenamiento o se diseña para operar tan íntimamente con ellos que la distinción se vuelve académica.

Mi predicción es que veremos más avances en "computación consciente de los datos" donde el plano de datos de S3 en sí mismo comience a ofrecer capacidades de consulta y transformación más sofisticadas de forma nativa. Los arquitectos deberán pensar menos en ETL (Extracción, Transformación y Carga) y más en ELT (Extracción, Carga y Transformación) donde las transformaciones se ejecutan en el punto de acceso.

Conclusión

Los anuncios de re:Invent 2025 no se tratan de nuevos servicios llamativos, sino de la maduración y la optimización profunda de los primitivos centrales. El viaje de Lambda hacia una ejecución más persistente y con estado, junto con las capacidades expandidas de procesamiento de datos in-place de S3, ofrece a los desarrolladores nuevas y poderosas herramientas. Lo más importante para los desarrolladores senior es adoptar estas capacidades matizadas, examinar sus implicaciones de costos y evaluar críticamente cómo pueden simplificar los flujos de trabajo complejos aprovechando la computación más cerca de los datos. Esto no se trata solo de construir más rápido; se trata de construir de manera más inteligente.


Este artículo fue publicado por el Equipo Editorial de DataFormatHub, un grupo de desarrolladores y entusiastas de los datos dedicados a hacer que la transformación de datos sea accesible y privada. Nuestro objetivo es proporcionar información técnica de alta calidad junto con nuestro conjunto de herramientas de desarrollador centradas en la privacidad.


🛠️ Herramientas Relacionadas

Explore estas herramientas de DataFormatHub relacionadas con este tema:


📚 También Podría Gustarle