Heroku

アプリケーションのビルド、ランタイムインフラ、デリバリワークフロー、および一般的なデータサービスを管理することで、開発者の生産性を最優先する成熟したPaaS(Platform as a Service)。

公式サイト

情報確認日: 2026年7月13日 ·出典を見る

ツール情報

種類
開発ワークフロー
対応プラットフォーム
Web, macOS, Linux, Windows, API
無料プラン
非対応
オープンソース
非対応
独自の API キーを使用
非対応
ローカルモデル
非対応
Heroku

概要

適した用途

  • Webアプリケーション、REST/GraphQL API
  • バックグラウンドワーカーやスケジュールされたアプリケーションプロセス
  • インフラ管理を最小限に抑えたいスタートアップ
  • GitHubのプルリクエストとプレビュー環境を活用するチーム
  • Ruby, Node.js, Python, Java, Go, PHP, Scala, Clojure, .NETアプリケーション
  • 密接に統合されたマネージドPostgreSQLの恩恵を受けたいアプリケーション
  • 分離されたネットワーク環境を必要とする企業向けのマネージドPaaS
  • AIアプリケーションのバックエンドやエージェントサービスのデプロイ

強み

  • ソースコードからアプリケーション稼働までが非常にスムーズ
  • 成熟したビルドパックと多言語デプロイのエコシステム
  • 強力なパイプライン、Review Apps、プルリクエストワークフロー
  • アプリケーションやリリースと密接に連携するマネージドPostgres
  • ソースベースとDockerベースの両方のデプロイをサポート
  • ネットワーク分離、ガバナンス、コンプライアンス制御を備えたエンタープライズオプション
  • 巨大なアドオンマーケットプレイスによりサードパーティ連携の手間を削減

制約とトレードオフ

  • 永久無料のホスティングを必要とするプロジェクト
  • 永続的なローカルファイルシステムに依存するアプリケーション
  • 制限のないKubernetes操作やOSレベルの制御が必要なチーム
  • 計算リソースの使用率が常に高く、コストに非常に敏感なワークロード
  • Herokuが提供していない特殊なハードウェアを必要とするワークロード
  • 低レイヤーのリソースとして管理される複雑なマルチクラウドインフラ
  • Private Spacesを利用できないが、Fir世代を特に必要とする新規プロジェクト
  • 永続的な無料のコンピューティングやデータベース枠がない
  • 複数のDyno、データベース、アドオンを利用するとコストが急増しやすい
  • Dynoのファイルシステムは一時的であり、永続的なアップロードには不向き
  • Basic Dynoは水平スケーリングができない
  • ネイティブのオートスケーリングは上位の特定Dynoティアに限定される
  • Fir世代は現在Private Spacesが必要であり、移行に関する考慮事項がある
  • クラウド直接利用やKubernetesと比較して、インフラレベルの制御性が低い

使い始める

料金と利用上限

料金は $5

Eco Dynos$5 / 月額

個人向けアプリに1,000共有Dyno時間を提供。Eco Web Dynoは30分間のアイドル状態でスリープします。

Basic Dyno$7 / Dynoあたり/月

水平スケーリングを必要としない小規模アプリ向けの、常時起動512MB Dyno。

Standard Dynos$25–$50 / Dynoあたり/月

水平スケーリング、アプリメトリクス、Preboot、無制限のプロセスタイプを備えた本番用Dyno。

Performance DynosFrom $250 / Dynoあたり/月

高トラフィックアプリ向けの専用コンピューティング。予測可能なパフォーマンスとネイティブなオートスケーリングを提供。

Fir DynosFrom $25 / Dynoあたり/月

Cloud Native Buildpacksを使用する専用の次世代Dyno。現在はFir Private Spaceが必要です。

Heroku PostgresFrom $5 / 月額

マネージドPostgreSQL。Essential-0プラン(1GBストレージ、20接続)から利用可能。

Heroku EnterpriseCustom

一元的なガバナンス、Dynoユニット、Private Spaces、高度な権限管理、監査ログ、エンタープライズサポートを追加。

料金確認日: 2026年7月13日 · 利用上限、モデルの料金、サブスクリプションは別々に請求される場合があります。

機能と詳細

ビルドとデプロイ

  • Git、GitHub、Docker、API、Terraformによるデプロイ
  • ビルドパックによる言語の自動検出
  • Fir世代でのCloud Native Buildpacksサポート
  • ProcfileベースのWebおよびワーカープロセス
  • 環境変数(config vars)、リリースコマンド、リリースロールバック

デリバリワークフロー

  • ステージングおよび本番用パイプライン
  • プルリクエストごとの使い捨てReview Apps
  • Heroku CIテスト環境
  • GitHub自動デプロイ
  • Prebootおよびゼロダウンタイムリリースオプション

ランタイムとデータ

  • 垂直・水平スケーリング可能なDyno
  • Webプロセスの手動および自動スケーリング
  • マネージドPostgreSQLおよびキーバリューストレージ
  • Apache Kafkaおよびサードパーティアドオン
  • 統合されたログ、メトリクス、アラート、ヘルスチェック

エンタープライズとAI

  • PrivateおよびShield Private Spaces
  • SAMLシングルサインオンとアプリごとの権限設定
  • エンタープライズ監査ログと利用状況レポート
  • Managed Inference(マネージド推論)とエージェント機能
  • Model Context Protocol(MCP)統合

Herokuが選ばれる理由

Herokuは、インフラの構築よりもエンジニアのリソースをアプリケーション開発に集中させたい場合に真価を発揮します。アプリケーションのビルド、プロセス管理、ルーティング、証明書、ランタイムのパッチ適用、ロギング、リリース、その他多くの運用タスクを、一貫したプラットフォームワークフローに統合します。

これにより、小規模なチームでも、仮想ネットワークの設計、ロードバランサーの設定、ベースイメージの管理、コンテナクラスターの運用、カスタムデプロイシステムの構築といった手間をかけずに、本番環境のアプリケーションを稼働させることができます。そのトレードオフとして、インフラの下層レイヤーに対する制御性は限定され、生のコンピューティングサービスと比較してユニットコストが高くなる傾向があります。

Herokuのプロセスモデルは非常に堅牢です。Webサーバー、バックグラウンドワーカー、スケジューラー、マイグレーション、および単発の管理ジョブがすべて同じリリース・設定システムに従います。これにより、アプリケーションの成長に伴ってチームが維持すべき運用パターンの断片化を防ぐことができます。

このプラットフォーム自体はAI IDEやコーディングエージェントではありません。AI開発スタックにおける役割は、AIアシスタントによって生成されたモデルAPI、検索サービス(RAG)、エージェントのバックエンド、非同期ワーカー、MCP接続ツールなどのホスティングを担うことです。

主なワークフロー

Herokuの標準的なデプロイは、アプリケーションのソースコードと依存関係の定義ファイルから始まります。Herokuが言語を自動検出し、適切なビルドパックを選択して依存関係をインストール、デプロイ可能なアーティファクトを作成し、宣言されたプロセスを起動します。

Dockerイメージとしてのデプロイも可能です。ランタイムに特定のOSパッケージが必要な場合や、カスタムのビルド手順が必要な場合、あるいは既存のコンテナワークフローとの整合性を重視する場合に有効です。ただし、公式のビルドパックで要件が満たせる場合は、ソースベースのデプロイの方がシンプルです。

ランタイムの設定は、環境変数(config vars)を通じてリポジトリの外部で管理されます。各デプロイでは、ビルドアーティファクトと現在の設定が組み合わされ、不変の「リリース」が生成されます。これにより、ソースコードを変更せずに認証情報や機能フラグ、外部サービスのエンドポイントを変更できます(設定変更時には通常、新しいリリースが作成されアプリケーションが再起動します)。

Procfileによってアプリケーションをプロセスタイプごとに分離します。一般的な構成では、HTTPトラフィック用の web プロセス、キュー処理用の worker プロセス、定期実行用のスケジューラー、データベースマイグレーション用のリリースプロセスなどを使用します。各プロセスタイプは個別にスケーリング可能です。

GitHubを利用するチーム向けには、Heroku Pipelinesが開発、ステージング、本番環境を連携させます。Review Appsを使用すれば、プルリクエストごとに使い捨ての環境を構築でき、Heroku CIでは本番に近い環境でテストを実行できます。Review AppsやCIのリソースも課金対象となるため、自動クリーンアップ設定が重要です。

向いている用途

Herokuは、アプリケーションのコードとアーキテクチャには責任を持ちたいが、コンテナプラットフォーム自体の運用は避けたいと考える一般的なWebプロダクトに適しています。SaaS、社内ツール、REST API、GraphQL API、Webhookプロセッサ、管理システムなどがそのプロセスモデルに合致しています。

バックグラウンド処理は、特に強力なユースケースです。Webトラフィックとキューのコンシューマーを、同じリリースのソースと設定を使いながら別のプロセスタイプとして実行できます。別のデプロイ環境を作ることなく、ワーカーのキャパシティだけを独立してスケーリングできます。

また、多くのクライアント案件を抱える開発会社やコンサルティングチームにとっても実用的です。共有のデプロイモデルによりプロジェクト間の運用の差を抑えられ、パイプラインやアプリ単位のコラボレーション機能により、アクセス権限やリリースの管理が容易になります。

AIアプリケーションにおいては、チャットバックエンド、RAGサービス、オーケストレーションAPI、ツールサーバー、評価ジョブ、非同期のドキュメント処理ワーカーなどのホスティングに利用できます。Heroku Managed Inference and Agentsを利用すれば、サポートされているモデルやエージェント機能をより統合された形で利用でき、MCPサポートによるツール主導のワークフローも可能です。

一方で、永続的なローカルディスク、特権コンテナ、カスタムカーネルの挙動、特殊なアクセラレータ、制限のないKubernetesリソース、あるいはネットワークやインスタンス配置の細かな制御が必要な場合には向いていません。

Firの立ち位置

FirはHerokuの次世代プラットフォームであり、Cloud Native BuildpacksやKubernetesベースのランタイムを含むクラウドネイティブ技術を採用しています。より明確なCPU・メモリ構成、専用コンピューティング、リージョン内ビルドとテレメトリを提供し、将来的なプラットフォーム開発の近代的な基盤となります。

現時点では、Fir Dynoを利用するにはFir世代のPrivate Spaceが必要です。そのため、Common Runtimeでの低コストな個人利用よりも、プライベートネットワークやエンタープライズレベルのデプロイを検討している組織にとって直接的な選択肢となります。

CedarとFirではビルドシステムが異なります。Cedarアプリは従来のHerokuビルドパックを使用しますが、FirアプリはCloud Native Buildpacksを使用します。移行前には、カスタムビルドパック、アドオン、ネットワーク構成、オブザーバビリティツール、およびリリース時の挙動を確認する必要があります。

Herokuは、利用可能なリージョンにおける新規および活発に開発されているプロジェクトにはFirを推奨していますが、Cedarも引き続きサポートされます。移行を単なるスタックのアップグレードと考えず、実際の機能の互換性を評価してください。

他のサービスとの比較

Renderは同様のマネージドモデルを採用しており、Webサービス、ワーカー、定期実行ジョブ、データベース、プレビュー環境をサポートしています。新規プロジェクトにとっては、よりモダンでコストを抑えやすいと感じられる一方、Herokuはより長い歴史を持つエコシステム、成熟したリリースモデル、エンタープライズでの実績において優位性があります。

Railwayは、使用量ベースのインフラと関連サービスの容易なデプロイを備えた、視覚的に優れた開発者体験を提供します。プロトタイプや小規模チームには魅力的ですが、Herokuはより形式化されたパイプライン、ライフサイクル規約、エンタープライズ向けのガバナンスを提供します。

Fly.ioは、グローバルに分散されたMachineとプライベートネットワークを通じて、よりインフラに近い挙動を公開しています。地理的な配置やマシンのライフサイクルがプロダクトの要件である場合に適しています。Herokuは、仮想マシンよりもアプリケーションのプロセスを主体に考えたい場合に適しています。

Northflankは、コンテナデプロイ、環境管理、ジョブ、データベース、デリバリ自動化を組み合わせています。よりコンテナ指向のオーケストレーションオプションを提供しますが、Herokuはより意見の明確なプロセスモデルと、ビルドパックやアドオンの巨大な既存エコシステムを持っています。

Google Cloud Runは、リクエストに応じてゼロまでスケーリングするステートレスなコンテナにとって強力な選択肢です。Google Cloudと深く統合されていますが、データベース、ネットワーク、アクセス管理、デリバリ構成などはチーム自身で組み立てる必要があります。

DigitalOcean App Platformは、DigitalOceanのエコシステム内でマネージドなソース・コンテナデプロイを提供します。シンプルなワークロードでは費用対効果が高いですが、Herokuの方が成熟したワークフロー規約とエンタープライズ向けのデプロイオプションが充実しています。

推奨される構成

本番環境のアプリケーションは、ステートレスなプロセスの集合として設計する必要があります。Dyno内部に書き込まれたファイルは、Dynoの再起動や入れ替え時に消失し、他のDynoとも共有されません。ユーザーのアップロードファイルや生成されたアセットは、ローカルではなくオブジェクトストレージに保存してください。

Webプロセスは素早く起動し、環境変数から供給されるポートにバインドし、終了信号(SIGTERM)に応答し、メモリ内に重要な状態を保持しないように設計してください。時間のかかる処理は、HTTPリクエストをブロックするのではなく、キューを利用したワーカープロセスに移動させます。

データベースのマイグレーションやスキーマチェックなどは、新しいコードが稼働中の構成に適用される前に、リリースプロセスを利用して実行してください。リリースコマンドが失敗すると新しいビルドのデプロイが阻止されるため、互換性のないスキーマに対してコードをリリースするリスクを軽減できます。

開発、ステージング、本番用に個別のアプリケーションを用意してください。環境ごとにビルドし直すのではなく、Pipelineを通じて同じコンパイル済みリリースを「昇格(Promote)」させます。これにより、依存関係の解決やビルド時の変更による環境間の差異を防ぐことができます。

信頼性の高い本番運用のために:

  • 言語や依存関係のバージョンを明示的に固定する。
  • 可能な限り、メンテナンスされている公式ビルドパックを使用する。
  • アプリケーションログを標準出力(stdout)と標準エラー出力(stderr)に送る。
  • 秘密情報は環境変数(config vars)または承認された外部シークレットマネージャーに保存する。
  • 公開前にアプリケーションとデータベースの監視を設定する。
  • 可用性が重要な場合は、少なくとも2つのWeb Dynoを実行する。
  • 本番に近いコピー環境でデータベースマイグレーションをテストする。
  • 旧リリースと新リリースが安全に共存できることを確認した上で、Prebootを有効にする。
  • 古くなったReview Appsや未使用のアドオンは自動で削除する。
  • Dyno、データベース、CI、Review App、アドオンのコストを一括で把握する。

マネージドPostgresのプラン選択は、データベースのサイズだけでなく、ダウンタイムの許容度、ストレージ、接続数、メモリ、レプリケーション、ロールバック、および高可用性の要件に基づいて行う必要があります。Essentialプランは中断が許容される小規模プロジェクトに適しており、本番システムにはAdvanced、Premium、Private、またはShieldの機能が必要になる場合があります。

移行時の注意点

Herokuへの移行には、通常、アプリケーションを「ステートレスかつ環境変数で設定可能なプロセスモデル」に適応させる必要があります。ローカルファイルシステムへのアップロード、固定ポート、Webリクエスト内での重いバックグラウンド処理、手動管理の環境設定ファイル、サーバー固有のcronタスクなどは、デプロイ前に設計変更が必要です。

従来のVPSから移行する場合は、ランタイム設定をソースコードから分離し、ログをファイルではなくストリームとして出力し、スケジュールされたタスクをスケジューラーやワーカーに移動し、永続データは外部サービスに送るように変更してください。

Dockerベースの移行では、既存のビルド環境を多く維持できますが、実行時の挙動は依然としてHerokuが制御します。イメージはHerokuのコンテナ要件を満たし、割り当てられたポートをリッスンし、永続的なコンテナストレージに依存せず、Container Registryが受け入れるアーキテクチャをサポートしている必要があります。

CedarからFirへ移行するチームは、ビルドパック、スタックパッケージ、アドオン、DNS挙動、プライベートネットワーク、メトリクス、ログドレイン、リリースコマンド、CI連携などを棚卸ししてください。Firへの移行は、本番トラフィックを切り替える前に、別のアプリケーションまたはスペースで検証する必要があります。

Heroku-22は非推奨となり、2027年4月30日にサポート終了(EOL)を迎える予定です。このスタックを使用しているアプリケーションは、ネイティブパッケージやバイナリライブラリ、ヘッドレスブラウザ、画像処理ツール、カスタムビルドパックへの依存がある場合、早めにHeroku-24またはHeroku-26でのテストを行ってください。

Herokuからの移行は、アプリケーションがTwelve-Factor Appの原則に従っていればコードレベルでは比較的スムーズですが、マネージドサービスの依存関係には計画が必要です。データベースのバックアップ、アドオンのデータ、環境変数、ドメイン、証明書、スケジュールされたジョブ、ログドレイン、パイプライン設定、ビルドパックの挙動などを移行先プラットフォームで再構築する必要があります。

ポータビリティの高いHerokuアーキテクチャを維持するには、アプリケーションコードを独自のアドオンAPIから独立させ、標準的なPostgreSQLやRedis互換クライアントを使用し、ファイルを専用のオブジェクトサービスに保存し、外部依存関係をダッシュボード以外でも文書化しておくことが推奨されます。

対応モデルとデータプライバシー

プライバシーとデータの取り扱い

HerokuはSalesforceが運営するホスト型プラットフォームであり、アプリケーションコード、設定メタデータ、ログ、ネットワークトラフィック、およびHerokuサービスに保存されたデータは、そのインフラ上で処理されます。Herokuは暗号化、アクセス制御、Private Spaces、Shieldサービス、コンプライアンス文書を提供しますが、アプリケーションのセキュリティ、依存関係の管理、秘密情報の取り扱い、データ分類、ユーザー権限、バックアップ、および適切なサービス設定については、引き続き利用者が責任を負います。

ガイド、レビュー、トラブル対処

公開済みのガイドはまだありません。上記の公式ドキュメントをご参照ください。

製品の更新情報

確認済みの製品更新はまだありません。フォローすると関連する新着情報を「保存済み」で確認できます。

関連コンテンツの更新履歴を見る

代替ツール

出典と確認記録

確認日は当サイトが情報を確認した日です。製品のリリース日は上に別途表示しています。

掲載情報の修正履歴

  1. 現在のDynoおよびデータベースの価格、Firの利用可能性、サポート言語、デリバリワークフロー、エンタープライズ制御、およびHeroku AIのポジショニングを確認済み。

  2. アプリケーションビルドで利用可能なバージョンに Node.js 26.5.0 を追加。

  3. Heroku-22, Heroku-24, Heroku-26のスタックイメージを、アップストリームのセキュリティおよびパッケージ修正で更新。

  4. Ubuntu 26.04ベースのHeroku-26スタックが正式リリース(2031年4月までサポート予定)。

  5. Heroku-22が非推奨に設定され、2027年4月30日にサポート終了予定。

  6. コンピューティングとストレージを分離し、スケーラビリティを高めたHeroku Postgres Advancedが限定公開リリース。

  7. Herokuの次世代クラウドネイティブプラットフォーム「Fir」が、Fir Private Spacesを通じて正式リリース。