AWS Certified Data Engineer Associate · Free Practice Question Medium

Question 60

A company is building a serverless image processing pipeline using AWS Lambda and Amazon S3. When an image is uploaded to an S3 bucket, it triggers a Lambda function that resizes the image into different resolutions (small, medium, and large) and stores the resized images back into the S3 bucket under different folder paths. However, the company has encountered issues with Lambda's memory limits and timeout errors when processing large image files.

To optimize this image processing pipeline while maintaining a serverless architecture, which of the following steps should the company take? (Choose THREE.)

  • A

    Increase the memory allocation for the Lambda function to speed up processing.

  • B

    Implement AWS Step Functions to orchestrate multiple Lambda invocations for handling each image resolution.

  • C

    Use AWS Fargate instead of Lambda to handle large image files and process them outside of the serverless architecture.

  • D

    Enable Amazon S3 Transfer Acceleration to reduce the upload and processing time for large images.

  • E

    Use Amazon S3 multipart uploads to split large images and process them in chunks within the Lambda function.

  • F

    Split the Lambda function into multiple smaller functions, each handling a specific image resolution (e.g., small, medium, large).

Reveal correct answers

Correct answers: A, B, F

A.

AWS Lambda functions benefit from higher memory settings as they also increase available CPU, which will improve the function's performance for processing large images.

B.

Step Functions allow the orchestration of multiple Lambda functions into a workflow. Each function can handle one part of the image processing task, ensuring the system scales efficiently without hitting execution limits.

C.

Fargate can process larger workloads, it would move away from a purely serverless architecture. Lambda should remain the preferred choice if the company wants to maintain a fully serverless setup.

D.

S3 Transfer Acceleration speeds up uploads to S3 but does not directly improve the processing speed or memory management of Lambda for image processing tasks.

E.

Multipart uploads are useful for uploading large files to S3 but are not typically involved in the processing of images within Lambda functions. Lambda works with objects after they are fully uploaded, so this approach does not solve the issue of processing large images in memory.

F.

By separating the image processing tasks into multiple Lambda functions (one for each resolution), the company can optimize execution times, avoid memory exhaustion, and limit the likelihood of timeout errors.

Discussion

Think the marked answer is wrong, or have a better explanation? Share it below — comments appear after review.

You must be logged in to post a comment.

Preparing For

Your Certification?

255+ certifications
Detailed explanations
Free PDF samples

Has All The Questions You Need