Note

3年後の自分のために書いています

無料にこだわる個人開発アプリ・システム構成

[2024/02/26 Update]

Vercel もDB 提供するようになったし、Planetscale や Supabase も出てきてます。この記事の内容は古いので鵜呑みにしないでください。

[2022/08/26 Update]

Heroku 有料になりましたね、、無念。


チラシの裏的な記事です。やっぱりなるべく無料にこだわりたい。

Next.js + Vercel + DynamoDB

  • Vercel と DynamoDB の間に API Gateway と Lambda 挟むパターンだと API Gateway で課金される
  • 実装例 https://github.com/leerob/nextjs-aws-dynamodb
  • Vercel は個人的かつ非営利目的なら無料プラン利用可能
  • Vercel の Serverless Functions はめちゃ便利
    • 現状だと Node.js (TypeScript), Go, Ruby, Python が使えるけど、フロントエンドとの型定義の共有とかサポートの優先順位考えると素直に TypeScript 使っとくのが良さそう

Node.js or Rails アプリ + Heroku + Heroku Postgres + Heroku Redis + その他アドオン

  • Heroku やっぱ強い
  • 他言語のアプリも載せられるけど(自分の使える言語の中だと)Node と Ruby のサポートがいい
  • 無料の場合スリープモードへの対策が必要
  • Next.js は単なる Node アプリなので Heroku にデプロイすることもできる(パフォーマンス的な意味での Next.js の良さは削がれる)

Create React App or Next.js (Static HTML Export) + Firebase Hosting + Firebase Authentication + Firestore + Cloud Storage

  • Firebase に全部のっかるパターン、クライアントアプリは Firebase Hosting でホスティングしなくてもいいけど
  • Firebase Authentication や Firestore などは単体でも便利なのでそこだけ切り出して Vercel(やその他サーバ)と繋げるのもあり
  • Cloud Functions 使えば外部 API も叩けるけど Blaze プラン必要

Dockerfile + Cloud Run

GAE (Google App Engine)

  • Google だし Go と相性いいのかしら(よくわかってない)

番外編「静的 Web サイトをホスティングするなら」

[2024/02/26 Update]

今なら Cloudflare Pages かなぁ


  • 現状だと Netlify が一番好き
  • GitHub Pages 好きだったけど Netlify と比べると反映遅いし、Firebase Hosting や Vercel を静的サイトのホスティングに使うのは何かオーバースペック感ある

感想

  • やはり個人開発には Vercel, Heroku, Firebase 辺りが強い味方
  • フロントエンドは Create React App と Next.js で迷ったら Next.js 使っとけばいいかな(静的サイトの場合でも)、と思ったけどまだ迷い中
  • とりあえず無料で個人開発するには無料で使えるサーバと DB(またはその代替となるもの)を見つけるのが鍵っぽい
    • 要件的には外部 API を叩けることと任意のデータを永続化できること、かな

参考