Terraforming a Blog: The Setup
Why engineer something when you can overengineer it? As I am just getting back into cloud, I looked up many different videos and articles about how I should learn cloud engineering. The first one that caught my eye was to start a blog site. There are tons of good options to start a blog with, but I decided why not try to create one myself as an initial project. I also hate writing and never know…
Overengineering a blog can yield valuable lessons in cloud engineering. Engineer a blog site to learn cloud engineering. A blog can provide content for learning. GitHub Actions trigger on changes to GitHub. The actions build the site and push it to S3. The site is then distributed via CloudFront. AWS resources are allocated via Terraform.
S3 is where the website is hosted. Terraform state is managed by AWS. CloudFront provides CDN for the site. ACM provides TLS certification for CloudFront. Route 53 manages DNS and domain for the site. AWS Budgets provides cost alerts. IAM controls access to AWS resources. SSO provides temporary access to run Terraform. Deployment pipeline automates site updates.
GitHub Actions build the site when pushed to main branch. The site is then synced to S3. CloudFront invalidates cached content to ensure up-to-date site. Understanding cloud engineering is beneficial even for non-techies. The setup requires cloud knowledge but provides hands-on experience. The ultimate benefit is control over the site and the ability to scale.
Free tier managed services have limits, requiring additional spending for higher tiers. Security and dynamic sites are not covered in this setup. The next steps include improving the site and blogging about the setup. Further details about OIDC bug fix will be covered in a future blog post. This setup is useful for learning cloud engineering and teaching others.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.