Heroku で実現するシンプルで使いやすい環境

デプロイ

Git や CI システムからのデプロイも、
GitHub ブランチへのプッシュ ごとのデプロイも可能です。Heroku ではアプリが dyno(選択した Python のバージョンに対応するセキュアなスマートコンテナ)内で実行されます。Dyno にはさまざまな種類があり、お試し用の低価格の dyno から、トラフィック量の多いアプリ向けのものまで揃っています。
Heroku の Python サポート関連文書→

管理

アプリのポートフォリオを直感的なダッシュボードや CLI で管理できます。アプリ関連のメトリクスで CPU 使用率、レスポンスタイム、スループット、メモリ使用量をモニタリングできるので、エラーの早期発見やスケールするタイミングの判断に役立ちます。アプリのバージョンの確認や安定バージョンへのロールバックも簡単です。イベントログの集計結果を見れば、アプリの動作状況がひと目でわかります。
アプリケーションメトリクス関連文書→

スケール

スケーラビリティに優れたステートレスなアーキテクチャの Heroku は、コンテナ化アプリの時代のサービス構築に最適です。Python アプリの web dyno のスケールアウトもスケールアップも、CLI コマンド 1 つで、あるいは Heroku ダッシュボードのスライダー操作で、自由自在に行なえます。
Dyno のスケール手順→

Heroku で Python を使うべき理由

フレームワークの豊富な選択肢

Django を使った独自の MVC Web アプリケーション、Flask を使った軽快な API、Pyramid を使った柔軟性の高いアプリケーション、Twisted を使ったイベントベースのアプリケーションの開発。Gunicorn または Waitress WSGI や uWSGI を含む任意の Python WSGI サーバーを使った低速クライアントの影響軽減。Flask-Sockets を使った洗練度の高い WebSocket アプリケーションの実行。Celery を使ったバックグラウンドでの非同期処理。こういったことが可能です。

ビルドとワークフローのサポート

Heroku は pip freeze を透過的にサポートしています。これにより、クラウド上のアプリケーションとその依存関係が、ローカルに置かれているときと同じように機能します。Heroku は静的アセットの動作を簡略化するため、自動的に collectstatic を実行します。また Heroku は、ビルドを高速化するため、プッシュが行われるたびにパッケージをキャッシュします。

アプリケーションを拡張する便利なサービス

Heroku Postgres(JSONB をサポートして半構造化データへの高速アクセスを実現する SQL DaaS)をはじめとする 200 以上のアドオンでアプリケーションを拡張できます。マネージド型サードパーティクラウドサービスにより、データストア、ログ記録、その他さまざまな機能が提供されます。RedisGreen は Celery における非同期タスクのキュー機能、NewRelic はアプリケーションの監視機能、Papertrail はログ記録機能を拡張します。