Funny. I migrated the website to Netlify + GraphCMS. Maybe the old ones are the best ones.
Well, there were some reasons.
Cloud function startup time
Recently I help a guy building a mini site with Firebase Cloud Functions. The cold startup time is really a problem hmm. So I googled and found this chart on this page.
Netlify Functions are behind AWS Cloud Functions. Based on this chart it may have shorter startup time, which helps loading content faster.
A better CMS
Another reason moving away from Firebase DB (Firestore) was I was about to move the old blog editor to the new site and make a CMS. It'll be fun to build a CMS but I think it's better to use an existing mature solution. So GraphCMS came to my mind.
Cloud functions or RESTful
The site had a RESTful API wrapped in Firebase Cloud Function. This time I used plain cloud functions. It does the same job as RESTful API - just serve data. I think for small website like this it doesn't really matter which solution is better to go with. For me, using cloud functions is just to experience something new. I find it easy to manager. However, it's a bit uncomfortable to deal with http requests. With Express, it's easier to get URL params, request headers, and map slug to a route parameter.
Which tech stack is better
The one suits me is better. So it's important to define suitable. Some factors can play major role.
It's actually the easiest point to figure out according to project requirements. So I need clear and detailed requirements to make decision.
It was very difficult to edit data directly in Firestore. Hence I wanted to build a CMS for myself but gave up due to time cost. GraphCMS offers data storage with friendly UI, which is the most suitable solution for me.
It's actually about time cost too. Sometimes I'd like to use new and cool stuff. But clients won't pay for the time I learn and try. So I choose tech stack competently. It's the reason I try out new stuff with small projects of my own so it'll help me to pick suitable solutions for real-life projects.
Pricing can also play a major role. Both of Firebase and Netlify offer free quota which should be enough for my website. Who doesn't love free and good stuff. Even if it goes over free quota it won't likely charge much. So the monthly cost is lower than traditional web hosting and VPS. But when the number of visit, storage and request grows, cloud hosting, VPS or web hosting can be preferable. It's a matter of calculation.