Heroku には、需要に応じて dyno を瞬時にスケールできる便利なツールが用意されています。アプリのデプロイ後にトラフィックが増加したり、利用パターンにばらつきが生じたり、新機能が追加されたり、ビジネスの規模が拡大したりするなどして dyno フォーメーションの調整が必要になった場合でも、Heroku ダッシュボードや Heroku CLI から簡単に対応できます。

dyno フォーメーションのスケールの詳細はこちら >>

Heroku ダッシュボード

Heroku ダッシュボードは Heroku のコアとなる機能を利用するための Web ユーザーインターフェースです。Heroku ダッシュボードでは、アプリ、Heroku アドオン、デプロイのプロセス、指標などを簡単に管理できます。また、Heroku ダッシュボードのスライダーを使えば、dyno の数を簡単に変更できます。dyno の数を増やしたり、dyno タイプを変更したりすると、その結果が即座に dyno フォーメーションに反映されます。

Heroku ダッシュボードの詳細はこちら >>

Heroku CLI

dyno フォーメーションの管理はコマンドラインインターフェース(CLI)や Heroku プラットフォーム API からも行えます。Heroku CLI を使用すると、さまざまなオペレーティングシステムのシェルからアプリを作成して管理できます。簡単なコマンドを入力するだけで web dyno や worker dyno の数を増やすことができるほか、複数の dyno のタイプを一度に変更することもできます。たとえば、次のコマンドを使用すると、web dyno の数を 5 つにスケールすることができます。

$ heroku ps:scale web=5 Scaling dynos... done, now running web at 5:Standard-1X

Heroku CLI の詳細はこちら >>

スケールアウト:dyno の追加

特定のプロセスタイプの dyno の数を増やすと、アプリをスケールアウトできます。たとえば、web dyno の数を増やすと、着信 HTTP リクエストをルーティングできる Web サーバーインスタンスが増えるため、トラフィックが増えた場合のパフォーマンスが向上します。worker dyno の数を増やすと、アプリで並行処理できるジョブの数が増加し、より多くのジョブを処理できるようになります。ただし、バックエンドサービスでボトルネックが発生していたり、リクエストやジョブに時間がかかっていたりするような状況では、スケールアウトが効果を発揮しないこともあります。スケールアウトは Standard dyno、Performance dyno、および Private dyno のみ対応しています。

同時並行処理とスケールに関する詳細はこちら >>

スケールアップ:容量の大きい dyno へのアップグレード

容量が大きいタイプの dyno へアップグレードすると、アプリで利用できるメモリと CPU リソースが増加します。dyno はタイプを問わず相互に隔離されていますが、Free dyno、Hobby dyno、Standard dyno はマルチテナント型の dyno であるため、これらの dyno で実行されるアプリでは基本となるコンピューティングリソースが共有されます。そのため、パフォーマンスにある程度のばらつきが生じます。Performance dyno と Heroku Private Spaces で稼働する dyno は基本となるコンピューティングリソースを共有しないため、パフォーマンスのばらつきが少なくなります。

dyno タイプの詳細はこちら >>

自動スケール

Heroku では、応答時間の 95 パーセンタイルが一定のしきい値を超えたときに自動的に web dyno の数を増やすことができます。自動スケール機能はアプリの既存のスループットにもとづいて自動的に作動するため、トラフィックの急増を事前に予測する必要がなくなります。Performance dyno と Private dyno では追加料金なしで自動スケール機能を利用できます。

自動スケールの詳細はこちら >>

  • Heroku のスケール性はきわめて高く、トラフィック量が急増しても瞬時に dyno の数を増やせるので、夜も安心して眠ることができます。

    Traction Labs Brendan Eamer Traction Labs 社ソフトウェアアーキテクト お客様事例を読む >>
  • Heroku では、デバイスを何台でも非常に簡単な操作で個別に統合できます。特定のデバイスからのトラフィック量が増大しても、dyno の数を増やすだけで対処することができます。

    Yonomi Garett Madole Yonomi 社共同創業者 お客様事例を読む >>