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




No comments:

Post a Comment