Quiz: Almacenamiento en AWS: ¡más de 20 preguntas!
¿Puedes sortear el laberinto de la nube?
¿Te animas con la nube? 🤡
Sumérgete en los servicios de almacenamiento de AWS. Este cuestionario pondrá a prueba tu dominio de S3, DynamoDB, Aurora, RDS, ElastiCache y más. Desde buenas prácticas hasta trampas sutiles, exploraremos el panorama del almacenamiento en la nube.
¡Prepárate para demostrar tu experiencia en la nube! 🚀
¿Qué API de DynamoDB actualiza atributos en un solo elemento existente?
La clave aquí son las actualizaciones, no inserciones o PUTs. Si estás haciendo inserciones, puedes usar BatchWriteItem o TransactWriteItems.
Mientras BatchWriteItem puede manejar múltiples operaciones, está limitado a PUTs y DELETEs. TransactWriteItems es más potente, pero es como usar un martillo neumático para actualizaciones simples.
Para actualizaciones simples, UpdateItem es la mejor opción. Permite ACTUALIZAR, o modificar uno o más atributos en un elemento existente.
La operación UpdateItem modifica un elemento por solicitud. Para grandes cargas de datos históricos o actualizaciones masivas, normalmente orquestas muchas llamadas a UpdateItem o utilizas un flujo de trabajo mayor como ejecución por lotes de PartiQL, Step Functions, Glue, EMR, o un proceso de trabajador personalizado.
La operación UpdateItem:
Actualiza los atributos de un elemento existente.
Añade nuevos atributos a un elemento existente.
Elimina atributos de un elemento existente.
Realiza la actualización condicionalmente si el elemento existe o cumple ciertas condiciones.
¿Qué servicio de AWS aquí está diseñado específicamente para búsqueda de texto completo y análisis de búsqueda?
OpenSearch es el servicio administrado de AWS para búsquedas, análisis de logs y cargas de trabajo de búsqueda de texto completo.
Los distractores son servicios útiles, pero no son el motor de búsqueda diseñado específicamente en esta lista:
ElastiCache: Principalmente una caché en memoria. El ElastiCache actual para Valkey incluye comandos de búsqueda para datos indexados en memoria, por lo que ya no es exacto describir todo el servicio como sin búsqueda incorporada.
Neptune: Base de datos de grafos; puede integrarse con OpenSearch para búsqueda de texto completo.
Redshift: Almacén de datos para análisis SQL.
DocumentDB: Base de datos de documentos con búsqueda de texto compatible con MongoDB en versiones soportadas.
¿Cuál es el beneficio principal del despliegue Multi-AZ de RDS?
Las zonas de disponibilidad (AZ) son centros de datos distintos dentro de una región. El despliegue Multi-AZ de RDS proporciona conmutación por error automática a una réplica de espera en una AZ cercana.
Despliegue Multi-AZ:
Proporciona conmutación por error automática
Aumenta la disponibilidad de la base de datos
Crea una réplica de espera sincrónica
Minimiza el tiempo de inactividad durante fallas de infraestructura
No confundas el despliegue Multi-AZ con Réplicas de Lectura, que se usan para escalar operaciones de lectura.
¿Qué servicio de AWS ofrece APIs WebSocket gestionadas donde AWS posee la conexión del cliente y enruta los mensajes a integraciones?
API Gateway admite APIs WebSocket bidireccionales, pero la implementación es gestionada por API Gateway en lugar de ser un socket directo a tu propio proceso de servidor.
API Gateway mantiene la conexión del cliente y enruta los mensajes a Lambda, endpoints HTTP u otras integraciones. Los mensajes pueden enviarse de vuelta a los clientes conectados mediante la API de gestión de API Gateway.
Otros servicios ofrecen distintas ventajas y responsabilidades:
Lightsail: Ejecuta y administra tu servidor WebSocket en una instancia
AppSync: Usa WebSockets para suscripciones GraphQL gestionadas
EC2: Tu clásica opción de “haz lo que quieras” para WebSockets
EKS: Ejecuta tus servicios WebSocket en Kubernetes
Elige según el protocolo, los límites de conexiones, el modelo de despliegue y la responsabilidad operativa. El enrutamiento gestionado de API y el alojamiento de tu propio servidor resuelven necesidades diferentes.
¿Cuál es el enfoque recomendado para los permisos de los buckets S3?
En prácticamente TODOS los sistemas, adoptar un diseño de “privilegio mínimo” es una forma clave de endurecer y preparar para el futuro. Intentar asegurar un sistema existente es tan difícil como mover todo un edificio de oficinas a una nueva cimentación.
Los buckets S3 no son una excepción. Para aplicar el principio de privilegio mínimo, comienza sin permisos y otorga solo el acceso necesario. Usa roles y políticas IAM para controlar el acceso y audita regularmente los permisos de los buckets.
Mejores prácticas de seguridad:
Aplicar el principio de privilegio mínimo
Comenzar sin permisos
Otorgar solo el acceso necesario
Usar roles y políticas IAM
Auditar regularmente los permisos de los buckets
Evita configuraciones demasiado permisivas que puedan exponer datos sensibles.
¡Una pregunta más de lotes de DynamoDB!
¿Cuál es el número máximo de ítems que puedes recuperar con una sola solicitud BatchGetItem de DynamoDB?
El SDK de DynamoDB te permite recuperar hasta 100 ítems en una sola solicitud BatchGetItem. Esto es mayor que el límite para BatchWriteItem, que es de 25 ítems.
Además, existen límites en el tamaño total de la carga útil, el tamaño del documento y la tasa de solicitudes.
Comprender estos límites es crucial para optimizar el rendimiento de tu aplicación y garantizar operaciones de datos eficientes.
El límite de 100 elementos es fijo para esta operación. Divide las lecturas mayores en varias solicitudes y reintenta las claves UnprocessedKeys con esperas crecientes. Las cuotas ajustables de rendimiento son otro tipo de límite.
¿Cuántos elementos puede modificar una sola llamada UpdateItem de DynamoDB?
Los clientes de DynamoDB son esencialmente wrappers de su API HTTP. La operación BatchWriteItem puede PUT o DELETE hasta 25 documentos por solicitud HTTP, pero no puede UPDATE varios documentos.
UpdateItem modifica un elemento. Es un límite de esa llamada, no de todas las solicitudes de DynamoDB: las API de transacciones y lotes de PartiQL pueden incluir varias actualizaciones.
¿Cuál es una razón para elegir la capacidad On-Demand de DynamoDB?
La capacidad On-Demand es ideal para:
Cargas de trabajo impredecibles
Tráfico esporádico
Aplicaciones con patrones de acceso desconocidos
Evitar el sobreaprovisionamiento
La capacidad provisionada es mejor para:
Cargas de trabajo predecibles y consistentes
Mayor control sobre el rendimiento
Posibles ahorros de costos
On-Demand no siempre es más barato. Compara el volumen de solicitudes, la utilización y los precios actuales; un tráfico sostenido y predecible puede favorecer la capacidad aprovisionada.
¿Cómo optimizar el rendimiento de S3 para altas tasas de solicitud?
Consejos de rendimiento de S3:
S3 moderno escala automáticamente las tasas de solicitud por prefijo
No necesitas prefijos aleatorios/hash para el rendimiento
Usa nombres de clave lógicos que se ajusten a tus patrones de acceso
Monitorea respuestas 503 Slow Down si generas tasas de solicitud muy altas
La guía anterior recomendaba aleatorizar los prefijos para evitar particiones calientes, pero AWS ya no lo recomienda como requisito de rendimiento por defecto.
¿Cuál es el número máximo de réplicas de lectura que soporta Amazon Aurora?
Amazon Aurora soporta hasta 15 réplicas de lectura, lo que te permite escalar significativamente tus operaciones de lectura. Estas réplicas se benefician de:
Replicación casi instantánea entre réplicas
Impacto mínimo en el rendimiento de la instancia primaria
Distribución eficiente de las cargas de trabajo de lectura
Esta configuración permite el escalado horizontal para aplicaciones con altas demandas de lectura.
Una tabla DynamoDB tiene una capacidad de lectura aprovisionada de 100 RCUs. ¿Cuántas lecturas fuertemente consistentes de ítems de 4KB se pueden realizar por segundo?
Entender los modelos de consistencia de DynamoDB es fundamental:
1 RCU = 1 lectura fuertemente consistente/segundo para ítems de hasta 4KB
1 RCU = 2 lecturas eventualmente consistentes/segundo para ítems de hasta 4KB
Por lo tanto:
100 RCUs = 100 lecturas fuertemente consistentes de 4KB/segundo
100 RCUs = 200 lecturas eventualmente consistentes de 4KB/segundo
¿Cuál es la consideración clave al confiar en Aurora Serverless para manejar picos de tráfico repentinos?
Escalado de Aurora Serverless:
Aurora Serverless v2 escala la capacidad en incrementos granulares de ACU
La velocidad de escalado depende de la capacidad actual y de la configuración min/max de ACU
Las versiones compatibles pueden auto‑pausar a 0 ACU cuando se configuran
Facturación por segundo basada en ACU
Mejores prácticas:
Establezca la capacidad mínima lo suficientemente alta para picos repentinos en cargas críticas
Supervise los eventos de escalado
Tenga en cuenta la gestión de conexiones
¡Vaya, esa aventura se metió hasta lo más profundo! 🚀☁️
Espero que hayas disfrutado el recorrido y, de paso, aprendido algo sobre los servicios de almacenamiento de AWS.
Legal: Este cuestionario es solo para fines educativos. Todas las marcas registradas y derechos de autor pertenecen a sus respectivos propietarios, especialmente a los grandes.