お問い合わせはこちら

Herokuとは?使うメリットや料金体系・使い方を詳しく紹介

公開
Herokuの解説

本記事では、PaaS(Platform as a Service)の一つであるHeroku(ヘロク)について解説します。

Herokuを使えば、アプリケーションの開発やデプロイが簡単にでき、運用の手間も大幅に減らせます。

開発者やスタートアップ企業の方々にとって、Herokuは生産性向上やコスト削減に役立つサービスと言えるでしょう。

Herokuの特徴やメリット、使い方、料金体系などを詳しく見ていきましょう。

Heroku(ヘロク)とは

Heroku(ヘロク)は、アプリケーション開発者のためのクラウドサービスです。

Webアプリケーションの開発、デプロイ、運用をシームレスに行うことができます。Herokuを使えば、インフラストラクチャの管理や設定に煩わされることなく、アプリ開発に専念できるのです。

Herokuは多様なプログラミング言語やフレームワークをサポートしており、開発者は自分の得意な技術スタックを選択できます。また、Herokuには豊富なアドオン(拡張機能)が用意されているため、データベースやメール送信など、アプリに必要な機能を簡単に追加できます。Herokuを使うことで、アプリ開発のスピードアップと運用の効率化を実現できるのです。

Herokuでできること

Herokuでは、Webアプリケーションの開発、デプロイ、運用、スケーリングを簡単に行えます。

対応言語も豊富で、Ruby、Node.js、Python、Java、PHP、Goなど主要な言語をサポートしています。また、データベースやストレージ、メール送信、ログ管理など、アプリケーション開発に必要な各種アドオンが提供されており、これらの追加・利用が簡単にできるのも特徴です。

他にもHerokuの特徴的な機能として、Gitを使ったデプロイの自動化、自動スケーリング、SSL証明書の無料提供などがあります。

これらの機能により、開発者はインフラ管理の負担を減らし、アプリケーション開発に集中できるのです。

AWSとの違い

HerokuとよくAWSが比較されますが、両者には大きな違いがあります。AWSはAmazon Web Servicesの略で、幅広いクラウドサービスを提供しています。一方、Herokuはアプリケーションに特化したPaaSです。

対応言語も、Herokuはメジャーな言語に限定されますが、AWSは幅広い言語に対応しています。価格面では、Herokuは初心者にも扱いやすいシンプルな従量課金制ですが、AWSはリソースごとに細かく料金設定されていて複雑です。サービスの種類は、Herokuがアプリケーション開発・運用に特化しているのに対し、AWSは幅広いサービスを提供しています。

対象者も、HerokuはWeb系エンジニアやスタートアップが中心ですが、AWSは大企業を含む幅広いユーザーが利用しています。

以下の表で両者の違いをまとめました。

HerokuAWS
対応のプログラミング言語メジャー言語に限定幅広い言語に対応
価格比較的シンプルな料金体系リソースごとに細かく料金設定
サービスの種類アプリケーション開発・運用に特化幅広いサービスを提供
対象者Web系エンジニアやスタートアップ大企業を含む幅広いユーザー

Herokuはセットアップが簡単で運用が手軽なため、迅速なプロトタイピングや小規模アプリケーションの開発に適しています。対してAWSは大規模かつ複雑なアプリケーションに対応可能で、スケーラビリティやコスト効率が求められる場合に有利です。小規模プロジェクトや技術リソースが限られている場合はHeroku、大規模で成長を見込むプロジェクトや高度なセキュリティが必要な場合はAWS、というふうに使い分けると良いでしょう。

Herokuを使うメリット

Herokuには多くのメリットがあります。主なメリットは以下の3つです。

  • 拡張機能が豊富にある
  • スケーリングが簡単にできる
  • 運用サポートが充実している

ここからは上記3つのメリットについて詳しく解説します。

拡張機能が豊富にある

最初のメリットは拡張機能が豊富にあることです。Herokuには多数の拡張機能(アドオン)が用意されており、データベース、キャッシング、メール送信、監視、ロギングなど、アプリケーション開発に必要な様々な機能を簡単に追加できます。

例えば、Heroku Postgresを使えば、高可用性と自動バックアップ機能を備えたPostgreSQLデータベースを簡単にプロビジョニングでき、New Relicのアドオンを使えば、アプリケーションのパフォーマンス監視や分析が行えます。

これらの拡張機能を活用することで、開発者は基盤の構築や運用に時間を取られることなく、アプリケーションの開発に集中できるようになるのです。

スケーリングが簡単にできる

Herokuを利用すると、アプリケーションのスケーリングが驚くほど簡単になります。トラフィックが増加してきた場合、ダッシュボードのスライダーを動かすだけでDynoの数を増やすことが可能で、パフォーマンスを最適な状態に維持できるのです。

また、自動スケーリング機能を活用することで、トラフィックの変化に応じてDynoの数が自動的に調整されるため、手動での操作は一切必要ありません。これにより、急激なアクセス増加にも柔軟に対応することができ、ユーザーに快適な体験を提供し続けられるでしょう。

Herokuの大きな利点は、インフラの管理に煩わされることなく、アプリケーションの開発とビジネスの成長に集中できる点だと言えます。スケーリングの簡易性により、開発者はよりコアな部分に注力することが可能となるのです。

運用サポートが充実している

Herokuは24時間365日のサポート体制を整えており、ユーザーからの問い合わせにいつでも対応可能です。障害発生時には即座に調査・復旧作業を行い、ダウンタイムを最小限に抑えます。

また、ユーザーからのフィードバックを積極的に取り入れ、プラットフォームの継続的な改善に努めています。充実した運用サポートにより、ユーザーは安心してアプリケーションを運用できます。

トラブル発生時も迅速に対応してもらえるため、開発者はアプリケーション開発に集中でき、ビジネスの成長につなげやすくなるでしょう。

Herokuの料金体系

Herokuの料金体系は、2024年5月現在、無料枠がなくなり有料プランのみとなっています。以前は無料で利用できる枠がありましたが、2022年11月に廃止されました。

現在の料金プランは、Dyno(コンテナ)の種類によって異なります。お試し段階のアプリや、常に稼働させる必要が無いアプリに最適なEco・Basicプランは月額5ドル、基本的なWebアプリケーションを運用するためのプロダクション・プランは、月額25ドルから利用可能です。より高性能なアドバンスド・プランは月額50ドル、Performance-Mプランは月額250ドルとなっています。

また、これは基本料金であり、拡張機能を利用する場合は別途料金が発生します。従量課金制の拡張機能もあるため、利用状況によってはコストが変動することに注意が必要です。

Eco・Basicプロダクションアドバンスドエンタープライズ
料金$5/月上限$25/月から$250/月から問い合わせ
主な対象アプリお試し段階のアプリや断続的に利用されるアプリ顧客向けや内部向け、APIなどのビジネスアプリ高可用性や低遅延、高容量、並列処理など、複雑な機能を持つアプリ統制・規制準拠が必要なアプリや大規模組織での共同作業での利用
参考:Heroku|Heroku の価格

Herokuの使い方

Herokuを使ってアプリを稼働させるのは、以下の5つのステップでできます。

  1. Herokuのアカウント登録
  2. Heroku CLIのインストール
  3. Herokuへのログイン
  4. アプリケーションのデプロイ
  5. アプリケーションの動作確認

まずHerokuのアカウントを登録します。次にHeroku CLIをインストールし、ターミナルからHerokuにログインします。そしてGitを使ってアプリケーションのソースコードをHerokuにプッシュすることでデプロイを行います。最後にブラウザでアプリケーションのURLにアクセスし、正常に動作していることを確認します。

以上がHerokuでアプリケーションを公開するまでの一連の流れになります。一見手順が多いように見えますが、1つひとつ段階を追って実行していけば簡単です。ここからは各ステップごとに詳しい手順を解説していきます。

1.Herokuのアカウント登録

まずはHerokuにアカウント登録しましょう。

Webブラウザを使ってHerokuの公式サイトにアクセスし、「新規登録」をクリックします。

Herokuの公式サイトトップ

名字、名前、メールアドレス、役職、国、主な開発言語を入力しましょう。仕事で使う場合は会社名入力することもできます。入力したらreCAPTCHAにチェックを入れて、「アカウント作成」ボタンを押します。

Herokuのアカウント登録画面

メール認証を行います。

アカウント登録すると認証メールが届きますので、リンクをクリックして認証を完了させます。

Herokuからの認証メール本文

メール認証をするとパスワードを設定する画面が出ますので、以下の要件を満たすパスワードを設定しましょう。

  • 8文字以上
  • アルファベット、数字、記号を含む
  • 入力したパスワードと確認のパスワードが一致する
Herokuでのパスワード設定画面

パスワードを設定すると、以下のような画面が出ますので、そのままボタンをクリックして次に進みます。

Heroku設定完了画面

ガイドの通りに進めていくと、多要素認証の設定画面になります。

Herokuの多要素認証設定画面

使える認証方法は以下の3つです。

  • Salesforce Authenticator
  • ワンタイムパスワード生成器
  • セキュリティキー

お好みで1つを選んで設定しましょう。

規約を読んで同意します。多要素認証を設定すると規約が出てきますので、「Accept」を押しましょう。

Herokuの規約確認画面

規約に同意するとダッシュボードが表示され、Herokuが使えるようになります。

Herokuのダッシュボード

2.Heroku CLIのインストール

続いて、Heroku CLIをインストールします。
Heroku CLIのインストール方法はクライアントのOSによって異なります。Windowsの場合はインストーラーを使ってインストールし、MacやLinuxではターミナルからインストールします。

まずは「ターミナルからインストールする方法」について解説します。

【Mac】ターミナルからインストールする方法

ターミナルからHomebrewを使ってインストールします。

以下のコマンドを実行しましょう。

brew tap heroku/brew && brew install heroku
Herokuのインストールコマンド
Herokuのインストール中の画面

インストールされたかどうか確認します

インストールが終わったら、正常にインストールされたかどうかを念のために確認しましょう。Heroku CLIのバージョンを表示させるコマンドを使って確認できます。

heroku --version

「heroku/8.11.5 darwin-arm64 node-v16.20.2」といったバージョン情報が表示されたら正常にインストールできています。

Herokuのバージョン表示画面

【Windows】インストーラーを使う方法

Herokuの公式サイトから、インストーラーをダウンロードします

アクセスすると以下のようなダウンロードボタンがありますので、64ビット用か32ビット用を選んでダウンロードしましょう。

Herokuのインストール選択画面

インストーラーを起動し、インストールします

ダウンロードできたら、インストーラーを起動しましょう。すると以下のようなインストール項目の選択画面が出るので、3つとも選択した状態で「Next」を押します。

Herokuのインストーラー

次にインストール先フォルダを選ぶ画面が表示されるので「Install」を押します。

Herokuのインストール場所の選択

あとは自動的にインストールが進むので、インストールが完了したら「Close」を押します。

Macの場合と同じように、インストールできたかどうかをバージョン表示で確認してみましょう。
コマンドプロンプトを起動し、以下のコマンドを入力します。

heroku -v
Herokuのバージョン確認画面

バージョン情報が表示されたらインストールは正常に完了しています。

3.Herokuへのログイン

Heroku CLIがインストールできたら、CLIを使ってHerokuにログインしてみましょう。

ターミナルかコマンドプロンプトを開き、以下のコマンドを入力します。

heroku login
Herokuのログイン画面

「heroku: Press any key to open up the browser to login or q to exit:」と表示されるので、エンターキーを押します。

すると、Webブラウザが起動し、ログイン画面が表示されるのでログインボタンをクリックしてログインしましょう。

HerokuのWebブラウザ上のログイン画面

ログインに成功すると、以下のようにターミナルでもログインされます。

Herokuのログイン成功コマンド

4.アプリケーションのデプロイ

ログインができたら、アプリケーションをデプロイしてみましょう。
ここでは例として「ruby-getting-started」というアプリケーションをデプロイしてみます。

GitHubからアプリのクローンを作成します。

以下のコマンドを実行し、GitHubからアプリのクローンを作成しましょう。

git clone https://github.com/heroku/ruby-getting-started.git
Herokuでのクローン作製コマンド

アプリのクローンができたら、そのアプリのディレクトリに移動します。

cd ruby-getting-started

次に以下のコマンドを実行し、アプリを作成します。

heroku create
Herokuでのサプリ作成風景

いよいよアプリをデプロイします。ruby-getting-startedのディレクトリで以下のコマンドを実行しましょう。

git push heroku main

長いメッセージと共にデプロイが始まりますので、終わるのを待ちます。

Herokuのデプロイ

「Verifying deploy … done.」と表示されたらデプロイは成功です。

5.アプリケーションの動作確認

デプロイが完了したら、アプリのインスタンスが動いているかを調べてみましょう。

ps:scaleコマンドで以下のコマンドで現在稼働しているかどうか調べられます。

heroku ps:scale web=1
Herokuインスタンス確認画面

「now running web」と表示されたら、webでプロセスが稼働中ということです。

以下のコマンドで簡単にWebからアクセスできます。

heroku open
heroku open

Webブラウザが立ち上がり、「Getting Started with Ruby on Heroku」と表示されたら正常に動作しています。

Herokuで構築したRubby

Herokuの代替となるPaaSを比較

Herokuは2022年11月に無料プランを廃止しました。Herokuの代替となるPaaSとして、Render、Dokku、Fly.ioなどがあり、いずれも無料プランが用意されています。

それぞれのサービスの概要は以下の表の通りです。

サービス名無料枠料金体系
Renderありサブスクリプション(月額)
Dokkuあり無料
Fly.ioありサブスクリプション(月額)
超過料金は従量課金

ここからは各サービスについて詳しく見ていきましょう。

Render

Renderは、Herokuと同じようなクラウドプラットフォームで、Webアプリケーションのデプロイを簡単に行えます。GitHubやGitLabと連携し、自動デプロイやスケーリングが可能です。料金体系は以下の通りです。

プラン料金
Individual$0/月
Team$19/月
Organization$29/月
Enterprise要見積もり
参考:Render

■Renderのメリットとデメリット

Renderの特徴を理解するために、そのメリットとデメリットを以下にまとめます。

Renderのメリット
  1. Herokuに比べて料金が安いため、コストパフォーマンスに優れています。
  2. シンプルなUIと設定方法により、初心者でも簡単に利用できます。
Renderのデメリット
  1. サポートやコミュニティの情報が少ないため、問題解決に時間がかかる場合があります。
  2. 細かいチューニングができないため、特定のニーズに応じた最適化が難しいことがあります。
  3. 対応している言語やデータベースが少ないため、特定の技術スタックには不向きな場合があります。

Renderは、小規模なプロダクトを素早くリリースしたい場合や、標準的な技術しか使わない場合に向いています。

Dokku

Dokkuは、オープンソースのPaaSであり、Herokuと同様の機能を提供します。自身のサーバーにインストールして使用することができ、Gitリポジトリからのデプロイが簡単に行えるのが特徴。オープンソースなので料金は無料です。

■Dokkuのメリットとデメリット

Dokkuのメリット
  1. Dokkuはオープンソースであるため、ソフトウェア自体の使用は無料です。ユーザーは自身のサーバー上で運用するため、クラウドサービスの利用料がかかりません。
  2. Herokuのビルドパックを使用でき、Herokuに慣れた開発者にとって移行が容易です。
  3. 自身のサーバーにインストールするため、必要に応じてサーバーやアプリケーションの設定を自由にカスタマイズできます。
Dokkuのデメリット
  1. 自身でサーバーを管理する必要があるため、インフラストラクチャの管理やメンテナンスに手間がかかります。
  2. オープンソースプロジェクトであるため、商用サポートがありません。問題解決にはコミュニティの情報や自身の技術力が必要です。
  3. 大規模なアプリケーションやトラフィック増加に対してのスケーリングが、クラウドベースのPaaSに比べて難しい場合があります。

Dokkuはインフラ管理まで自分でできる開発者や、開発環境のカスタマイズ性を重視する開発者、オープンソースを好む開発者などに向いています。

Fly.io

Fly.ioは、アプリケーションをデプロイするための先進的なPaaSです。AWSが開発したFirecrackerを用いた高パフォーマンスなコンテナ仮想化を特徴とし、Dockerコンテナを利用して簡単にデプロイできます。グローバルにデータセンターを配置し、自動スケーリング機能を備えることで、低レイテンシかつ効率的なリソース利用が可能です。Herokuの無料プラン廃止後の代替として注目されています。

プラン料金
Hobby$5/月
Lunch$29/月
Scale$5/月
参考:Fly.io

■Fly.ioのメリットとデメリット

Fly.ioのメリット
  1. アプリケーションを世界中のデータセンターにデプロイでき、ユーザーに近い場所で実行することでレイテンシを低減します。
  2. Dockerコンテナを利用し、コマンドラインツールで簡単にデプロイできます。設定もシンプルです。
  3. トラフィックの変動に応じて自動的にスケールイン・スケールアウトし、効率的にリソースを利用できます。
Fly.ioのデメリット
  1. 新しいプラットフォームに慣れるまでに時間がかかり、初期設定が難しい場合があります。
  2. 無料プランにはリソースの制限があり、大規模なプロジェクトには不向きです。
  3. 他の大手クラウドプロバイダーに比べて、ドキュメントやサポート情報が少ないことがあります。

Fly.ioは、高速なレスポンスが求められるWebアプリケーションや、トラフィックの変動が大きいアプリケーションに適しています。

まとめ

Herokuは、アプリケーションの開発から運用までをシームレスに行えるクラウドプラットフォームです。豊富な拡張機能、簡単なスケーリング、充実した運用サポートなどのメリットがあります。料金体系は従量課金制で、無料プランもあります。

Herokuの代替となるPaaSには、Render、Dokku、Fly.ioなどがあり、各サービスの特徴を比較して、自分のニーズに合ったものを選ぶことが大切です。Herokuは、開発者にとって使いやすく、効率的なアプリケーション開発・運用を可能にするプラットフォームといえるでしょう。

日額 20円 で使えるVPS

開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS

カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。