profile picture

Vicent Perez

Software Engineer & Tech Lead

LinkedIn
Road to AWS Solutions Architect - Professional (Día 3/20) ⬇️ Hoy vamos a desgranar y a analizar un ejemplo real de pregunta de examen. Vamos con el enunciado: Una empresa de tecnología va a lanzar un smartwatch que recopilará estadísticas e información de uso de sus usuarios. Se te ha asignado la tarea de diseñar una solución de almacenamiento y recuperación de datos de la aplicación. Se espera que esta ingiera millones de registros por minuto de una base de usuarios a nivel mundial. Para los requisitos de almacenamiento: ➡️ Registros de tamaño inferior a 4 KB. ➡️ Durabilidad de los datos: 120 días, luego pueden eliminarse. ➡️ Recuperación de datos con baja latencia. Requerimiento de almacenamiento de entre 10 y 15 TB por año. ¿Cuál de las siguientes opciones es la solución de almacenamiento recomendada y cost-effective? A) Usa Amazon MSK para ingerir y almacenar los registros. Establece un período de retención de datos personalizado de 120 días en el topic de Kafka. Envía los datos transmitidos a un bucket de Amazon S3 para mayor durabilidad ❌ B) Configura la aplicación para recibir los registros y almacénalos en una tabla de DynamoDB. Configura el escalado adecuado en la tabla y habilita la opción Time to Live (TTL) para eliminar los registros después de 120 días ✅ C) Configura la aplicación para recibir los registros y almacenarlos en Amazon Aurora Serverless. Escribe una función de AWS Lambda que ejecute una consulta para eliminar los registros con más de 120 días. Programa la ejecución de la función cada noche ❌ D) Configura la aplicación para ingerir los registros y almacenar cada uno en un bucket de Amazon S3. Asegúrate de establecer un nombre de archivo único para cada objeto. Crea una política de ciclo de vida del bucket de S3 para eliminar los objetos que tengan más de 120 días❓ Lo primero que hago en mi caso es descartar aquellas que estoy 100% seguro de que no son correctas, normalmente 2/4. En este caso, si analizamos el enunciado, vemos claramente que están poniendo el foco en una solución de bajo coste y baja latencia. Así que las respuestas A) y C) las podemos descartar. MSK + S3 añadirían un paso más a la solución (+ latencia), además de un incremento de costes. Amazon Aurora Serverless no tiene sentido, ya que el enunciado nos dice que se ingieren millones de datos por minuto (no hay downtime, así que serverless no proporciona beneficios). Entre la B) y la D) tenemos un dilema, y es que ambas son correctas. Una de las dificultades del examen es que muchas veces hay más de una respuesta correcta, así que muy atento al enunciado porque siempre hay una solución mejor que otra. En este caso, si nos fijamos en la D), tiene sentido y se puede implementar. No obstante, no cumpliríamos el requisito de baja latencia. En cambio, con la B) cumplimos baja latencia y, además, configurando el TTL en DynamoDB, no consumimos nada de write throughput, cumpliendo también el requisito de costes. ¡Nos vemos mañana!
LinkedIn post image

© 2025 Vicent Pérez