前書き
Freeプランがなくなって、ちょっとした個人開発物の置き場をHerokuから他のサービスに移した方はいらっしゃいますか?いらっしゃいますね?
私も一度はHerokuに置いていた自分用ツールをLightSailに移してHerokuの個人利用から離れたのですが、結局Eco dynoプランに出戻って参りました。
Eco Planは月額5ドルです。5ドルでどれだけのことができるのでしょうか。
そもそもHerokuって何?
HerokuはSalesforce社の提供するコンテナベールのクラウド型PaaS(サービスとしてのプラットフォーム)です。
Herokuを利用することで、ミドルウェアを意識せずともWebアプリを実行、公開することができます。
Eco dynoプランの概要
月額5ドルで1アカウントにつき月1000時間、HerokuのDynoを利用できるプランです。
複数のアプリを跨いだ利用も可能で、残時間は全てのEco dynoで共有されます。(全アプリで月1000時間を共有する形)
また、Eco dynoは30分アクセスがないと自動的にスリープされるためアプリが使用されていない無駄な時間はカウントされないようになっています。
1000時間を使い切った場合は翌月までEco dynoの利用が停止されるようです(使い切ったことがないた未確認)。
かつてのFreeプランと同じようなルールですね。
1アプリを常時起動していたとしても10日分ほどのDyno時間が残ります。
私はアシスタント用のDiscordアプリを一つ常時起動、その他のお試し開発用のアプリは都度起動/停止しながら利用しています。
結局何が便利なの?
実行環境構築がラク
ここに尽きます。とにかく楽なのです。
開発言語に応じたBuildpacksを指定するだけで、標準的な実行環境の構築が完了します。
Python, Node.js, PHP, Ruby, Go, Java等主要な開発言語は公式サポートされており、特殊な構成でなければコードだけ書いていれば良いようになっています。
GitHub連携でデプロイがラク
Heroku Pipelinesを使用するとmainブランチにプルリクエストを出したタイミングで変更内容が反映されたReview Appsが自動起動、マージを行うとmainブランチの内容がStaging環境に反映され、PromoteボタンでPromote、といったキチンとしたCI/CDが実現でき便利なのですが、App単体でもGitHubと連携して、指定ブランチに変更があったタイミングで自動デプロイを走らせることができます。これが地味に有用です。
One-off Dyno(heroku run)が便利
アプリ(Web Dyno)とは別に、heroku runで立ち上がるOne-off Dynoでスクリプト等の実行が可能です。
実行時間分しかカウントされないので、軽いスクリプトであればほとんどDyno時間を消費しません。
Heroku Schedulerも便利
heroku runをスケジュール実行するためのアドオンです。
予定や天気のDiscordへの通知等、Pythonで書いたスクリプト群を定時実行しています。
Eco Dynoプラン、おすすめです。
これだけのことが5ドルで実現できるなら、かなりお得なのではないでしょうか。
なんだか夏に書いたnoteの焼き直しのような記事になってしまいましたが、Herokuの賑わいの一助となれば幸いです。