Amazon Interview Tips |Good vs Bad Answer Flashcards
While preparing to make your application scalable for a big traffic day? What two questions should you ask and what can you do once you have that information?
- What is the peak traffic that the application has to accommodate?
- How fast should we expect traffic to increase?
Once you that you should Pre-Warm load balancer based on peak traffic/ rate of traffic increase
How can you prepare Lambda in preparation for peak traffic?
If your peak requirement exceeds concurrency limits reach out to provider to request an increase in advance?
What is the benefit of running your applicaton on microservices in preparation for peak traffic?
Utilizing microservices allow you to scale each microservice up or down independently
How can you make your application running on EC2 is scalable for a big traffic day?
Use an ASG with an AMI that is lightweight and doesn’t take to long to spin up.
How can you prepare your databases in preparation for peak traffic?
If SQL use read replicas to improve read performance or place Elasticache running Redis in front of it.
If using DynamoDb use DAX instead of Elasticache. Being that it’s fully managed make sure to turn on on demand.
How can you run website on cloud?
Use S3 if your website is just a collection of static files which don’t change very often
Use AWS Lightsail (Not Serverless) can only work with the computing power that you have purchased - there is no automatic upscaling. Like EC2 or AWS Lambda
You can also deploy on AWS Elastic Beanstalk if you need to host a dynamic website
What is the difference between SQL and NoSQL?
SQL has a predefined Schema: database schema as a type of data structure. It represents the framework and arrangement of the contents of an organization’s data.
Where NoSql schemaless:
No data modeling and upfront planning
No complex schema changes
Very fast iteration — quick to experiment, build and mock up new solutions
How do you secure your application on cloud?
Rest, Transit, Authenticatoin, Authorization,
Use KMS to Secure data at Rest: for more control use Customer Managed KEys
Use AWS Certificate Managaer & SSL for encrypting data in transit
If data should not be on internet use VPC endpoints
IAM accounts, groups, roles, and policies to limit access
Also Cognito User Pools and Identity pools