ホットデプロイメント
使える状態にするよ
対象のシステムを止めないでやるよ
(普通は)再起動が必要ないよ
簡単に書くよ
ホットデプロイメント(英:hot deployment)とは
「ホットデプロイ」のこと。
用語の中身としては
作ったプログラムとかを使える状態にする(デプロイする)ときの やり方のひとつ
であり
そいつを組み込む対象のシステムを動かしたままデプロイするやり方
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「デプロイ」と「デプロイメント」について説明します。
特に「デプロイ」については結構ガッツリしっかり説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
デプロイは、超・大雑把に言うと「使える状態にすること」です。
この用語がシステム開発の現場で出てきた場合は、作ったプログラムとかをしかるべき場所に置いて、あれやこれやと設定して「さぁ!これでガンガン動かせるぞ!」な状態にすることだと思ってください。
英語の「deploy(デプロイ)」の意味は、兵士とかを「配備する」とか「展開する」とか、そんな感じらしいです。
兵士の配備が終われば、戦闘準備は万端ですよね。
そこから連想して、準備万端に状況を整えて「バッチこーい!」な状態にするのを「デプロイ」と呼んでいるのだと思います。
ここまでの説明を踏まえて、ピヨ太君の例を見てみましょう。
例えば、そうですね。
ピヨ太君がケーキを売っています。
……が、面倒くさくなりました。
そこで、ピヨ太君は自分そっくりのロボットを作ることにしました。
作ったロボットにピヨ太君の代わりをさせることにしたのです。
そっちの方が大変そうな気もしますけどね。
ピヨ太君は、楽をするためなら、どんな苦労もいとわないタイプなのです。
早速、ピヨ太君は自前のピヨピヨラボでロボットを作りました。
何回も失敗しましたが、苦労の甲斐があって、ピヨ太君とそっくりなロボット「ピヨ太ロボ」ができあがりました。
ここで ちょっと考えてみてください。
ピヨ太君そっくりのロボットができました。
これでピヨ太君の目的は達成できたのでしょうか?
もちろん違いますよね。
ピヨ太君の目的はロボットにピヨ太君の代わりをさせることです。
ピヨ太君そっくりのロボットを作ることでは ありません。
次にピヨ太君は、できあがったピヨ太ロボをピヨピヨラボからケーキ売場に運びました。
そして、電源を入れ、ケーキを売るために必要なあれやこれやの情報を教えました。
これでピヨ太ロボはピヨ太君の代わりができます。
ピヨ太君はケーキを売るのをピヨ太ロボに任せ、お昼寝を始めました。
めでたし、めでたし。
この話において、ピヨ太君がピヨ太ロボに対してやった
1.ピヨピヨラボからケーキ売場に運ぶ
2.ケーキを売るために必要な情報を教える
に相当する作業がデプロイです。
みなさんがプログラムを作る目的は、プログラムを作ることでは ありません。
プログラムを動かすことです。
プログラムが完成した時点では、まだ途中なのです。
完成したプログラムがお仕事できる状態になって、はじめて作業完了です。
この
完成したプログラムを動かせる状態にする
のが(システム開発の話で出てくる)デプロイです。
なお「デプロイ」という用語は結構あいまいな使われ方をします。
個人的には
使える状態にする
くらいの、ゆるい解釈に留めておくのが無難だと思います。
デプロイメントは「デプロイ」を名詞形で言ってみた表現です。
意味自体は「デプロイ」と同じだと思って かまいません。
英語の「deploy(デプロイ)」の意味は、兵士とかを「配備する」とか「展開する」とか、そんな感じでした。
英語の「deployment(デプロイメント)」の意味は、兵士とかの「配備」とか「展開」とか、そんな感じです。
以上を踏まえて
対象のシステムを動かしたままデプロイするやり方
が「ホットデプロイメント」です。
「ホットデプロイ」とも呼ばれます……というか、個人的には「ホットデプロイ」という言い方の方が馴染みがあります。
例えば、そうですね。
ピヨ太君のケーキ屋さんでピヨ太ロボがケーキを売っています。
ピヨ太君は、お昼寝しています。
ある日のことです。
ピヨ太君は「可愛いピヨ子ロボが接客した方が売上が上がりそうだな」と思いました。
ピヨ太君は、がっぽがっぽと大儲けしたいのです。
そこでピヨ子ロボを作りました。
ピヨ子ロボも作っただけでは意味がありません。
ケーキ屋さんに置いて、必要なことを教えて、使える状態にする必要があります。
ここで ちょっと考えてみてください。
ピヨ子ロボは、いつピヨ太ロボと取り換えましょうか?
普通は閉店後ですよね。
ピヨ太ロボが接客している途中で、いきなり「ちょっとピヨ子ロボと交換しますね~」とかやったら、お客さまが戸惑ってしまいます。
入れ替えがスムーズに終わるかも分かりません。
入れ替えたピヨ子ロボが問題なく動くかも分かりません。
営業時間内ではなく、閉店後のお客さまがいないときに取り換えた方が安全でしょう。
ところがどっこい、ピヨ太君は待てませんでした。
営業時間内にもかかわらず、お客さまが少ない時間帯を見計らってササっと取り換えてしまいました。
この話においてピヨ太君がやったのがホットデプロイメントです。
お店を開けたまま(システムを動かしたまま)、ピヨ子ロボを配置する(デプロイする)行為です。
デプロイは作ったプログラムなり何なりを配置して使えるようにする行為です。
デプロイすると、システムの中身が変わります。
システムが動いている最中にシステムの中身が変わったら、おかしなことになりそうですよね。
ですから、普通はシステムを止めてからデプロイします。
とはいえ、世の中には「止めちゃダメだよ!」なシステムも少なくありません。
そんなときは、あれやこれやと工夫して、対象のシステムを動かしたままデプロイします。
そんな
対象のシステムを動かしたままデプロイする
のがホットデプロイメントです。
なお、ホットデプロイメントした後のシステムは再起動が必要ないことが多いです。
ホットデプロイメントするのはシステムを止めたくないからです。
せっかくシステムを止めないのでデプロイしたのに、再起動するためにシステムを止めたら本末転倒ですよね。
一言でまとめるよ
まぁ「ホットデプロイメント」って単語が出てきたら「対象のシステムを止めないでデプロイ
(作ったプログラムをしかるべき場所に置いたり、あれやこれやの設定をしたりして、使える状態にすること)するやり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「hot(ホット)」の意味は「熱い」とか「暑い」とかです。
「deployment(デプロイメント)」の意味は「(兵士とかの)配置」とか「(兵士とかの)展開」とかです。
何となく くっつけると
熱いまま配置
となります。






