ホットでデプロイな1日でした

今日ホットデプロイをしました。
検証環境ではなく本番環境でやりました。
ミッションクリティカルなアプリなので、
完全停止するわけにもいかず稼働中のままする事になりました。
しかも本番環境はリリースしたばっかりだったので初めての試みでした。


作業はフォーマンセルで挑みました。
2人が実作業、1人が他チームとの情報連携、1人がモニターでCPU等の監視です。
アプリケーションサーバ等々のミドルウェアWebSphere Application Server(WAS)です。
アプリケーションサーバーは3台です。


作業手順はこんな感じでした。

1.リリースモジュール(jarファイル)を作成する。
2.現在アプリケーションサーバーにアップロードされているJarファイルをバックアップ用にダウンロードする。
3.アプリケーションサーバーを一次サーバーから切り離す(バックアップに降格)。
4.nmonでCPUのパフォーマンスを監視し、*1JavaCoreファイルを取得して残スレッドが存在していない事を確認する。
5.jarファイルをFTPでアップロードする。
6.アプリケーションサーバーを再起動する。
7.デプロイしたサーバーのポートを指定してアプリケーションを起動し稼動確認する。
8.アプリケーションサーバーを一次サーバーに昇格する。
9.アプリケーションを起動し、該当サーバーに割り振られた上で稼動確認する。

1つのミスも許されない、かつ時間的な制限(お昼休みの間)もあったので手に汗握りました。
大変貴重な体験でしたが、オン中にやるのはリスキー過ぎますね。
やっぱりデプロイは夜やるもんですね(o ̄∇ ̄o)

*1:JavaVMのスレッドダンプ