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

Home Forums AWS AWS Certified Solutions Architect Professional Clarification on Improve existing solutions question

  • Clarification on Improve existing solutions question

  • jithin

    Member
    October 27, 2020 at 7:05 pm

    I found the below question whose correct option has been mentioned as SQS. But I am not sure how sqs can mitigate the lag users are experiencing(as per the question) for a real time application. Can you provide further explanation on this and why dynamo db autoscaling is an incorrect choice here?

    Category: CSAP – Continuous Improvement for Existing Solutions

    A technology company asked you to develop an educational mobile app for students, with an exam feature that also allows them to submit their answers. You used React Native so the app can be deployed on both iOS and Android devices. You used Lambda and API Gateway for the backend services and DynamoDB as the database service. After a month, you released the app which has been downloaded over 3 million times. However, there are a lot of users who complain about the slow processing of the app especially when they are submitting their answers in the multiple-choice exams. The diagrams and images on the exam also take a lot of time to load, which is not a good user experience.

    Which of the following options provides the most cost-effective and scalable architecture for your app?

    a) Instead of DynamoDB, use RDS Multi-AZ configuration with Read Replicas. Use a web distribution in CloudFront and Amazon S3 to host the diagrams, images, and other static assets of the mobile app.

    b) Enable Auto Scaling in DynamoDB with a Target Utilization of 100% and a maximum provisioned capacity of 1000 units. Use an S3 bucket to host the diagrams, images, and other static assets of the mobile app.

    c) Increase the write capacity in DynamoDB. Use an RTMP (Real-Time Messaging Protocol) distribution in CloudFront to host the diagrams, images and other static assets of the mobile app in real time.

    d) Launch an SQS queue and develop a custom service which integrates with SQS to buffer the incoming requests. Use a web distribution in CloudFront and Amazon S3 to host the diagrams, images, and other static assets of the mobile app.

    Correct Answer as Per tutorials Dojo:

    In this scenario, the mobile app is both write and read intensive. You can use SQS to buffer and scale the backend service to accommodate the large incoming traffic. CloudFront is the best choice to distribute the static assets of the mobile app to load it faster.

  • Kenneth-Samonte-Tutorials-Dojo

    Member
    October 29, 2020 at 10:33 pm

    Hellon Jithin,

    Thank you for your feedback.

    I’m sorry that the explanation section for this question is very short. We’ll review this and update it accordingly to explain why the correct answer was chosen.

    I found the below question whose correct option has been mentioned as SQS. But I am not sure how sqs can mitigate the lag users are experiencing(as per the question) for a real time application. Can you provide further explanation on this.

    > From the question “slow processing of the app especially when they are submitting their answers in the multiple-choice exams”

    > On the given answer: Launch an SQS queue and develop a custom service that integrates with SQS to buffer the incoming requests. Use a web distribution in CloudFront and Amazon S3 to host the diagrams, images, and other static assets of the mobile app.

    SQS can help with the slowness experienced when submitting answers. You can modify your application to use SQS, for example, when the users submit their answers, instead of waiting for the complete submission and processing of all the answers you can save the submitted answers on the SQS Queue, and then quickly return to the user to a new page that the answers are successfully submitted. This improves the user experience as the user will not wait on a “loading submit” button until all the answers are processed completely. When the answers are buffered in the queue, the backend instances can now process the answers in the queue. You can then have another webpage that will show the results separately. This is a simple cost-effective design that improves user experience without increasing the capacity of your systems.

    and why dynamo db autoscaling is an incorrect choice here?

    > DynamoDB scaling is incorrect because you can set the auto scaling target utilization values between 20 and 90 percent for your read and write capacity, not 100%.

    https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html

    Hope this helps.

    Let us know if you need further assistance. The Tutorials Dojo team is dedicated to helping you pass your AWS exam!

    Regards,

    Kenneth Samonte @ Tutorials Dojo

  • Kenneth-Samonte-Tutorials-Dojo

    Member
    October 29, 2020 at 10:35 pm

    Hello Jithin,

    Thank you for your feedback.

    I’m sorry that the explanation section for this question is very short. We’ll review this and update it accordingly to explain why the correct answer was chosen.

    I found the below question whose correct option has been mentioned as SQS. But I am not sure how sqs can mitigate the lag users are experiencing(as per the question) for a real time application. Can you provide further explanation on this.

    > From the question “slow processing of the app especially when they are submitting their answers in the multiple-choice exams”

    > On the given answer: Launch an SQS queue and develop a custom service that integrates with SQS to buffer the incoming requests. Use a web distribution in CloudFront and Amazon S3 to host the diagrams, images, and other static assets of the mobile app.

    SQS can help with the slowness experienced when submitting answers. You can modify your application to use SQS, for example, when the users submit their answers, instead of waiting for the complete submission and processing of all the answers you can save the submitted answers on the SQS Queue, and then quickly return to the user to a new page that the answers are successfully submitted. This improves the user experience as the user will not wait on a “loading submit” button until all the answers are processed completely. When the answers are buffered in the queue, the backend instances can now process the answers in the queue. You can then have another webpage that will show the results separately. This is a simple cost-effective design that improves user experience without increasing the capacity of your systems.

    and why dynamo db autoscaling is an incorrect choice here?

    > DynamoDB scaling is incorrect because you can set the auto scaling target utilization values between 20 and 90 percent for your read and write capacity, not 100%.

    https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html

    Hope this helps.

    Let us know if you need further assistance. The Tutorials Dojo team is dedicated to helping you pass your AWS exam!

    Regards,

    Kenneth Samonte @ Tutorials Dojo

Viewing 1 - 3 of 3 replies

Log in to reply.

Original Post
0 of 0 posts June 2018
Now