Find answers, ask questions, and connect with our
community around the world.

Home Forums AWS AWS Certified Solutions Architect Associate Does this question need more detail?

  • Does this question need more detail?

  • Justin Stewart

    May 9, 2023 at 12:56 am

    I was between these two options on this question (see image). I opted for my answer, b/c SQS has message size limitations that would prevent reasonably sized image from being put onto the queue. For this to work, you would need to first upload the image to S3, then use event notifications to place it onto SQS, and then do your processing in Lambda.

    I understood that since the process only takes 5 minutes, that we don’t necessarily “need” step functions, but since there is a workflow element, it seemed like the more viable answer.

    My opinion: the correct answer should include something that makes it clear we’re not putting images into SQS messages. Opinions?

    • This discussion was modified 1 year ago by  Justin Stewart. Reason: fix typo
  • Tutorials-Dojo

    May 20, 2023 at 10:26 pm

    Hi Justin,

    Thank you for sharing your ideas in this particular scenario. This one says:

    A company is building an internal application that serves as a repository for images uploaded by a couple of users. Whenever a user uploads an image, it would be sent to Kinesis Data Streams for processing before it is stored in an S3 bucket. If the upload was successful, the application will return a prompt informing the user that the operation was successful. The entire processing typically takes about 5 minutes to finish.

    Which of the following options will allow you to asynchronously process the request to the application from upload request to Kinesis, S3, and return a reply in the most cost-effective manner?

    The keywords here are:

    most cost-effective manner

    takes about 5 minutes to finish.

    The rationales for the other items can be seen below:

    Using a combination of Lambda and Step Functions to orchestrate service components and asynchronously process the requests is incorrect. The AWS Step Functions service lets you coordinate multiple AWS services into serverless workflows so you can build and update apps quickly. Although this can be a valid solution, it is not cost-effective since the application does not have a lot of components to orchestrate. Lambda functions can effectively meet the requirements in this scenario without using Step Functions. This service is not as cost-effective as Lambda.

    Using a combination of SQS to queue the requests and then asynchronously processing them using On-Demand EC2 Instances and Using a combination of SNS to buffer the requests and then asynchronously processing them using On-Demand EC2 Instances are both incorrect as using On-Demand EC2 instances is not cost-effective. It is better to use a Lambda function instead.

    As shown above, the use of AWS Step Functions is actually doable, but it doesn’t meet the cost-efficiency required in the scenario. Nonetheless, we will continue to review this item to provide more clarity.

Viewing 1 - 2 of 2 replies

Log in to reply.

Original Post
0 of 0 posts June 2018