Serverless Online Profile on AWS
3 min read
In the past couple of days, I worked on building an online profile for myself partially guided by the #CloudResumeChallenge requirements. I highly recommend it.
Here's what I have done:
Online profile infrastructure, meaning the S3 bucket, Route53 records, CloudFront Distribution. This is where I shine. I did this all in Terraform. Super proud of this because midstream I decided to change my domain name, and all I had to do was a
terraform applyto recreate everything afresh (em ... not exactly though, I had to first empty the s3 bucket). See code.
Online profile API, including Lambda, DynamoDB, REST API Gateway and the Python code. I really spent time thinking on what direction to take for this one: AWS SAM, CDK, Serverless Framework or my true love, Terraform. Well, you can guess what I went with. Everything was implemented in Terraform, except for the actual lambda function code in Python, and once again, it requires only two commands to tear it all down and bring it back up again (I love this!). Unit tests for the Lambda function code was also written in Python with the help of pytest and moto (powerful library), with CI using Github Actions. See code.
You can see what the site looks like here.