Se le ha pedido a un arquitecto de soluciones que diseñe una aplicación web de carga de medios sin servidor que tendrá la funcionalidad de cargar imágenes en miniatura, transcodificar videos, indexar archivos, validar contenidos y agregar datos en tiempo real. Necesita visualizar los componentes distribuidos de su arquitectura a través de una consola gráfica. ¿Cómo se puede diseñar sabiamente?
Pregunta
Se le pidió a un arquitecto de soluciones que diseñe una aplicación web de carga de medios sin servidor que tendrá la funcionalidad de cargar imágenes en miniatura, transcodificar videos, indexar archivos, validar contenidos y agregar datos en tiempo real.
Necesita visualizar los componentes distribuidos de su arquitectura a través de una consola gráfica. ¿Cómo se puede diseñar sabiamente?
Respuestas
A. Aloje una aplicación web estática con Amazon S3, cargue imágenes en Amazon S3, active una función Lambda cuando se carguen archivos multimedia, coordine otros archivos multimedia que procesan Lambdas con varias colas SQS y almacene los datos agregados en DynamoD.
B. Aloje una aplicación web estática con Amazon S3, cargue imágenes en Amazon S3, active una función Lambda cuando se carguen archivos multimedia, coordine otros archivos multimedia que procesan Lambdas con Simple Workflow Service y almacene los datos agregados en DynamoD.
C. Aloje una aplicación web estática con Amazon S3, cargue imágenes en Amazon S3, active una función Lambda cuando se carguen archivos multimedia, procese archivos multimedia con varias Lambdas y almacene los datos agregados en DynamoD.
D. Aloje una aplicación web estática con Amazon S3, cargue imágenes en Amazon S3, use la notificación de eventos de S3 para activar una función Lambda cuando se carguen archivos multimedia, coordine otros archivos multimedia que procesan Lambda con funciones Step y almacene los datos agregados en DynamoD.
Respuesta Correcta
A.BCD
Respuesta correcta: D.
Como en el diagrama anterior, las funciones de Pasos se utilizan para coordinar el procesamiento de funciones Lambda y almacenar los datos en DynamoDB. Las diferencias entre la función de Pasos y SWF son las siguientes:
Funciones de paso.
SWF.
Bueno para cualquier nueva aplicación sin servidor donde se requiere coordinación entre varios componentes mediante un flujo de trabajo visual.
Necesita señales externas para intervenir en los procesos, O Bueno, si hay procesos secundarios y estos requieren pasar señales a los padres.
Fácil de usar durante el desarrollo de la aplicación.
Más complejo durante el desarrollo de la aplicación pero control total de la lógica de orquestación.
Utiliza JAON declarativo para escribir la máquina de estado.
Necesita escribir un programa decisivo (programación de su elección) para separar actividades entre pasos o usar el marco de flujo de AWS.
Sin servidor, menor sobrecarga de administración.
Utiliza servidores.
Flujos de trabajo de ejecución corta.
Flujos de trabajo de ejecución prolongada,
Se utiliza principalmente para tareas sincrónicas.
Se utiliza principalmente para tareas asincrónicas.
Nuevo servicio de AWS, aplicaciones menos complejas.
Aplicación heredada, decisiones complejas (aplicación de decisión personalizada)
Integre con AWS Mechanical Turk.
La opción A es incorrecta: el uso de colas de SQS para coordinar varias funciones de Lambda no es adecuado.
La opción B es incorrecta: SWF puede administrar flujos de trabajo, pero administrar funciones de Lambda con funciones de pasos es mejor.
SWF se utiliza para administrar la infraestructura que ejecuta la lógica y las tareas del flujo de trabajo.
SWF es el servicio menos utilizado.
La opción C es incorrecta: administrar las funciones de Lambda será un desafío sin un servicio de flujo de trabajo administrado como las funciones de Step.
La opción D es CORRECTA: esta es la mejor respuesta, ya que las funciones Step se utilizan para coordinar el procesamiento de las funciones Lambda.
También proporciona una forma gráfica de visualizar los pasos de procesamiento.
https://aws.amazon.com/step-functions/faqs/
https://aws.amazon.com/step-functions/use-cases/
¡Ahora puedes descargar los tests!
Poco a poco vamos agregando más.