Exam SAA-C03 All QuestionsBrowse all questions from this exam
Question 110

A social media company allows users to upload images to its website. The website runs on Amazon EC2 instances. During upload requests, the website resizes the images to a standard size and stores the resized images in Amazon S3. Users are experiencing slow upload requests to the website.

The company needs to reduce coupling within the application and improve website performance. A solutions architect must design the most operationally efficient process for image uploads.

Which combination of actions should the solutions architect take to meet these requirements? (Choose two.)

    Correct Answer: C, D

    To reduce coupling and improve performance, images should be uploaded directly from the user's browser to Amazon S3 using a presigned URL, which bypasses the web server and reduces server load. Once images are uploaded to S3, S3 Event Notifications can invoke an AWS Lambda function to resize the images asynchronously, ensuring the resizing process does not impact the upload speed and keeps the operations efficient and decoupled.

Discussion
BuruguduystunstugudunstuyOptions: CD

To meet the requirements of reducing coupling within the application and improving website performance, the solutions architect should consider taking the following actions: C. Configure the application to upload images directly from each user's browser to Amazon S3 through the use of a pre-signed URL. This will allow the application to upload images directly to S3 without having to go through the web server, which can reduce the load on the web server and improve performance. D. Configure S3 Event Notifications to invoke an AWS Lambda function when an image is uploaded. Use the function to resize the image. This will allow the application to resize images asynchronously, rather than having to do it synchronously during the upload request, which can improve performance.

Buruguduystunstugudunstuy

Why other options are wrong Option A, Configuring the application to upload images to S3 Glacier, is not relevant to improving the performance of image uploads. Option B, Configuring the webserver to upload the original images to Amazon S3, is not a recommended solution as it would not reduce coupling within the application or improve performance. Option E, Creating an Amazon EventBridge (Amazon CloudWatch Events) rule that invokes an AWS Lambda function on a schedule to resize uploaded images, is not a recommended solution as it would not be able to resize images in a timely manner and would not improve performance.

Yelizaveta

Here it means to decouple the processes, so that the web server don't have to do the resizing, so it doesn't slow down. The customers access the web server, so the web server have to be involved in the process, and how the others already wrote, the pre-signed URL is not the right solution because, of the explanation you can read in the other comments. And additional! "Configure the application to upload images directly from EACH USER'S BROWSER to Amazon S3 through the use of a pre-signed URL" I am not an expert, but I can't imagine that you can store an image that an user uploads in his browser etc.

MutiverseAgent

About your comments regarding option B)... But if images are being saved directly to S3 instead of the EBS/SSD storage of E2 instances as they originally were, the new approach will reduce coupling and improve performance. Also you have to consider the security concerns about presign URLs as the question does not mention if users are public or private.

jdr75

presigned URL is for download the data from S3, not for uploads, so the user does not upload anything. C is no correct.

EricYu2023

Presigned URL can be use for upload.

PoisonBlack

https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html

AF_1221

preassigned URL is for upload or download for temporary time and for specific users outside the company

AF_1221

but for temporary purpose not for permanent

tuso

So? You only need a presigned URL for the moment you upload the image, not forever

AnhNguyen99

that's right

mauroicardi

A user who does not have AWS credentials to upload a file can use a presigned URL to perform the upload. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-presigned-urls.html

fkie4Options: BD

Why would anyone vote C? signed URL is for temporary access. also, look at the vote here: https://www.examtopics.com/discussions/amazon/view/82971-exam-aws-certified-solutions-architect-associate-saa-c02/

sheilawu

I agree with you. C seems a temporary solution if a download or upload demend is urgent.

slimenOptions: BD

pre-signed URL is temporary decoupling meas preventing server from uplaoding and doing the resizing at the same time so separating the processing into 2 parts (uplaod, then notify, then resize) is considered decoupling

numark

This is a social media company, so random users are uploading images. These are not employees. The signed URL has to be sent to the user and they only have a certain amount of time to use it. That's a disaster for a social media company. No way C is the answer. Lambda all the way.

MarcusLEKOptions: BD

while technically its possible to upload with pre-signed urls, its also worth mentioning that pre-signed urls have a time validity, so I think it might not be suitable to long term use. https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html#:~:text=User%20Guide.-,Expiration%20time%20for%20presigned%20URLs,-A%20presigned%20URL

MomenAWSOptions: BD

BD is more reasonable than CD

awsgeek75Options: CD

C: presigned URL can be used to upload images to S3 https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html D: scalable event processing for image resizing using lambda A: Glacier? B: Can work and maybe improves the performance also as the webserver is not resizing the image (if D is used in combination with this). However, C is better E: Irrelevant

creamymangosauceOptions: CD

CD - No point having the instance do extra work when we can use pre signed URLs and let the user directly upload to S3, hence B is not an operationally efficient option. Furthermore B results in more traffic through the instance which is inefficient.

jatricOptions: BD

C is not a valid option to upload the image is to have presigned url to retrieve the file/image from S3

soufiyane

BD is the answer, idk why anyone would choose c ?? pre-signed urls are for security pursoses

MikeJANGOptions: CD

GPT4 option B would offload the storage to S3 but still involves the web server in the upload process, which does not fully address the performance issues.

sirasdf

GPT4 is wrong. It does address the performance issue with the image processing will be done by lambda and not on the server

MikeJANG

GPT4 option B would offload the storage to S3 but still involves the web server in the upload process, which does not fully address the performance issues.

bujumanOptions: CD

B could be excluded because of these two points: - During upload requests, the website resizes the images to a standard size and stores the resized images in Amazon S3. - Users are experiencing slow upload requests to the website.

Wang87Options: AD

C is out of question as URL is not generated by user and highest validity is 7 days. So if user needs to access same file after 7 days it would be very troublesome.

awsgeek75

How is S3 glacier going to help with uploads?

Cyberkayu

based on decoupling requirement, Answer B still go thru Web server before drop the file into S3. Answer CD

pentium75

It's about decoupling upload and scaling process, the upload can still go through the web server, that's what a web server is for.

xplusfbOptions: BD

C section seriously nonsense. many logical args given for BD i'll not write again.

baggamOptions: CD

CD is correct