DevOpsとは、ソフトウェア開発手法の一つであり、開発(Development)と運用 (Operation)を組み合わせた造語です。開発担当者と運用担当者が連携して、協力する開発手法のため、より柔軟かつスピーディーなシステム開発が可能にしています。
DevOpsとは?
DevOpsとは、何ですか?
DevOpsとは、開発(Development)と運用 (Operation)を組み合わせた造語になります。開発チームと運用チームが連携しシステム開発に取り組むことを指します。
開発チームと運用チームが連携すると良いことって何ですか?
システムを開発する「開発チーム」と、既存システムを運用する「運用チーム」は相反する価値観をもつ可能性があります。
DevOpsは、相互のチームのマインドと様々なツールを取り込むことで、開発チームと運用チームの問題点と課題を解決していくことを目指しています。
近年IT分野では、スピードが重視されています。DevOpsでは、開発チームと運用チームが協調と連携することで、商品やサービスの開発・改善にかかる時間を短縮し、ビジネスニーズに応えることが目標になります。
DevOpsのメリット
DevOpsの主なメリットは、「短期開発」「生産性の向上」が挙げられます。DevOpsの本質は、上記で解説した通り、開発チームと運用チーム間の対立を解消することにあります。従来ありがちの内部的な対立をなくすことで、スムーズな開発と運用を実現します。
DevOpsを実践するに、そのライフサイクルの各ステップにおいて、さまざまな支援ツールの導入が必要となります。代表的なツールとして、プロジェクト管理下のファイルに対する変更履歴を記録する「バージョン管理システム」や、従来手作業で行っていた作業を自動化する「CI/CDツール」などが挙げられます。
ツールを効果的に活用することで、生産性の向上にも繋がります。生産性が向上することで、従来より人的リソースに余裕ができます。こうして生まれた余剰リソースは、さらなる品質向上や新サービスの開発などに投入できるため、よりサービスの価値が高まるという好循環が期待することができます。
DevOpsのプロセス
DevOpsの開発プロセスは下記の8つのステップを踏んで開発を行います。
ビジネスにおける、継続的な改善を実行していく手法にPDCAサイクル(Plan(計画)Do(実行)Check(評価)Act(改善))を回していくがありますが、DevOpsにおいても、PDCAサイクルを活用したプロセスになっています。
- plan : 市場調査を基に、特徴に基づいた継続的な計画を行います。
- code : 企画書を元に、システムを構築します。コーディング、レビュー、バージョン管理など一連の作業を実施します。
- build : iOS、Android、PC、ブラウザなど、様々なプラットフォームを対応するように、アプリをビルトします。
- test : 品質やパフォーマンスを上げるためテストの自動化などの作業をします。
- release : 変更管理、リリース承認、リリース自動化をします。メンテナンスなしでリリースする仕組みを求められています。
- deploy : 自動ディプロイで、様々なプラットフォームや地域に配信します。
- operate : サービスを安定保つ運用を行います。障害時、災害時などを備えてシステムの可用性を求めます。
- monitor : アプリの性能監視、KPI管理、CS対応など、企画を改善するために、継続的にモニタリングをします。
アジャイル開発とDevOpsの違い
開発スピードを早める手法として、DevOpsの他にアジャイル開発という手法があります。DevOpsとアジャイル開発の違いについて、説明していきます。
アジャイル開発は、開発工程を機能単位の小さいサイクルで繰り返す開発手法になります。これは対象を「システムやソフトウェアの開発」とした、ビジネスの価値を高める開発アプローチになります。
DevOpsでは、ビジネスの価値を高めるシステムやソフトウェア開発が目的は同様で、エンドユーザーに届けるところまでをミッションとしています。そのため、DevOpsは、「システムやソフトウェアの展開」まで、アジャイルの考えを拡張した開発アプローチともいえます。
リバースエンジニアリングに関する問題(令和5年問40)
ソフトウェア開発におけるDevOpsに関する記述として,最も適切なものはどれか。
ア. 運用側で利用する画面のイメージを明確にするために,開発側が要件定義段階でプロトタイプを作成する。
イ. 開発側が,設計・開発・テストの工程を順に実施して,システムに必要な全ての機能及び品質を揃えてから運用側に引き渡す。
ウ. 開発側と運用側が密接に連携し,自動化ツールなどを取り入れることによって,仕様変更要求などに対して迅速かつ柔軟に対応する。
エ. 一つのプログラムを2人の開発者が共同で開発することによって,生産性と信頼性を向上させる。
出典:令和5年度 ITパスポート試験公開問題 問40
正しいと思う選択肢をクリックしてみてください!!!
ア.
不正解です。
イ.
不正解です。
ウ.
正解です。
エ.
不正解です。
コメント