令和4年度 ITパスポート試験 公開問題 問42 解説 DevOps
システムの開発側と運用側がお互いに連携し合い,運用や本番移行を自動化する仕組みなどを積極的に取り入れ,新機能をリリースしてサービスの改善を行う取組を表す用語として,最も適切なものはどれか。
- ア DevOps ✓ 正答
- イ RAD
- ウ オブジェクト指向開発
- エ テスト駆動開発
解説
キーワードである「開発(Development)側」と「運用(Operations)側」の連携という点に着目しましょう。この2つの単語を組み合わせた造語が正解となります。
DevOps(デブオプス)は、システム開発担当者と運用担当者が密接に連携し、自動化ツールなどを活用して、システムの開発からリリースまでのサイクルを速く回すための考え方です。これまでは開発が終わった後に運用へ引き継ぐという分断された体制が一般的でしたが、それでは急な仕様変更やトラブル対応に時間がかかってしまいます。DevOpsでは、計画・開発・テスト・デプロイ・運用という一連のプロセスを一体化させ、顧客の要望に素早く応えることを目的とします。
他の選択肢について解説します。
RAD(Rapid Application Development)は、プロトタイプ(試作品)を繰り返して短期間でシステムを開発する手法です。少人数のチームでユーザーと対話を重ねながら迅速に開発を進める点では似ていますが、運用との連携を主眼に置いたDevOpsとは目的が異なります。
オブジェクト指向開発は、システムを部品(オブジェクト)として捉えて組み合わせる設計手法です。プログラムの再利用性やメンテナンス性を高めるためのアプローチであり、開発手法の一種ではありますが、運用との関係性を定義するものではありません。
テスト駆動開発(TDD:Test Driven Development)は、まずテストコードを書き、そのテストを通るようにプログラムを実装するというコーディングの手法です。品質を維持しながら効率よく実装を進めるための技術ですが、これも開発プロセスの一部であり、運用チームとの連携を指す用語ではありません。
DevOpsは、近年急速に普及しているクラウドサービスやアジャイル開発と相性が良く、ITパスポート試験でも頻出のトピックです。特に、自動化(自動テストや自動デプロイ)というキーワードが出てきたらDevOpsを疑うのが合格への近道です。
- 日本DevOpsの歩みと未来 - エンジニアの知恵を共有するQ&Aサイト Qiita