Auto Scaling
Heroku Enterpriseの機能であるPrivate Spacesを使用し、かつPerformanceタイプのDynoを使用した場合の機能ですが、状況に応じてDynoの稼働数増減を自動的に行う「Auto Scaling」機能もあります(図4)。
この例では、Dynoの最小稼働数を1、最大稼働数を8と指定し、増減すべきと判断する指標「p95 Response Time」を「1000ms」としています。Heroku は、継続的にDynoのレスポンスタイムを監視していて、設定した閾値を満たせる最小のDyno稼働数となるように、設定された範囲の中で自動的に稼働数を増減させます。
おわりに
いかがでしたでしょうか。チーム開発においても、性能拡張の方法論や運用手法の確かな共通認識化は、アプリケーションの品質を向上させるために重要な要素です。「The Twelve Factor App」の方法論にそってアプリケーションを設計し、Heroku上で実装・運用することで、性能の拡張・縮退をスムーズに行えることをご理解いただけたかと思います。拡張性に優れたアプリケーションの開発・運用によるメリットを容易に得られそうだと感じていただければ嬉しい限りです。
