デプロイ構成の種類
下に行けば行くほどリリース周りの調整ごとがへりリリースまでの時間短縮になります。
方法 | 説明 |
---|---|
アーティファクト配置 | ビルドした資材(アーティファクト)を物理マシンや仮想マシンへ直接配置します。特にモノリシックなシステムでは良く見かける手法です。
ただ、この手法だとミドルウェアやOSの状況が、ローカルとサーバーで異なってしまいリリース時にバグが出るみたいな状況が発生する可能性が高まります。 |
VMイメージ | 資材配置が終わった後の仮想マシンイメージを作成します。イメージを展開、起動します。一度手動配置したものを複製して使うので、大量のサーバーに同じものを配置したいと言う要件の場合は手作業が減ります。
ミドルウェアやOSも含めてイメージに含めるのでローカルとサーバーで環境がズレるということがなくなります。 |
コンテナ | 昨今主流になってきている手法です。資材配置が終わったコンテナを作成してコンテナを使ってサーバーを立ち上げたり起動したりします。
ただ、VMイメージだとOSも含まれていて動作が重いと言うことで軽量なコンテナが好まれるようになりました。アーティファクトとして含まれるのはミドルウェア以上になります。 |
サーバーレス | 最も新しい手法です。クラウド事業者が提供する環境に直接アーティファクトを展開します。
ただ、ミドルウェアも含んでしまうと保守が大変になります。なので保守工数削減のためにサーバーレスという考え方が最近流行り始めるようになってきました。 |
デプロイ手法の種類
手法 | デプロイ先 | タウンタイム |
---|---|---|
サービス停止、デプロイ | 稼働中サーバー | 閉塞期間 |
ブルー/グリーンデプロイ | 新規サーバー | ほぼゼロ |
イミュータブルデプロイ | 新規サーバー | ほぼゼロ |
ローリングデプロイ | 新規サーバー | ゼロ |
サービス停止、デプロイ
モノリシックなシステムでよく使われるリリース手法になります。
Sorryサーバー
このサーバーを配置してメンテナンス中はこのサーバーから配信してメンテ中であることを表示するような構成にしておきます。
ブルー/グリーンデプロイ
ブルー環境
稼働中の環境でデプロイ中でもアクセスが可能なようにしておきます。
グリーン環境
リリースするタイミングで新規で環境を用意してそこにデプロイします。また、新しい環境がダメだったらすぐにブルー環境に切り戻しができるのもブルーグリーンデプロイの特徴になります。
イミュータブルデプロイ
ブルーグリーンデプロイに似ています。ただ、異なる点はリリースされたら元の環境は削除する点です。
では、切り戻すためにはどうすれば良いのかというと、古い環境を新しく作り直すという手法がとられます。(名前のイミュータブルの由来)
つまり、古かろうが新しかろうが毎回新しく環境を作り直す手法です。
ローリングデプロイ
決められた台数ずつイミュータブルデプロイを行う手法です。
デプロイの要件
アプリケーションの構成要素
どんなプログラミング言語、フレームワーク、ミドルウェアを使って開発されたアプリか。
実行環境や規模
どんなサーバーに何台デプロイするか。
許容時間
デプロイ開始から終了まで何分かけて良いか。
納期はいつまでか
自動化にかける時間はあるのか。
予算はいくら使えるか
自動化にかける初期費用はあるのか。
この記事へのコメントはありません。