ITパスポート 令和4年度 問42:開発技術・手法に関する問題
システムの開発側と運用側がお互いに連携し合い,運用や本番移行を自動化する仕組みなどを積極的に取り入れ,新機能をリリースしてサービスの改善を行う取組を表す用語として,最も適切なものはどれか。
- aDevOps正答
- bRAD
- cオブジェクト指向開発
- dテスト駆動開発
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「DevOps」 です。
DevOps(デブオプス)は、ソフトを『作る人(開発:Dev)』と『動かす人(運用:Ops)』が、別々に働くのではなく仲良く協力して、リリース(新しい機能を出すこと)をどんどんスムーズにしようという取組みです。Devとopsをくっつけた名前なんです。
👉 覚え方:DevOps=Dev(開発)+Ops(運用)が手を組む。
ほかの選択肢:b RAD=とにかく速く作る開発/c オブジェクト指向開発=部品を組み合わせる作り方/d テスト駆動開発=テストを先に作る方法。どれも『開発と運用の連携』とは違う話です。
なぜこれが正解か
正解は a。DevOpsは開発(Development)と運用(Operations)が密に連携し、ビルド・テスト・デプロイ・運用移行を自動化(CI/CD)して、新機能を高頻度かつ安全にリリースし続ける文化・取組み。問題文の『開発側と運用側が連携』『運用や本番移行を自動化』『改善を行う』がそのまま定義に一致する。
各選択肢の解説
- b RAD(Rapid Application Development):プロトタイプを使い短期間で開発する手法。運用との連携が主眼ではない。
- c オブジェクト指向開発:データと処理をオブジェクトとしてまとめる設計・開発技法。
- d テスト駆動開発(TDD):テストを先に書いてから実装する開発手法。
覚え方・ひっかけ注意
『Dev+Ops=開発と運用の融合・自動化』と語源で覚える。キーワード『連携』『自動化』『継続的にリリース』が出たらDevOps。b・c・dは“開発側だけ”の手法なので、運用との連携が論点に入っているかで判別する。
理論的背景
DevOps(Development + Operations)は、開発組織と運用組織の間に存在する「組織的サイロ(縦割り・目標相違・コミュニケーション断絶)」を解消し、コードのコミットから本番リリースまでのリードタイムを劇的に短縮するための文化・プラクティス・ツールの体系である。2009年にPatrick Deboisが開催した「DevOpsDays」がその起源とされ、2013年に出版された「The Phoenix Project」(Gene KimほかIT小説)でコンセプトが広く普及した。
DevOpsの技術的中核がCI/CD(Continuous Integration / Continuous Delivery・Deployment)パイプラインである。CI(継続的インテグレーション)は開発者が頻繁にコードをメインブランチにコミットし、自動ビルド・自動テスト(単体テスト・統合テスト)を実行してコードベースを常に健全に保つプラクティスである。CD(継続的デリバリ)はCIの先に続き、テスト済みアーティファクトをステージング・本番環境へ自動デプロイできる状態を常に維持する。Continuous Deploymentは人手承認なしに本番まで自動でリリースするさらに進んだ形態で、Netflix・Amazon・Googleなどハイパースケーラーが実践する。
実務での使われ方
代表的なCI/CDツールとして、Jenkins(オープンソース)・GitHub Actions・GitLab CI/CD・CircleCI・AWS CodePipeline が広く使われる。Infrastructure as Code(IaC)ツールとしてTerraform・Ansible・AWS CloudFormationがあり、インフラ構築・変更をコードで管理することでデプロイの再現性・監査性を確保する。コンテナ技術(Docker)とオーケストレーション(Kubernetes)の組み合わせがCI/CDパイプラインの標準構成となっており、環境差異をなくした一貫したデプロイが実現している。
DevOps成熟度の指標としてDORA(DevOps Research and Assessment)の「Four Keys」が国際的に普及している。①デプロイ頻度(高頻度ほど優秀)②変更リードタイム(コミットから本番リリースまでの時間)③変更失敗率(リリース後に障害・ロールバックが発生する割合)④MTTR(障害発生から回復までの平均時間)の4指標で開発・運用組織の能力を客観評価する。Googleの調査ではElite組織はデプロイ頻度1日複数回・リードタイム1時間未満・変更失敗率5%以下・MTTR1時間未満を達成しているとされる。
近年はDevSecOpsへの発展が顕著であり、セキュリティテスト(SAST:静的解析・DAST:動的解析)をCIパイプラインに組み込み、コードの品質・セキュリティを同時に自動検証する「Shift Left」アプローチが主流化している。
試験での位置づけ
ITパスポートの開発技術・手法分野で、DevOps・アジャイル・CI/CDは近年出題頻度が急増している分野である。本問のキーワード「開発側と運用側が連携」「自動化」「継続的にリリース・改善」がDevOpsの定義を完全に包含しているため、問題文の語句と正解の対応関係を確実に身につけることが求められる。
基本情報技術者(FE)ではCI/CDパイプラインの構成要素、ブルーグリーンデプロイメント(本番環境を2系統持ち、切り替えでゼロダウンタイムリリースを実現)、カナリアリリース(新バージョンを段階的に少数ユーザーにリリースしてリスクを低減する手法)まで問われることがある。応用情報・情報処理安全確保支援士ではSRE(Site Reliability Engineering:Googleが提唱する信頼性エンジニアリング手法)、エラーバジェット(許容停止時間内に収まれば積極的にリリースする指針)などの概念も試験範囲に含まれる。
選択肢の発展補足
選択肢bのRAD(Rapid Application Development)はジェームズ・マーティンが1991年に提唱した高速開発手法で、プロトタイプを繰り返しユーザーに確認しながら完成度を上げる「タイムボックス型開発」が特徴である。CASEツール(Computer-Aided Software Engineering)を多用し、ユーザー参加型でシステムを完成させる点はアジャイル開発の先駆けとも言えるが、運用との連携・自動化という視点はDevOpsほど明示されていない。
選択肢cのオブジェクト指向開発(OOD)はシステムを「オブジェクト(データとメソッドのカプセル)」の集まりとして設計する手法であり、UML(統一モデリング言語)でクラス図・シーケンス図・ユースケース図などを作成して設計を可視化する。オブジェクト指向はDevOpsの基盤技術ではなく、設計・実装レベルのパラダイムであるため、「開発と運用の連携」という論点には直接結びつかない。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和4年度 問42/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。