Dyno: Heroku プラットフォームの中核

アプリ開発者が生産性を高めるための秘訣は、ソフトウェアの抽象化により開発を簡素化することです。アプリの実行に関してはコンテナ化による抽象化が有効であり、Heroku ではアプリをデプロイするだけでそのコードと依存関係ファイルがパッケージとしてコンテナに格納されるので、ハードウェアや仮想マシンの管理が不要になるというメリットがあります。コンテナとは、コンピューティングリソース、メモリ、OS、一時的なファイルシステムを備えた軽量の独立した環境です。通常は複数個が同じホストで実行されますが、それぞれのコンテナは相互に完全に隔離された状態になっています。

Heroku プラットフォームはコンテナを使用してあらゆる Heroku アプリの実行やスケールを行います。Heroku で使用されるコンテナは「dyno」と呼ばれます。Dyno はユーザーが指定したコマンドにもとづいてコードを実行するように設計された Linux コンテナであり、それぞれが相互に隔離された状態で仮想化されています。アプリで利用できる dyno の数には制限がないため、リソースの必要量に応じてスケールすることができます。Heroku のコンテナ管理機能を使用すると、アプリに必要な dyno の数、サイズ、dyno のタイプをいつでも簡単に変更できます。

Dyno はごくシンプルなものからきわめて高度なものに至るまで、あらゆる Heroku アプリの実行に必要となる要素です。Dyno にアプリをデプロイして Heroku の dyno 管理機能を利用すれば、柔軟性とスケーラビリティに優れたアプリを簡単に開発、実行できるほか、インフラの管理が不要になるため、高品質なアプリの開発と運用に専念することが可能になります。

Dyno Types

Eco

$5で各月 1000 dyno 時間

Basic

$7/dyno/月

Standard 1x

$25/dyno/月

Standard 2x

$50/dyno/月

Professional

Performance M

$250/dyno/月

Performance L

$500/dyno/月

おすすめの用途 アイディアの実験や断続的に利用されるアプリの運用に。 小規模なプロジェクトや PoC にぴったりです。 一段高い可視性、パフォーマンス、可用性で本番アプリケーションをサポートします。 大規模な高トラフィックのアプリケーションのために、ここぞという場面で優れたパフォーマンスを発揮します。
RAM 512MB 512MB 512MB 1GB 2.5GB 14GB
価格設定 $0 $7/dyno/月 $25/dyno/月 $50/dyno/月 $250/dyno/月 $500/dyno/月
Git によるデプロイ
自動的なOSパッチの適用
統合されたログ
プロセスタイプ数 2 10 無制限 無制限 無制限 無制限
常時稼動 30 分間アクセスがなかった場合はスリープ、それ以外の場合は当該月の Eco dyno 時間が残っている限り常時稼動
カスタムドメイン
カスタムドメインでの無料 SSL
カスタムドメインでの Automated Certificate Management
水平スケール
Preboot
アプリケーションのメトリクス 過去 24 時間、分解能 10 分 過去 2 時間、分解能 1 分
過去 24 時間、分解能 10 分
過去 3 日間、分解能 1 時間
過去 7 日間、分解能 2 時間
Language runtime metrics
しきい値によるアラート
オートスケール
専有 No No No No Yes Yes
Dyno の組み合わせ 他のタイプの dyno と組み合せ不可 他のタイプの dyno と組み合せ不可 Performance dyno と組み合わせ可能 Performance dyno と組み合わせ可能 Standard dyno と組み合わせ可能 Standard dyno と組み合わせ可能

Dyno の機能の詳細

ビルド時: dyno で実行するコードの準備

Heroku では、最初のデプロイから、dyno にそのままプッシュできる「スラッグ」の作成に至るまでのビルドプロセスを自動化できます。 Heroku のビルドプロセスの詳細→

実行時: プロセスと dyno タイプの設定

アプリを複数の「プロセスタイプ」に分割して dyno ごとに実行するコードを指定することによって、実行時にアプリを最適化できます。 Dyno の設定の詳細→

Dyno のライフサイクル

Heroku は dyno を管理し、必要に応じて dyno を再起動することにより、すべてのアプリとシステム全体の健全性を維持します。 Dyno のライフサイクルの詳細→

Dyno を使用したアプリのスケール

アプリのスケールが必要な場合でも、Heroku では dyno フォーメーションを変更してすばやく簡単に対応できます。 Dyno のスケールの詳細→

Heroku Private Spaces の dyno

Private Spaces のハイパフォーマンス dyno はプライベートネットワークを介して相互に直接通信します。 Private Spaces の dyno の詳細→

「Heroku によってスケールの管理はとても簡単になります。トラフィックが急増した時には、新しいサーバ群を起動させる必要はなく、単に dyno を追加すればよいのです。」

MIKE BETTEN
LitCharts 社 CTO
LitCharts 様事例→

「ピーク時間帯のリアルタイムなデータの増加は300 %にも及び、以前のシステムでは対応できませんでした。Heroku なら dyno を増やすことで、増加するアラーム量に追随することができます。」

DANE GROSS
Severn Trent Water 社迅速開発統合スペシャリスト
Severn Trent Water 様事例→