Herokuを無料でフル活用する方法

Herokuを無料でフル活用する方法Heroku
ゆうすけ
ゆうすけ

Herokuって無料だと何ができるの・・・?

資格マフィア
資格マフィア

Herokuは無料プランでも様々なことができる。
アプリケーションをデプロイして、
運用するところまで無料でできるぞ。


✔️ 本記事のテーマ

Herokuで無料で使える機能とデプロイ方法

 

✔️ 読者さんへの前置きメッセージ

本記事は「Herokuを無料でフル活用する方法」について書いています。

 

この記事を読むことで「Herokuを使うことで、コストを抑えて、Webサービスを運用すること」をイメージできるようになります。

 

Herokuは、無料プランも用意されている個人開発向けのWebサーバーです。

 

DjnagoやRuby on Railsなどとの親和性も高く、スピード感のある開発を可能にします。

 

この記事では、そんなHerokuで無料で使える機能や使用手順を解説していきましょう。

 

Herokuの無料プランで出来ること

Herokuの無料プランで出来ること

結論から言うと、Herokuは無料プランでもたいていのことはできます。

 

基本的に無料プランと有料プランとの大きな違いは、どれだけのアクセスをさばけるかと言う点です。

 

無料プランにも制約がありますが、この制約は少しの工夫で回避できます。

(後述の「Heorkuの無料プランの制約」で解説します)

 

たしかに大規模なシステム開発では無料プランではやや心もとないですが、個人開発なら無料プランで十分でしょう。

 

特にリリース初期は、心配しなくてもアクセスなんて大して多くないです。

 

万が一、バズってアクセスが多くなったら、そこで初めて有料プランに切り替えれば良いのです。

 

ちなみに、有料プランへの切り替えは随時行うことができます。

 

むしろHerokuの強みは無料でアプリケーションを運用できること

むしろHerokuの強みは無料でアプリケーションを運用できること

個人的にHerokuの一番の強みは「無料で、アプリケーションをWeb上に公開して、稼働させることができる」ところだと思っています。

 

AWSにしろ、Xサーバーにしろ、有名なWebサーバーは使うのにお金がかかります。

 

アプリケーションを運用するためのコストは低いに越したことはありません。

 

特にリリース初期は収益も発生しません。
個人開発で細々とやるなら、サーバー代は抑えたいところです。

 

Herokuなら、作ったアプリケーションを無料でWeb上に公開できるので、オススメです。

 

なお、Herokuを使って無料でサービスを作る方法については
Django + Heroku のセットで無料でサービスを作る」の記事でも解説しています。

 

Herokuは無料だがやや開発者(エンジニア)寄り

Herokuはやや開発者(エンジニア)寄り

Herokuはコマンドベースで操作します。

 

ブラウザから操作できるGUIな部分もありますが、
基本的にはHerokuへのデプロイはCUIで行います。

 

Gitと連携して、プッシュやアプリケーションのデプロイを行うので、Gitへの知見がない方には少しその難易度が高く感じるかもしれません。

 

ここら辺が、Herokuがメジャーになりきらない点だと思っているのですが、エンジニアならGitは避けられないツールなので、Gitについての知識はつけておきましょう。

 

Gitを最低限使えるなら、Herokuは非常に便利なWebサーバーです。

 

また、HerokuはPythonとの親和性が高いサービスなので、
その点もエンジニアにとってはメリットの一つと言えるでしょう。

 

なお、HerokuとPythonの親和性については
HerokuとPythonは相性が良いという話」の記事でも解説しています。

 

Heorkuの無料プランの制約

Heorkuの無料プランの制約

Herokuの無料プランには大きく2つほどの制約があります。

 

ただし、結論から言うと、この制約は少しの工夫で回避することができます。

 

詳しく解説していきましょう。

無料プランでは550 時間/月しか使えない

Herokuの無料プランはデフォルトのままだと月に550 時間分の Dyno 時間しか与えられません。Dyno時間とはここでは解説を省略しますが、ざっくり言うとアプリ稼働時間だと捉えてOKです。

 

単純計算で、30 日 × 24 時間 = 720 時間 なので、
1ヶ月フル稼働させようとすると無料プランでは足りません。

 

ただ、これはクレジットカードを持っていれば解決できます。

 

無料プランでもクレジットカードをアカウントに登録すると、450 時間/月 の 無料 Dyno 時間が加算され、合計 1,000 時間/月 まで使えるようになります。

 

無料プランでもクレジットカードを登録さえしておけば、
アプリケーションをフル稼働させることができます。

30分アクセスが無いとアプリがスリープしてしまう

無料プランでは 30分アクセスが無いとアプリがスリープしてしまいます。
これにより、次回アクセス時にアプリが立ち上がる時間分、
レスポンスが遅く なってしまいます。

 

ただ、これは Heroku Scheduler で解決できます。

 

Heroku Scheduler とはHerokuの機能で、指定したコマンドの定期実行を可能にする機能です。Heroku Scheduler でアプリのURLに対してcurlコマンドを実行することでアプリを落とすことなく稼働し続けることが出来ます。

 

このように、無料プランによる制約は基本的に回避可能なので問題ないです。

 

Herokuの無料デプロイ手順(Django)

Herokuの無料デプロイ手順(Django)

Herokuのデプロイ手順はコマンドベースで行います。

 

最初は少しややこしく感じるかもしれませんが、一度覚えれば、サクサクできるので簡単です。

 

順番に、作業手順を解説していきましょう。

 

これ以降の手順はPythonのDjangoアプリケーションのデプロイを前提に記載しています。

 

なお、Django の使い方については
Djangoの使い方【Pythonフレームワーク】
の記事で詳しく解説しています。

 

必要なライブラリのインストール

プロジェクトがHeroku上で稼働するために必要なライブラリをインストールします。

pip install gunicorn django-heroku

実行環境ファイルの追加

プロジェクトの実行環境をHerokuに伝えるファイルを
プロジェクトディレクトリ直下に作成します。

 

runtime.txt

Pythonバージョンを記載するファイルです。

 

以下のように記載すればOKです。

python-3.6.6

Procfile

Herokuプロセスの起動コマンドを記載するファイルです。
<your-project-name>は自身のプロジェクト名に読み替えて下さい。

 

以下のように記載すればOKです。

web: gunicorn <your-project-name>.wsgi --log-file -

requirements.txt

依存パッケージのリストを記載します。
pip freezeコマンドの出力結果をそのままファイルにしましょう。

pip freeze > requirements.txt

プロジェクトの設定ファイルの修正

以下のように、settings.pyのDEBUG = Tureの部分を本番運用向けに変更します。

DEBUG = False

Gitでコミット

Gitでローカルリポジトリの作成 & コミットを行います。

 

以下のコマンドを順に実行していけばOKです。

git init                                
git config user.name "Your Name"        
git config user.email you@example.com   
git add .                            
git commit -m "first commit"

Herokuコマンドでデプロイ

HerokuコマンドでHerokuにデプロイします。
heroku loginコマンド実行時にブラウザが立ち上がり、Herokuの認証を求められます。

 

ログインした後、ブラウザを落とさずにターミナルに戻ると後続の作業が行えます。

 

以下のコマンドを順に実行していけばOKです。

heroku login
heroku create <your-app-name>
git push heroku master
heroku ps:scale web=1
heroku run python manage.py migrate

Herokuについてもっと学ぶなら

Herokuについてもっと学ぶなら

Herokuは今回紹介した機能以外にも多くの機能があります。

 

HerokuについてしっかりとスキルをつけるならUdemyの教材がオススメです。

>> PythonによるWebスクレイピング 〜Webアプリケーション編〜

 

Udemyは動画ベースで学習ができます。
よって、実際のコードや図解を見ながら、学習を進めることができます。

 

さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。

 

先ほどの教材はPythonを用いたアプリケーション作成を通して、
Herokuへのデプロイが解説されているので非常に実践的な教材です。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました