Herokuでつくるアプリのアーキテクチャ
Herokuでアプリをつくるときに気をつけておくこと
Architecting Applications for Heroku | Heroku Dev Center
https://devcenter.heroku.com/articles/architecting-apps#principles
デプロイと設定:コードと設定は厳密に分ける。
ランタイム:軽量で・独立して動き・ステートレスなプロセスであること
Managiment and Visivility:補助的なタスクはワンオフプロセスでやる。ログはstream経由で見る
ワンオフプロセス
権利者が管理するために補助的なプロセスを実行したいときがある
DBのマイグレーション
1回きりのコード
Heroku Schedulerで(たまにコケても心配ないという程度の)バッチを定期実行する
One-Off Dynosを使う
One-Off Dyno
ロギング
Herokuでは、アプリでログを出してはいけない
代わりに各プロセスがevent streamに出力する