DevOpsの解説(基本情報技術者シラバス用語)

目次

DevOpsとは

DevOps(デブオプス)とは、システムの「開発(Development)」を担うチームと「運用(Operations)」を担うチームが密接に連携し、より迅速かつ安定して価値あるソフトウェアをユーザーに提供し続けるための開発手法や文化のことです。

従来は、新しい機能をどんどん作りたい「開発側」と、システムを安定して動かし続けたい「運用側」で対立が生じがちでした。DevOpsでは、両者が共通のゴール(ビジネス価値の最大化)に向かって協力し、ツールの導入や自動化を進めます。これにより、開発したプログラムを素早く本番環境へ反映(リリース)させることが可能になり、不具合が発生した際にも迅速に対応できるようになります。

具体例

例えば、あるアプリのサービスにおいて、開発チームが新機能を開発した際、手作業で本番サーバーに配置するのではない手法として、自動化ツールを使って数クリックで本番環境に安全にデプロイできるようにします。これにより、開発と運用の間の摩擦が減り、ユーザーからの要望をすぐにアプリに反映できます。

もう少し詳しく

DevOpsは、2009年頃から提唱され始めた、組織の文化や協働のあり方を示す概念です。Webサービスが普及した現代では、競合に勝つために「毎日でも新機能をリリースしたい開発部門(Development)」と、サーバーのダウンや障害を防ぎ安定稼働を守るために「不用意な変更は避けたい運用部門(Operations)」の対立が課題となっていました。DevOpsは、この両者が手を取り合い、一体となってビジネス価値を早期にユーザーへ届けることを目指します。DevOpsを推進するにあたっては「CALMS」という5つの重要な要素が語られます。これらは、文化(Culture)、自動化(Automation)、無駄の削減(Lean)、計測(Measurement)、共有(Sharing)を意味します。つまり、開発と運用の連携を阻む壁を取り除き、ビルド、テスト、リリースのプロセスを徹底的に自動化することで、迅速かつ安全なシステム変更を実現するアプローチを指しています。

試験でのポイント

試験では、DevOpsの基本的な目的や考え方が定義問題としてよく出題されます。「開発部門と運用部門が密接に連携し、システムの迅速なリリースと安定稼働を高いレベルで両立させるための取り組みや文化」という記述を選択肢から探せるようにしましょう。また、DevOpsを実現するために必要となる具体的な手段として、コードの変更を自動でビルド・テストして本番へ反映するCI/CDや、インフラの設定をコード化して管理するInfrastructure as Code(IaC)などの技術的トレンドが背景にあることも試験範囲として理解しておく必要があります。

関連する用語

DevOpsを技術面で支えるCI/CD(継続的インテグレーション/継続的デリバリー)や、プロジェクトの基盤となるバージョン管理、さらにはサービスの安定運用と品質維持を体系化したITILやSLAなどと関連しています。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ