Which solution meets these requirements with the MOST scalability?
Upload files from the user’s browser to the application servers. Transfer the files to an Amazon S3 bucket.
Provision an AWS Storage Gateway file gateway. Upload files directly from the user’s browser to the file gateway.
Generate Amazon S3 presigned URLs in the application. Upload files directly from the user’s browser into an S3 bucket.
Provision an Amazon Elastic File System (Amazon EFS) file system. Upload files directly from the user’s browser to the file system.
Explanations:
While this option allows users to upload files to application servers and then transfer to S3, it introduces a bottleneck by requiring the application servers to handle uploads, which can limit scalability during peak times.
Using an AWS Storage Gateway file gateway does not provide the best scalability. It requires additional management overhead and is not optimized for handling direct uploads from users’ browsers efficiently compared to other options.
Generating presigned URLs allows users to upload files directly to an S3 bucket from their browsers, bypassing application servers. This approach significantly increases scalability as S3 can handle high levels of concurrent uploads, especially during large events.
Uploading files directly to Amazon EFS from users’ browsers is not recommended for scalability. EFS is not designed for high-throughput concurrent uploads, and managing file systems can introduce complexity and latency during high demand.