how would you design a solution to meet the above requi…

You are developing a new mobile application and are considering storing user preferences in AWS.2w This
would provide a more uniform cross-device experience to users using multiple mobile devices to access the
application. The preference data for each user is estimated to be 50KB in size Additionally 5 million customers
are expected to use the application on a regular basis.
The solution needs to be cost-effective, highly available, scalable and secure, how would you design a solution
to meet the above requirements?

You are developing a new mobile application and are considering storing user preferences in AWS.2w This
would provide a more uniform cross-device experience to users using multiple mobile devices to access the
application. The preference data for each user is estimated to be 50KB in size Additionally 5 million customers
are expected to use the application on a regular basis.
The solution needs to be cost-effective, highly available, scalable and secure, how would you design a solution
to meet the above requirements?

A.
Setup an RDS MySQL instance in 2 availability zones to store the user preference data. Deploy a public
facing application on a server in front of the database to manage security and access credentials

B.
Setup a DynamoDB table with an item for each user having the necessary attributes to hold the user
preferences. The mobile application will query the user preferences directly from the DynamoDB table.
Utilize STS. Web Identity Federation, and DynamoDB Fine Grained Access Control to authenticate and
authorize access.

C.
Setup an RDS MySQL instance with multiple read replicas in 2 availability zones to store the user
preference data .The mobile application will query the user preferences from the read replicas. Leverage
the MySQL user management and access privilege system to manage security and access credentials.

D.
Store the user preference data in S3 Setup a DynamoDB table with an item for each user and an item
attribute pointing to the user’ S3 object. The mobile application will retrieve the S3 URL from DynamoDB
and then access the S3 object directly utilize STS, Web identity Federation, and S3 ACLs to authenticate
and authorize access.



Leave a Reply 13

Your email address will not be published. Required fields are marked *


Shinobi

Shinobi

B: is the right answer, because you can get a unlimited throughtput on DynamoDB.
D: is wrong the S3 Bucket can handle up to 300 reads per objekt per second or it will be under permanent load.

Ahmed Shendy

Ahmed Shendy

I think it is D
it is more cost-effective

Calvin Yu

Calvin Yu

D

Per the pricing of DynamoDB https://aws.amazon.com/dynamodb/pricing/ ,
for Indexed Data Storage, DynamoDB charges an hourly rate per GB of disk space that your table consumes. i.e. as $0.25 per GB.

The storage of 5 million users with 50KB storage each, it is 250GB in total. Then the price for per month = 250 * 0.25 * 24 * 30 = $45,000 .
It looks too much .

Does that make sense ?

Calvin Yu

Calvin Yu

For S3 pricing: https://aws.amazon.com/s3/pricing/
First 50 TB/MONTH, $0.023 per GB per month.
The storage of 5 million users with 50KB storage each, it is 250GB in total. Then the price per month = 250 * 0.023 = $5.75 !

Dose that make sense ?

Calvin Yu

Calvin Yu

Please ignore that answer.

Indexed Data Storage, DynamoDB charges an hourly rate per GB of disk space .
$0.25 per GB is the monthly price, not hourly price.
Then the price per month for storage = 250 * 0.25 = $62.5 .
That hasn’t included the cost of Read and Write Capacity .

Simple Monthly Calculater could help on the calculation:
http://calculator.s3.amazonaws.com/index.html#s=DYNAMODB

Nagesh

Nagesh

B.
Setup a DynamoDB table with an item for each user having the necessary attributes to hold the user
preferences. The mobile application will query the user preferences directly from the DynamoDB table.
Utilize STS. Web Identity Federation, and DynamoDB Fine Grained Access Control to authenticate and
authorize access

uk

uk

B, s3 throughput is not as high as dynamodb