🐕

【脱Heroku】そろそろ(Railsとかホストしたい)個人開発に向いたPaaSを決めようぜ

2022/12/10に公開約2,400字

以前、こんな記事(Herokuの無料プランが終わるので、移行先を探してみた)を書きましたが、ちゃんと比較検討したものではなかったので、改めて4つくらいのPaaSを比較してみて、より個人開発に向いたPaaSについて検討してみました。

今回比較したのは以下です。

前提条件

選定にあたって以下の前提条件を設定しました。

  • Dockerが使える
  • 1ヶ月寝ないで稼働してくれるアプリケーションサーバ
  • 512MBのメモリ
  • バックグラウンドワーカーを建てられる
  • DB(PostgreSQL or MySQL)が使え、データが消えない
  • Redisを建てられる
  • 定期実行ジョブを作成できる(cron)
  • 個人開発は数を打つ戦略が有効なのもあるし、なるべく安いと嬉しい

この記事では割引を除いた金額を出します(割引については補足に書きます)

Heroku ($22/月)

月額
アプリケーションサーバー $7
バックグラウンドワーカー $7
DB (mini) $5
Redis $3
定期実行 (HerokuSchedular) $0

結構しますね。
ただディスカウントがあります。Eco Dynoというのがあり、最初の1000時間は$5でアプリケーションサーバーを建てられるので、最初の1アプリは $20/月 で運用できます。

Render.com ($22/月)

月額
アプリケーションサーバー (Hobby) $7
バックグラウンドワーカー $7
DB $7
Redis $0
定期実行 $1~ (従量課金)

Render.comも安くはないです。
条件をつければ安くなりますが、受け入れられる条件かどうかは判断が必要です。

  • アプリケーションサーバーは$0で利用可能ですがアクセスがなくなると寝ます(次回アクセス時起動に時間がかかる)
  • DBは$0で利用可能ですが90日経つと削除されます

自分の個人開発アプリREVELUPはRender.comで運用しています。

Railway (約$10?~/月)

月額
アプリケーションサーバー $0~
バックグラウンドワーカー $0~
DB $0~
Redis $0~
定期実行 $0~

従量課金で、ちょっとPricingが分かりづらいです。
メモリを512MBにする方法はわかりませんでした。自動でスケールする感じでしょうか...?
実際にデプロイしてみたのですが、CPU利用がない場合は$0で行けるということですが、全くの$0と言うのは難しそうで、大体$10くらい見込んでおけば良さそうな感じでしょうか(1月でそのくらいの見積もりでした。利用頻度やユーザー数で違うので参考までに)
これだけ立てて$10/月はだいぶお得で、サービス自体も使いやすく気に入りました。

また、毎月$5のクレジットがチャージされるので、最初の1アプリは $5 程度におさまります。

こちらの記事で書いてある個人開発サービスはRailwayにデプロイして動いています。
https://qiita.com/shwld/items/14bbe56ff2881b031c26

Fly.io (約$9?/月)

月額
アプリケーションサーバー $3.19
バックグラウンドワーカー $1.94
DB $1.94
Redis $0
定期実行 $1.94

Fly.ioも安いと思いました。
$9程度でこれ全部作れそうなのでお得です。

また、最初の3VM(最低スペック)は無料で利用できます。
なので、最初の1アプリは $3 程度におさまり最強に見える。

ただ個人的にはdeployがちょっと繊細で、設定やバージョンによってはすんなりとデプロイできないことがありました。
また、cliの利用を前提としており、すべてGUIでできるというわけではありません。このあたり好みが分かれそうだなと思います。

また、この記事が参加しているアドベントカレンダーにFly.ioの記事があるので、参考にどうぞ
https://qiita.com/kmkkiii/items/f07803ddaab267e1a407

Koyeb ($10.8/月 + α)

月額
アプリケーションサーバー $5.4
バックグラウンドワーカー $2.7
DB なし
Redis なし
定期実行 $2.7

DBとRedisを別途調達する必要がありそうです。
あまり調べきれておらず、参考程度に...

最後に

自分はRailwayが気に入りました。従量課金でサーバー建てられるのは最高ですね。
今後こいつを使っていこうと思います。

Discussion

ログインするとコメントできます