Heroku 世代
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2025年04月14日(月)
Table of Contents
世代とは、アプリケーションの実行に使用される、Heroku プラットフォームの基盤となるインフラストラクチャとツールの特定のバージョンまたはイテレーションを指します。それぞれの世代は、パフォーマンス、セキュリティ、機能の向上を実現する Heroku のテクノロジースタックの大幅なアップグレードまたは進化を表します。
Common Runtime と Private Space は、どちらも Cedar 世代のプラットフォームで実行されます。2025 年より、Heroku は次世代のプラットフォームである Fir にアップグレードしています。
Fir は現在 Fir Private Space と共に一般提供されています。
Cedar
レガシープラットフォーム
Heroku の Cedar 世代はプラットフォーム機能における大きな飛躍でした。合理化された HTTP スタックの導入によって高度な HTTP 機能が可能になり、より柔軟で強力なプラットフォームが実現しました。
Cedar の主要な機能
多言語サポート: Heroku の公式言語セット以外にも、Cedar にはパートナーやコミュニティ開発者が提供するカスタムクラシック buildpack の豊富なライブラリがあります。
Heroku run: 任意の One-off dyno を実行する機能で、さまざまなタスクを柔軟に実行できるようにします。
Procfile とプロセスモデル: 多様なアプリケーションプロセスを管理するための堅牢なメカニズムです。 Cedar は長年 Heroku のプラットフォームの基盤であり、信頼性が高くパフォーマンスに優れ、機能豊富な環境を開発者に提供してきました。
Fir
Heroku の未来
Heroku の最新世代である Fir は、Cedar の強みを基盤としながら、新時代の開発者エクスペリエンス、パフォーマンス、柔軟性をもたらします。Fir は最新のクラウドネイティブテクノロジーを活用して、シームレスで効率的なプラットフォームを提供します。
Fir の主要な機能
デプロイの合理化: Cloud Native Buildpack を使用してコンテナ化プロセスを自動化し、単一のコマンドで簡単にアプリケーションをデプロイします。
dyno オプションの簡素化と多様化: Kubernetes を活用した直感的なコントロールとインテリジェントなデフォルトを使用して、アプリケーションを簡単に拡張します。
オブザーバビリティの統合: Fir および Heroku メトリクスにシームレスに統合された OpenTelemetry を使用して、アプリケーションのパフォーマンスに関する詳細なインサイトを取得します。 Fir は、使い慣れた Heroku 開発者エクスペリエンスを維持しながら、最新のクラウドネイティブアプリケーションの構築を実現する強力で予測可能なプラットフォームを提供します。
Cedar バージョンの Private Space と比較して、Fir の利用には主に次のようなメリットがあります。
- クラウドネイティブのオープンソース標準: Kubernetes に構築された拡張可能なソリューション、OCI コンテナ、OpenTelemetry を利用して、将来の変化にアプリを対応させます。最新のクラウドエコシステムと簡単に統合できます。
- オペレーショナルエクセレンス: EKS、Graviton、Global Accelerator などの AWS サービスを活用して規模拡大、耐障害性、パフォーマンスを実現し、ビジネスを円滑に運営できるようにします。
- 新機能へのアクセス: 最新の製品と機能の開発は Fir で行われています。今すぐこの次世代プラットフォームでの構築を開始すれば、新機能やプラットフォームの機能向上にいち早くアクセスできます。
Fir の新機能開発のロードマップ
Fir で使用可能または公開予定の新機能は次のとおりです。これらの機能は Cedar 世代では使用できません。
使用可能 | 公開予定 |
---|---|
Kubernetes ベース | GPU dyno |
Graviton / ARM64 dynos | OpenTelemetry ログの egress アドオンのサポート |
IPv6 サポート | OpenTelemetry ログの ingress アドオンのサポート |
Cloud Native Buildpack のビルド | HTTP/2 を dyno へ |
スペース内のビルド | HTTP/3 サポート |
スペースごとに 500 超の dyno | ソフトウェアの構成表 |
ネイティブの OpenTelemetry (トレース、メトリクス、ログ) | dyno の状態チェックのサポート |
OpenTelemetry ドレイン | 強化された Heroku ネットワークファイアウォール |
CNB の再設定によるベースイメージの更新 | ブルー/グリーンデプロイ |
機能の同等性
このテーブルは、Fir に機能が追加されるたびに更新されます。Changelog の受信登録を行って、通知を受け取ることもできます。
機能 | Fir | Cedar |
---|---|---|
Heroku run:inside | X | X |
One-off dyno (heroku run:detached) | X | X |
非公開データベース | X | X |
ログ | X (サードパーティのアドオンログはまだ利用できません) | X |
ログドレイン | X | X |
暗号化された環境設定 | X | X |
Github 統合 (認証、同期、ChatOps) | X | X |
Git プッシュ (Git サービス) | X | X |
カスタム buildpack | X | X |
Automated Certificate Management (Heroku ACM) | X | X |
Heroku ルーティング | X | X |
使用量のトラッキングとダッシュボードの表示 | X | X |
アドオンのサポート | X | X |
パイプライン (プロモーションなど) | X | X |
Review Apps | X | X |
リリースフェーズ | X | X |
HTTP/2 をルーターへ | X | X |
Heroku アプリに関するメトリクス | X (ルーターの健全性と一部のイベント/エラーを公開予定) | X |
しきい値アラート | X | X |
Heroku ACM ワイルドカードドメイン | X | X |
dyno のオートスケール | 追加予定 | X |
Common Runtime | 追加予定 | X |
ISO および SOC コンプライアンス | 追加予定 | X |
Shield コンプライアンス | 追加予定 | X |
Heroku run (CLI コマンドとダッシュボードコンソール) | 追加予定 | X |
Heroku CI | 追加予定 | X |
ネットワークエラーのログ記録 | 追加予定 | X |
信頼済み IP 範囲 | 追加予定 | X |
Internal routing | 追加予定 | X |
VPC ピアリング | 追加予定 | X |
VPN サポート | 追加予定 | X |
Private Space DNS Service Discovery | 追加予定 | X |
x86 アーキテクチャのサポート | 追加予定 | X |
ルーターのメンテナンスとエラーページ | 追加予定 | X |
Clojure サポート | 追加予定 | X |
モントリオール Private Space リージョンのサポート | 追加予定 | X |
Cedar 限定の機能
Cedar 世代の Private Space の一部の機能は、改善された Fir 限定機能に置き換えられたか、今後置き換えられる予定です。
- IPv4 専用スペース
- スペース CIDR 設定
- カスタム DNS リゾルバー
- Space トポロジー
- Docker ビルド
- Heroku Exec
- Heroku Buttons
- Review Apps の予測可能な URL
- スペース不足のビルド
- 内部ビルド
Fir プラットフォーム世代の主な違い
当社では、新しい Fir プラットフォーム世代で Heroku を強化するのに伴い、強力な機能を導入しています。従来の Cedar 世代との機能の同等性を目指して取り組んでいますが、Fir への移行や Fir での新しいプロジェクトを開始するときに理解しておくべき重要な違いがいくつかあります。
dyno アーキテクチャ: Graviton/ARM のみ (現在)
現在 Fir プラットフォームでは、dyno に Graviton (ARM) プロセッサーのみを使用しています。
影響: x86 アーキテクチャ専用にコンパイルされたアプリケーションや依存関係は、Fir でビルドまたは実行できない可能性があります。
推奨事項: アプリケーションとその依存関係に ARM アーキテクチャとの互換性があることを確認します。
今後の計画: Fir ロードマップには x86 ベースの dyno のサポートが含まれています。
ネットワーク: Private Space のデフォルトは IPv6
Fir は Heroku Private Spaces 内のネットワークのデフォルトおよび推奨の接続プロトコルとして IPv6 を使用します。
影響: IPv4 接続のみを想定してスペース内でアプリケーション、その依存関係、接続されたサービスを設計した場合、Fir では適切にバインドされません。
推奨事項: IPv6 リスナーまたはアプリの言語でのデュアルスタックアドレスリスナー (通常は ::
) に正しくバインドして IPv6 互換性を確保し、Fir のネットワーク設定を活用します。
ビルド: Cloud Native Buildpack (CNB) が必要
Fir プラットフォームは、アプリケーションの構築に Cloud Native Buildpack (CNB) のみを使用します。Cedar スタックで使用されていた以前のクラシック Heroku buildpack は Fir ではサポートされていません。また、heroku.yml
および container
スタックを使用した Docker image の構築も Fir ではサポートされていません。
影響: アプリケーションがカスタムフォークなどのクラシック buildpack に依存している場合は、Fir でのアプリのビルドに失敗する可能性があります。アプリケーションが container
スタックに依存している場合、Fir には移行できません。
推奨事項: ビルドプロセスを移行して、互換性のある CNB を使用します。アプリケーションを適応させる方法については、 Cloud Native Buildpack の記事を参照してください。
ビルド戦略: モノレポビルドは現時点ではサポート対象外
Fir プラットフォームにおける Cloud Native Buildpack の現在の実装では、モノレポ構造 (デプロイ可能な複数のアプリケーションまたはサービスを含む単一のリポジトリ) から直接アプリケーションを構築することはサポートされていません。
影響: Heroku のビルドフェーズでは、標準のモノレポツールの統合が期待どおりに機能しない可能性があります。
推奨事項: Fir でのデプロイを目的とした各アプリケーションが専用のリポジトリに存在するか、CNB ビルドプロセスがリポジトリルート内または設定を通じて単一のアプリケーションのみをターゲットとするように構成されていることを確認します。
今後の計画: モノレポビルドの合理化のサポートはロードマップで検討中です。
ログ: Syslog ドレインに代わる OpenTelemetry
Fir はテレメトリードレインを介して OpenTelemetry (OTel) のメトリクス、ログ、トレースをサポートします。現在、Syslog ドレインは利用できません。
影響: サードパーティの OTel ネイティブのオブザーバビリティプラットフォームがすぐに動作します。リクエストのトレース機能が追加のインストルメンテーションなしで有効になります。syslog 形式に依存するツールには、まだ Fir との互換性がありません。
推奨事項: OTel ネイティブのオブザーバビリティツールを使用して目的のシグナルを監視します。Heroku アプリに関するメトリクスとアラートも利用できます。言語固有の追加のシグナルにはオープンソース SDK を利用できます。
今後の計画: OTel シグナルのさらなる強化を計画しています。当社は Fir での syslog ドレインのサポートを評価し、それらに依存する Heroku Elements パートナーと協力してエクスペリエンスの継続性を確保しています。
Fir コンプライアンス
Cedar 世代で存在するコンプライアンス認証は、SOC 1、2、3 の認証の導入とともに Fir にも導入される予定です。外部監査人から適切なレポートを受け取るまでは、Fir が特定のコンプライアンスプログラムの認証を受けたとみなすことはできません。Changelog でさまざまなコンプライアンスプログラムの認証をお知らせするとともに、Heroku Dev Center で該当のドキュメントを更新します。
Fir へのアップグレード
Cedar は依然として信頼できる選択肢ではありますが、Heroku では新しいアプリケーションや積極的に開発中のプロジェクトについて Fir への移行を推奨しています。Fir はより効率的で機能豊富な最新のプラットフォームを提供します。
Fir の採用によって、クラウドネイティブテクノロジーにおける最新の進歩を活用し、開発ワークフローを加速できます。
Fir の使用を開始する
以下のいずれかのスターターガイドを確認して、今すぐお試しください。
- Heroku Fir スターターガイド (Node.js)
- Heroku Fir スターターガイド (Python)
- Heroku Fir スターターガイド (Ruby)
- Heroku Fir スターターガイド (Java (Gradle))
- Heroku Fir スターターガイド (Java (Maven))
- Heroku Fir スターターガイド (Scala および Play)
- Heroku Fir スターターガイド (PHP)
- Heroku Fir スターターガイド (.NET)
- Heroku Fir スターターガイド (Go)
フィードバックがある場合
パイロットプログラム中にお気づきの点やバグを報告するには、https://help.heroku.com/ でチケットを開いてください。チケットはレビューのために当社の製品チームにエスカレーションされます。また、公開ロードマップ項目にフィードバックを残し、当社の製品チームもサポートできるように公開の会話を生成していただくようご協力ください。