Showing posts with label step by step system design architecture Amazon. Show all posts
Showing posts with label step by step system design architecture Amazon. Show all posts

Wednesday, April 28, 2021

System design: Introduction to AWS Services | Step by step system design FB.COM

April 28, 2021

Here is the link. 


  1. private network - webserver, VM - IP 
  2. application server - business logic - different people - take care of that
  3. relational database - DB - 
  4. First start from three tier architecture
  5. - web server -> bottom neck -> scale -> horizontally -> bring multiple VM web server and app server 
  6. bring load balancer -> distribute work to web server properly 
  7. Add DNS - fb.com
  8. Relational database -> not scalable -> add NoSql DB (Cassandra, MongoDB)
  9. DB - read heavy - add one more layer called DB Cache (Redis) - Figure 1


Figure 1

  1. Images on web server -> external storage -> Content filter ( nudity, ads products you likes, recommendation, friends, called click stream analysis 
  2. Click stream analysis - like twitter - further store external storage -> data operation -> aggregation -> Hadoop/ Spark platform -> End of year, data analytics -> business intelligence - Figure 2
Figure 2 - add external storage, click stream analysis, content filter


  1. Add web browser to watch external storage - like videos shared on storage
  2. Watch video on mobile device, different format -> video convert in-between, add mobile users
  3. Millions of users watch video, bottleneck -> CDN -> content deliver network -> Content delivery network (Cache) - Figure 3

  1. Add some notification service, like SMS mobile push notification, email - activities, further chat with friends, add message queue, enable FIFO service. This is bare minimum social application. Figure 4



How to convert to Amazon AWS service?

  1. Private network -> VPC
  2. VM -> EC2, auto scaling feature, up to 10 and then down to 2
  3. DB cache -> ElastiCache
  4. DB -> RDS, noSQL -> DynamoDB
  5. DNS service -> Route53 - fb.com 
  6. Storage service -> S3
  7. Content filter -> Rekognition 
  8. video convert -> mobile friendly format -> Lambda, Lambda - excute the function
  9. click stream analysis -> Kinesis 
  10. Hadoop platform -> EMR, spark job and hadoop job
  11. ETL operation -> Glue 
  12. Data warehousing -> Redshift 
  13. Business intelligence -> Amazon using Athena, quicksight 
  14. Content delivery netowkr -> CloudFront, Edge location - nearest location
  15. mobile notification -> SNS
  16. email -> SES
  17. message queue -> SQS (simple queue service)
  18. Monitoring board -> CloudWatch
  19. AWS application services -> API calls -> REST API -> API Gateway 
  20. Cognito - Web and mobile user management 
  21. Security service -> access of AWS -> IAM service -> identity and access management
  22. KMS -> encrypt - key management service 
  23. Https -> transactions -> digit certificate 
  24. ACM -> Amazon certificate manager 
  25. WAF -> Firewall -> attacks, cross site script, injection 
  26. EC2 -> AWS inspector -> Scan machine for any vulnerabilities 
  27. AWS development and DevOps services 
  28. take 2 - 3 days to setup 
  29. CloudFormation - template - JSON, YMAL for you, create 30 minutes for you all resources for you
  30. Developers, DevOps, QA -> Codecommit -> IaaC -> cloudFormation -> CodeBuild -> CodeDeploy -> Continuous deployment pipelines ->CodePipeline -> CodeStar - project management issue Tracking Continuous Delivery 

  1. Figure fb.com on AWS