<
First Post with Astro

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?

  1. Framework / Programming tools
  2. Platform what we want to use
  3. 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,

  1. List Post & Blog Post
  2. Social Menu
  3. Bilingual
  4. Share Button
  5. Newest Post
  6. About Me
  7. Search
  8. Tagging
  9. Like Count
  10. Subscribe Email
  11. Comment

That's it, what I do right now. Next post I'll update about detailed infrastructure first. Stay tuned guys!