Heroku有料化の対策を考える【2022年11月28日よりHerokuPostgres(9ドル)、HerokuDynos(7ドル)の有料化】
2022年8月26日、メールボックスを見るとHerokuからメールが届いていた。内容は下記。
まとめると、こうなる
- 2022年11月28日からHerokuの一部サービスで無料プランが無くなる
- 対象はHerokuDynos、HerokuPostgres、Redisの3つ
- 有料化以降、WEB(7$)+DB(9$)のウェブアプリをデプロイする時、一ヶ月につき16$支払う必要がある
さあ困った。
これまでHerokuは無料で気軽に利用できていたが、今後は一切それが許されなくなる。
そこで代替案をいくらかまとめておく
代替案1:AWSを使う
AWSは従量課金制なので、有料化されたHerokuよりコストが高くなると思われがちだが、実際はそうでもない。
一番安いプランで作ったとしても、月にかかるお金はせいぜい数百円。しかもアカウントを作って1年間は条件付きで無料。
Herokuと違って少なくとも月に16ドルで2176円以上(1ドル136円の場合)になるということはない。
使い方を誤らなければ、AWSで数万円単位の請求が来ることはないのだ。使い方を誤らなければ。
参照: AWSでなるべくお金がかからないようにウェブアプリを運用する方法
ただ、デプロイはそれほど簡単というわけではない。
Linuxの知識は必要になるし、NginxやPostgreSQLなどのミドルウェアの設定は自分でやらないといけない。
それだけでなく、普段、統合開発環境で開発をして、vimなどのエディタを全く触っていないと、ここで詰む。
ちなみに、AWSはアカウント作成から1年間は無料で利用できる。
アカウントを作り直すこともできるので、1年ごとに作り直せば半永久的に無料で利用できる。(ただ、いつまでそれが許されるかわからないが)
代替案2:自宅サーバーをインターネットに公開する
WANからLANへのアクセスをルーターに許可させる。
インターネット側からアクセスできるようにするので、当然セキュリティとネットワークの知識が必要。
常時稼働させるならハードウェアの騒音と冷却も考慮しないといけない。
結果的にセキュリティ、ネットワーク、ハードウェア、インフラ、幅広い知識が要求される。
代替案3:フロントだけで動作させる
GitHubPagesやNetlifyなど、フロントサイドだけで動作するホスティングサービスはまだまだ健在である。
よって、サーバーサイドとデータベースを排除して、フロントサイトだけでウェブアプリを作ればよい。
できることは限られるが、データベースに保存していたデータをCookieに保存し、サーバーサイドの処理をJavaScriptで再現させる。
これを機にJavaScriptのフレームワーク(Vue.js、React)に手を出すのも一考かと。
結論
Herokuは無料で簡単にウェブアプリをデプロイできる点で有利だった。
だが、今回のHeroku有料化で、コストを押さえたいのであれば、相応の知識や技能が要求されることがはっきりとわかった気がする。
AWSや自宅サーバーの公開は初心者にはあまりにも荷が重すぎる。とは言え、それができないのであればお金を支払うしかない。
コストと知識は等価交換。だからこそ、低コストにするためにも、もっと勉強しなければ。
むしろ、何でもお金で解決しているようでは、いつまで経ってもレベルアップできないということはではなかろうか?