DevOpsと継続的デリバリー

DevOpsの協業文化とCI/CDパイプライン、IaC・コンテナ技術の基礎を会話でやさしく整理。

編集・検証: ITパスポートスタディ編集部 公式情報: IPA ITパスポート試験公式ページ 制作・検証方針

新機能を「早く」出したい開発と、システムを「安定して」回したい運用。仲が悪くなりがちなこの二人を、文化とツールの力で手を組ませるのがDevOpsです。CI/CD・IaC・コンテナまで、開発技術分野の頻出ワードをまとめて整理しましょう。

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

今日は「DevOps」よ。
まず想像してね。
新しい料理を毎週出したいシェフと、お店を毎日きちんと開け続けたい店長。
二人がケンカしてたら、お店はどうなるかしら?

星見 めい(笑い) 星見 めい

そりゃ回らないじゃん。
新メニュー出すたびに店長が『勝手なことすんな!』ってキレそう。

紫垣 こはる 先生(普段) 紫垣 こはる 先生

ふふ、それが昔のIT現場なの。
新機能を早く出したい開発チームと、止めずに安定運用したい運用チームが対立してたのよ。

蜂谷 まこと(普段) 蜂谷 まこと

その対立を協力関係に変える考え方がDevOpsですね。
Development と Operations をつなげた造語です。

小夜川 ほのか(びっくり) 小夜川 ほのか

へぇ〜。
じゃあ何か新しいツールの名前、ってわけじゃないんですねぇ?

蜂谷 まこと(普段) 蜂谷 まこと

そこ大事です。
DevOpsはソフトではなく文化・手法の総称。
それを4語で覚えるのがCAMS、文化・自動化・測定・共有です。

星見 めい(普段) 星見 めい

カムス…カムス…よし覚えた。
で、具体的には何を自動化すんの?

蜂谷 まこと(普段) 蜂谷 まこと

中核がCIとCD、あわせてCI/CDです。

小夜川 ほのか(しょんぼり) 小夜川 ほのか

シーアイとシーディー…似てて混ざっちゃいますぅ。
違いって何なのぉ?

紫垣 こはる 先生(普段) 紫垣 こはる 先生

CIは『コードをこまめに合流させてすぐ自動テスト』まで。
CDはその先、『いつでもリリースできる形まで自動で運ぶ』ところ。
CIがバトンの受け渡し、CDがゴールまでの走り、ってイメージね。

蜂谷 まこと(普段) 蜂谷 まこと

補足すると、CDは2種類。
人が最終ボタンを押すのが継続的デリバリー、本番反映まで完全自動なのが継続的デプロイメント。
同じ『CD』でも到達点が違うんです。

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

そしてコードをリポジトリにpushすると、自動でビルド→テスト→デプロイ。
この一連の流れをパイプラインと呼ぶのよ。

星見 めい(笑い) 星見 めい

なるほど、自動テストが番人なんだ。
バグったコードはテストで止められて先に進めない、と。
マジで便利じゃん。

蜂谷 まこと(普段) 蜂谷 まこと

ツールも頻出です。
Jenkins・GitHub Actions・GitLab CI/CD・CircleCIあたりを押さえましょう。

紫垣 こはる 先生(普段) 紫垣 こはる 先生

自動化はアプリだけじゃないわ。
サーバやネットワークの設定までコードで書いて管理するIaCも重要。
Terraformなどが代表ね。

小夜川 ほのか(びっくり) 小夜川 ほのか

設定をコードに?
手で一個ずつ作らなくていいってことですかぁ?

蜂谷 まこと(笑顔) 蜂谷 まこと

そうです。
手作業だと人によって設定がブレますが、コードなら同じ環境を何度でも正確に再現できます。
Gitで履歴も残り、元に戻すのも簡単なんですね。

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

その『環境ごと持ち運ぶ』を実現するのがコンテナよ。
代表がDockerね。

星見 めい(笑い) 星見 めい

Docker、エンジニアがよく言ってるやつだ!
お弁当箱にアプリと環境を詰めて、どこで開けても同じ、みたいな?

蜂谷 まこと(普段) 蜂谷 まこと

うまい例えです。
弁当箱が増えると管理が大変なので、Kubernetesでまとめて自動管理します。
読みは『クーベネティス』、k8sと略します。

小夜川 ほのか(笑顔) 小夜川 ほのか

クバネ…ティス…名前むずかしいですぅ。
でも持ち運べるって便利なのぉ。

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

じゃあ整理ね。
DevOpsは開発と運用の協力文化、中核はCI/CDの自動パイプライン。
設定はIaCでコード化し、コンテナとKubernetesで持ち運ぶ。
合言葉は『カムス』。
発展でDevSecOps(セキュリティ込み)とGitOps(Gitを正とする運用)も名前だけ覚えておくと安心よ。

星見 めい(笑い) 星見 めい

開発と運用、仲直り大作戦ね。
覚えやすっ!

確認クイズ

開発チームと運用チームが協力する文化を重視し、継続的な統合・デプロイの自動化によってリリースを素早く繰り返す考え方はどれか。

  1. ウォーターフォールモデル
  2. DevOps
  3. ERP
  4. SOA
こたえを見る

正解: 2. DevOps

DevOpsは Development と Operations を合わせた考え方で、両チームの協業文化とCI/CD・IaC・コンテナによる自動化が柱です。ウォーターフォールモデルは工程を順に進める開発手法で協業の自動化を指しません。ERPは企業資源を統合管理する仕組み、SOAはサービス単位でシステムを組む設計思想で、いずれも開発と運用の協業文化とは別物です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。