流れ8の10語目 / 10

デプロイ

開発
検証環境で変更を確かめ終えたら
「検証は問題なかったね。本番へのデプロイは夕方、社内の利用が落ち着いてからにしよう」
「デプロイ」って、何のことだろう…?

デプロイは、作ったものや変えたもの(アプリ、設定、インフラのコード)を環境に反映して、使える状態にすることです。

特に本番環境へのデプロイは、時間を選び、うまくいかなかったときの戻し方を決めてから行います。

このページで分かること読む 約3分・問題 3問
  • デプロイは、作ったものや変えたもの(アプリ、設定、インフラのコード)を環境に反映して、使える状態にすること
  • 本番へのデプロイは時間を選ぶ
  • うまくいかなかったときの戻し方(切り戻し、ロールバック)を先に決めておく
  • デプロイしたら、ちゃんと動いているかを確かめる

身近な例えで理解する

図書館で本棚の並びを大きく変えるときは、利用者の少ない時間に、職員がそろっているうちに作業します。並べたあとは案内表示が合っているか見て回り、元の配置表も残しておきます。

  • 本棚の並びを変える本番にデプロイする
  • 利用者が少なく、職員がそろっている時間利用が少なく、対応できる人がいる時間
  • 案内表示が合っているか見て回るデプロイ後に動いているか確かめる
  • 元の配置表どおりに戻すロールバック(前の状態に戻す)

新しい並びで本が探しにくくなったときに戻せるのは、元の配置表を残しておいたからです。

ちょっと確認

Q1先輩のひとこと
先輩「本番へのデプロイは夕方、社内の利用が落ち着いてからにしよう」

理由として、いちばん合うものは?

例えを外して、実際のしくみ

ここからは実際のしくみ
デプロイとは

アプリのプログラム、設定ファイル、IaCのコード(→77 IaC)、コンテナイメージ(→76)などを、検証環境や本番環境に反映して動かすことです。CI/CD(→74)では、チェックに通った変更を検証環境まで自動でデプロイし、本番に出すかどうかは人が決める(継続的デリバリー)ことも、本番まで自動で出す(継続的デプロイ)こともあります

時間を選ぶ

本番へのデプロイには、どんなに準備しても危なさがあります。だから、使う人が少なく、しかも何かあったときにすぐ直せる人がそろっている時間を選びます。社内向けのシステムなら、利用が落ち着く夕方に、チームがまだいるうちに行う、という決め方がその例です。深夜や休みの前は、人が少なく対応が遅れやすい点に気をつけます

戻し方を決めておく

うまくいかなかったときに前の状態に戻すことを、ロールバック(切り戻し)といいます。Gitの前のコミットや、前のコンテナイメージに戻せるようにしておき、「どうなったら戻すか」「誰が戻すか」も先に決めます

小さく、少しずつ

変更は小さいほど、問題が起きたときに原因を見つけやすくなります。一度に全部を切り替えず、一部の利用者やサーバーから少しずつ新しいものに切り替えるやり方もあります(カナリアと呼ばれます)。また、新しい環境をまるごと別に用意しておき、確かめてから一気に切り替え、まずければすぐ元の環境に戻すやり方もあります(ブルーグリーンと呼ばれます)

このページのまとめ

デプロイ
作ったもの・変えたものを環境に反映して、使える状態にすること
ロールバック(切り戻し)
デプロイで問題が起きたとき、前の状態に戻すこと
デプロイの時間
利用が少なく、対応できる人がそろっている時間を選ぶ
少しずつ切り替える
一部から新しいものに切り替え、問題がないのを確かめて広げるやり方

先輩のひとことの意味

先輩「検証は問題なかったね。本番へのデプロイは夕方、社内の利用が落ち着いてからにしよう」

「検証で確かめた変更を本番環境に反映するのは、社内の人がシステムをあまり使わなくなる夕方にしよう。その時間ならもし何か起きても影響が小さく、チームもまだいるのですぐ対応や切り戻しができる」という意味です。

練習問題で確かめる

Q24択

本番へのデプロイの前に、決めておくべきことは?

Q3対応づけ

言葉と意味を結びつけてください。

左から1つ選び、次に右から合うものを選んでください。

左
右

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core