First Post with Astro
After a year without blogging, let me continue to write weekly some infrastructure & architecture idea. My new blog technology using Astro. It's more powerful & also cheaper / almost zero$ btw :')
Let me explain how I build this blog and how to maintain it.
Before it, we need System Design Interview
as usual
Q: What's feature do you need for your blog?
Me: I need blog with bilingual language (English & Bahasa Indonesia), search, tagging, and also SEO friendly.
Q: What's the traffic you can provide?
Me: Maybe 10-100k traffic monthly.
Q: How much do you want to spend in your blog?
Me: I want cheapest under 20usd monthly.
Q: Do you have feature for running continous?
Me: Nope, no feature needed for automate / scheduling.
Q: How often are you to maintain this site?
Me: Maybe when I need to post new article only, don't want to confuse with infrastructure issue.
From this interview, we have some knowledge about features what I need to have & build. I need a blog system with 100k traffic, cost under 20usd, don't have cron, and hassle-free about infrastructure. So, my purpose using static blog and better using serverless architecture.
What's we need to do now?
- Framework / Programming tools
- Platform what we want to use
- Feature Priority
Framework
After searching and compare, I've 3 candidate frameworks (based on my opinion & experience).
Framework Name | Nuxt3 | Qwik | Astro |
---|---|---|---|
Support Markdown | ✓ | ✓ | ✓ |
Experience Before | ✓ | ✗ | ✗ |
Performance | III | I | II |
Configuration | II | III | I |
Learning Curve | I | III | II |
Hype in Early 2023 | III | I | II |
*My background is Backend Engineer and don't have experience of ReactJS.
Choose Astro as the framework, just because I want to try it :)
Platform
For platform, I need simple manage, reliable, and the lowest cost.
Platform | AWS Lambda | Vercel | DigitalOcean |
---|---|---|---|
Deployment | III | I | II |
Maintain | III | I | II |
Experience Before | ✓ | ✓ | ✗ |
Performance | I | III | II |
Pricing | II | I | III |
Why AWS Lambda is faster than others? They have a Singapore region & I lived in Southeast Asia.
Why is Vercel cheaper than others? For now, they're free & backup with Cloudflare for caching.
Feature Priority
We've some features what's needed. The next step is reorder priority.
Feature | Urgent | Important |
---|---|---|
List Post | ✓ | ✓ |
Blog Post | ✓ | ✓ |
Bilingual | ✓ | |
Search | ✓ | |
Tagging | ✓ | |
Like Count | ||
Newest Post | ✓ | |
Share Button | ✓ | |
About Me | ✓ | |
Social Menu | ✓ | |
Comment | ||
Subscribe Email |
From above, we can set better priority based on urgent & important point,
- List Post & Blog Post
- Social Menu
- Bilingual
- Share Button
- Newest Post
- About Me
- Search
- Tagging
- Like Count
- Subscribe Email
- Comment
That's it, what I do right now. Next post I'll update about detailed infrastructure first. Stay tuned guys!