The Bandwidth Bottleneck

A mobile app uploads 200MB videos by POSTing them to your API servers, which then forward the bytes to S3. The API tier is now saturated on memory and egress even though it does almost no work per request. Which change removes that traffic from your servers safely?

A

Have the server return a short-lived presigned PUT URL and let the client upload straight to the bucket

B

Embed long-lived IAM access keys in the app binary so it can write to the bucket directly with no server hop

C

Make the bucket publicly writable so clients can PUT objects anonymously without credentials

D

Have clients upload to the CDN edge and let the CDN copy each finished file into the bucket in the background