Skip to content

MyBlog.com

  • This website should scale globally.
  • Blogs are rarely written, but often read.
  • Some of the website is purely static files, the rest is a dynamic REST API.
  • Caching must be implemented, where possible.
  • Any new users that subscribes should receive a welcome Email.
  • Any photo uploaded to the blog should have a thumbnail generated.

Solution

  • Static content being distributed using CloudFront with S3.
  • REST API was serverless, didn't need Cognito because public.
  • Global DynamoDB table to server the data globally.
    • Aurora Global database also a valid option.
  • Enabled DynamoDB streams to trigger a Lambda function.
  • Lambda function had an IAM role which could use SES.
  • SES was used to send emails in a serverless way.
  • S3 can trigger SQS / SNS / Lambda to notify of events.

User Welcome email flow

Pasted image 20230605173129.png

Thumbnail Generator flow

Pasted image 20230605173313.png