Developer Associate / Lecciones en español · English
Lecciones de Developer Associate DVA-C02
- Patrones de arquitectura: orientada a eventos, microservicios, fan-out, coreografía vs orquestación, diseños débilmente acoplados y sin estado
- Código resiliente: reintentos con retroceso exponencial y jitter, idempotencia, tiempos de espera, fallas parciales y colas de mensajes fallidos
- Mensajería y streaming: SQS estándar vs FIFO (grupos de mensajes, deduplicación, tiempo de visibilidad, long polling), fan-out con SNS, reglas y Scheduler de EventBridge, Kinesis Data Streams
- AWS Step Functions: flujos de trabajo Standard vs Express, retry/catch, task tokens para callbacks
- Llamar a servicios de AWS con los SDK y la CLI: cadena de proveedores de credenciales, paginación, waiters, manejo de errores
- Configuración de Lambda: memoria, tiempo de espera (máximo de 15 minutos), almacenamiento efímero /tmp, variables de entorno, capas, concurrencia, acceso a VPC
- Modelos de invocación de Lambda: síncrono, asíncrono (reintentos, destinos, DLQ) y mapeos de fuentes de eventos (SQS, Kinesis, DynamoDB Streams, respuestas parciales de lote)
- Buenas prácticas de código en Lambda: inicializar clientes del SDK y conexiones fuera del handler, leer eventos, devolver respuestas proxy de API Gateway
- DynamoDB: claves de partición y de ordenamiento, Query vs Scan, LSI vs GSI, cálculo de RCU/WCU, modelos de consistencia, expresiones de condición, TTL, Streams, DAX
- Amazon S3 desde el código: carga multiparte, clases de almacenamiento y ciclo de vida, notificaciones de eventos
- Estrategias de caché con ElastiCache: lazy loading, write-through, TTL; cómo elegir entre almacenes SQL, NoSQL y en memoria
- IAM para aplicaciones: roles de ejecución, perfiles de instancia, roles de tarea de ECS, políticas de mínimo privilegio, evaluación de políticas (gana la denegación explícita)
- Políticas basadas en recursos: permisos de Lambda para S3/SNS/API Gateway, políticas de bucket de S3, políticas de claves de KMS
- Acceso entre cuentas con STS AssumeRole y políticas de confianza; credenciales temporales
- Amazon Cognito: grupos de usuarios (registro, inicio de sesión, tokens de ID/acceso/actualización) vs grupos de identidades (credenciales temporales de AWS)
- Autorización en API Gateway: IAM (SigV4), autorizadores de grupos de usuarios de Cognito, autorizadores Lambda, claves de API y planes de uso
- Cifrado en reposo: SSE-S3, SSE-KMS, SSE-C, S3 Bucket Keys, cifrado del lado del cliente con AWS Encryption SDK
- AWS KMS: claves administradas por el cliente vs administradas por AWS, cifrado de sobre con GenerateDataKey, límite de 4 KB de Encrypt, uso de claves entre cuentas
- Cifrado en tránsito: TLS, certificados de ACM (us-east-1 para CloudFront), imponer aws:SecureTransport
- Secretos y configuración: Secrets Manager (rotación) vs Systems Manager Parameter Store (SecureString, niveles)
- Mantener los datos sensibles fuera del código y de los logs: cadena predeterminada de credenciales, sin claves codificadas, enmascaramiento con la protección de datos de CloudWatch Logs
- URL prefirmadas para acceso temporal a S3; IAM Access Analyzer para el mínimo privilegio
- Preparar artefactos: paquetes .zip vs imágenes de contenedor en ECR, capas de Lambda, empaquetado de dependencias, CodeArtifact
- AWS SAM: estructura de la plantilla, sam build, sam deploy --guided, sam local invoke / start-api, samconfig.toml
- CloudFormation: plantillas, parámetros, salidas y exportaciones, Fn::ImportValue, change sets, empaquetado de artefactos locales en S3
- Fundamentos de AWS CDK: constructs, cdk bootstrap, cdk synth, cdk deploy
- Versiones y alias de Lambda; alias ponderados; desplazamiento de tráfico canary, lineal y todo a la vez con CodeDeploy y reversión por alarmas
- Etapas de API Gateway, variables de etapa, despliegues, integraciones mock, publicaciones canary
- Políticas de despliegue de Elastic Beanstalk: todo a la vez, rolling, rolling con lote adicional, inmutable, división de tráfico, intercambio de URL blue/green
- Etapas y acciones de CodePipeline, aprobaciones manuales; fases y artefactos del buildspec de CodeBuild
- Hooks del ciclo de vida de appspec.yml de CodeDeploy para EC2, Lambda y ECS; el agente de CodeDeploy
- Pruebas en entornos de desarrollo: pruebas unitarias en CI, pruebas de integración contra etapas desplegadas, feature flags de AppConfig y despliegue gradual de configuración
- Análisis de causa raíz con CloudWatch Logs, consultas de Logs Insights, métricas y paneles
- Errores comunes de Lambda: limitación (429), tiempos de espera agotados, AccessDenied del rol de ejecución, respuestas proxy mal formadas (502), tiempos de espera de integración 504 de API Gateway
- AWS X-Ray: segmentos, subsegmentos, anotaciones vs metadatos, muestreo, rastreo activo, el daemon de X-Ray/agente de CloudWatch
- Métricas personalizadas: PutMetricData, formato de métricas integradas de CloudWatch, métricas de alta resolución
- Alarmas de CloudWatch con notificaciones de SNS; logging estructurado e ID de correlación
- Rendimiento de Lambda: ajuste de memoria/CPU, arranques en frío, concurrencia aprovisionada, concurrencia reservada
- Solución de problemas de streams y colas: IteratorAge de Kinesis, factor de paralelización, colas de mensajes fallidos de SQS y redrive
- Optimización de DynamoDB: particiones calientes, diseño de claves, capacidad bajo demanda vs aprovisionada, capacidad adaptativa
- Caché para el rendimiento: caché de etapa de API Gateway, CloudFront, ElastiCache, DAX