趣味アプリデプロイメント
趣味アプリとは
お金を書けたくない
メンテの手間を掛けたくない
そこそこ快適に動いてほしい
たくさんのアプリをデプロイできる
負荷はそんなにない
Heroku
説明
略
pros
楽
git push で立ち上がるデプロイの楽さ
ミドルウェアを用意する必要がない
cons
遅い
サーバーをアメリカにしか置けないため、ネットワークレイテンシが体感できるレベルで大きい
高い
1アプリ数百円程度は取られるので、10個とか20個とかだとやってらんない
無料プランもあるが用途は限定的
そこそこの頻度でアクセスされるサイトだと、すぐに無料枠を使い切ってしまう
さくらのVPSに直置き
説明
さくらのVPSを一台借りて Linux を入れる
ミドルウェアをパッケージマネージャで入れ、全てのアプリで共用する
サーバーにアプリを git clone して起動する
ワイルドカード証明書を取って、サブドメインでアプリを識別し、nginx でリクエストを振り分ける
pros
簡単
特殊なことをしなくても行ける
安い
さくらのVPSはEC2 のオンデマンドインスタンス等に比べて割安
アプリの数に対して運用費が固定
速い
日本国内にサーバーあるとそれだけでかなり速くなる
cons
スペックの柔軟な変更が難しい
さくらのVPSの制約から、スペックを上げることは出来ても下げることは出来ない
サーバーの中が散らかる
アプリの数が増えるとディレクトリが増える
ミドルウェアの数が増えると設定が散らかる
アプリを増やすのが地味に面倒
nginx を手書きで都度書き直す羽目になる
サーバーの状態が再現できない
逆 IaC みたいな状態で、一度壊れると元の状態に戻すのが難しい
さくらのVPSに docker container をデプロイ
説明
さくらのVPSを一台借りて Linux を入れる
docker をパッケージマネージャで入れる
アプリイメージを作り、サーバーの docker でコンテナを起動する
ワイルドカード証明書を取って、サブドメインでアプリを識別し、nginx でリクエストを振り分ける
pros
安い
さくらのVPSはEC2 のオンデマンドインスタンス等に比べて割安
アプリの数に対して運用費が固定
速い
日本国内にサーバーあるとそれだけでかなり速くなる
cons
ミドルウェアの管理が楽
アプリごとにミドルウェアのコンテナを立てるので、ミドルウェアのバージョンを合わせなくて良いし、アプリごとミドルウェアを消せる
サーバーの管理が楽
サーバーには docker さえ入ってれば良い
アプリの設定は docker に入ってる
アプリを増やすのが面倒
nginx を手書きで都度書き直す羽目になる