ホットでデプロイな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のスレッドダンプ