DevOpsとソフトウェア構成管理の違い


15

開発運用とソフトウェア構成管理の違いは何ですか?

私にとっては、DevOpsとSoftware Configuration Managementの両方に焦点が当てられている限り、同じように思えます。

  1. 開発インフラストラクチャの確立-バージョン管理、ビルド管理、展開管理、依存関係管理、継続的な統合と配信などを担当します。
  2. 開発者環境を整理するためのベストプラクティスを使用する。
  3. 開発プロセスの品質保証 -開発の有効性のメトリックを収集し、開発プロセスのボトルネックの除去に取り組んでいます(単体テストの実行、単体テストのカバレッジの評価、検査の実行など)
  4. インフラストラクチャ管理 -ターゲットプラットフォームとその詳細。
  5. リリース管理 -リリースが時間内に顧客/クライアントに配信されたことを確認します。

たぶん私は何かが欠けていますか?このリンクは、「ソフトウェア構成管理」という用語の使用が優先されることを示しています。しかし、それでも、リストされた範囲の活動を説明するために、どのような組み合わせの言葉を使用しますか:開発操作またはソフトウェア構成管理

回答:


18

これらの用語は、非常によく似た概念と責任を説明するものであり、一般的には同義語です。「DevOps」という用語は比較的新しいもので、Devopsdays Ghent 2009カンファレンスおよびその後のDevopsdaysイベントで普及していますこの図で最もよく説明されています

ここに画像の説明を入力してください

一方、ソフトウェア構成管理は、職業内ではるかに確立された用語であり、ソフトウェア固有ではない構成管理という用語に由来します。ソフトウェア構成管理は、多くの場合、ソフトウェアエンジニアリングのコンテキストで参照されます。単純な定義は、「ソフトウェアエンジニアリング:実践者のアプローチ」で Roger Pressmanによって与えられています。

変更される可能性のある作業成果物を特定し、それらの間の関係を確立し、これらの作業成果物の異なるバージョンを管理するメカニズムを定義し、加えられた変更を制御し、加えられた変更を監査および報告することにより、変更を制御するように設計された一連のアクティビティです。

参照するすべての用語は曖昧ですが、ソフトウェア開発者の観点から見ると、特に密結合チームに優先順位を付ける場合、DevOpsはConfiguration ManagementまたはSoftware Configuration Managementとほぼ同じ原則のセットを記述するためのあまり正式ではないようです:

DevOpsは、従来の開発活動と考えられていることと、従来の運用活動と考えられていることとの間に断絶があるという認識の高まりへの対応です。この切断は、多くの場合、競合と非効率として現れます。

同じ記事では、SCMとの類似点が記載されています。

混乱の壁に追加することは、開発ツールと運用ツールの非常に一般的なミスマッチです。開発者が日常的に要求して使用する人気のあるツールをご覧ください。次に、システム管理者が日常的に要求して使用する一般的なツールを見てください。バグトラッカーや多分SCMのようないくつかの注目すべき例外を除いて、お互いのツールを使用したり、それらのツールを大幅に統合したりすることに大きな関心があるとは思えません。ツールの種類に多少の重複があっても、多くの場合、実装はグループごとに異なります。

用語の使用に関しては、比較はあまり意味がありません。

  1. SCMはCMのサブセットであり、競争用語ではありません。
  2. DevOpsはかなり新しい用語であり、既存の用語と比較しても意味がありません。
  3. DevOpsは(明らかに)Developer Operationsから派生していますが、そのように拡張されることはめったにありません。

ソースコード管理またはソフトウェア構成管理としてのSCM はCMのサブセットですか?
交互

@zaphod_beeblebrox:その画像はウィキペディアの記事から取られています:en.wikipedia.org/wiki/DevOps :)
altern

@alternきれいな絵の下のパラグラフ:「一方で、ソフトウェア構成管理は、専門職の中ではるかに確立された用語であり、ソフトウェア固有ではない構成管理という用語に由来します。」:Pまた、写真は私がリンクしたブログから取られています。著者がウィキペディアからそれを取った場合、私は知りません。
ヤニス

@zaphod_beeblebrox:おそらく私の質問のタイトルを変更する必要があります
交互

@alternどういう意味ですか?ソフトウェア構成管理はタイトルだけではありません。また、一体何が「ソースコード管理」です。リビジョン管理を意味しますか?はいの場合、リビジョン管理はソフトウェア構成管理の一部であるため、答えはそのままです。しかし、リビジョン管理をdevopsと比較することは控えめに言っても奇妙です。
ヤニス

6

個人的に長年(10歳以上)Sr. Software Configuration Managerであるさまざまな現実の状況で用語の不一致が聞こえます。ポジションの相対的な性質のため、技術者以外の人にとっても珍しいことではありません。どちらにも似た特定の役割、ニーズ、要件がありますが、私の意見では明確に分けることができます。

これらの役割の区分を説明する最良の方法は、相互作用に対する相対性に注目することだと思います。つまり、ソフトウェア構成管理は、ソースコードの統合、展開、リリース、および管理とともに、内部システムと環境に焦点を当てています。開発者操作(DevOps)が外部で使用されるアプリケーションアーキテクチャの運用面に重点を置きながら、コードの使用目的および環境の実践を明確に理解している場合。マシンのパフォーマンスが低下の兆候を示している場合、複数のアプリケーション間の通信に障害があり、実稼働環境に関連するBtoB(Business to Business)通信および/またはアーキテクチャの制限がある場合、開発者の診断を参照して、解決。

通常、私の経験では、ソフトウェア構成マネージャーはこれらのことも実行できますが、これにより、環境構成とソフトウェアリビジョンの追跡、管理、および展開の中心的な焦点がなくなります。職務の分離、バグと欠陥の追跡、プロジェクトの追跡、ソフトウェア開発のライフサイクルとワークフローを可能にするソフトウェアの管理。これらのタスクは、Developer Operationsの中心的な焦点ではないため、それほど重要ではありませんが、それでも実行できます。

私はそれぞれの混乱の多くのインスタンスを見てきました、そして、それぞれにおいて、いくつかの制限されたクロスオーバーがあります。ただし、主な焦点に関連して、それぞれの独立したポジションの責任の違いを考えることが最も重要です。主に、環境の構成と製品のリリースを管理するために内部で使用されるシステムとハードウェアを扱う場合、ソフトウェア構成マネージャーを探します。一方、顧客が使用するシステムのシステムパフォーマンス、監視、調査、および診断を扱う場合は、Developer OperationsまたはDevOpsに注目する必要があります。

さて、これは暴言や決定的な答えとしてではなく、各ポジションの違いを個人的に特定するものです。基地から十分に離れているかどうか、またはこの答えによって事態がより明確になるかどうかを知りたい。


2
正直なところ、DevOpsは、すべてが完全に機能しなくなったときに、ソフトウェア開発者がソフトウェア構成管理を完全に認識し、説明責任を果たすことを目的としています。これを行うと、SCMへの従来のアプローチとはまったく異なるアプローチが得られます。1つは継続的インテグレーションと継続的デリバリに焦点を合わせ、もう1つは(通常)混在する人間が少ないものです。DevOpsは、アジャイルがソフトウェア開発にリーンを適用したと見なすことができるように、SCMにリーンを適用したと見なすことができます(多くの場合、そうです)。
カルフール

4

DevOpsの確実な定義を見つけるのは難しいでしょう。それはやるべき仕事というよりもアイデアのようなものです。そして、それが意味するものに正確に同意することは誰にとっても新しいアイデアです。それにもかかわらず、ここに私の見解があります。

DevOpsは、実際には構成管理の単なる新しい用語ですが、役割が1人の役割ではなく、開発チームと運用チームの間のコラボレーションであることを示すために選択されました。

歴史的には、構成管理は開発チームによってのみ行われ、その後、すべてを深く疑って操作する運用に引き継がれていました。正直言って、これは十分公平です。彼らはそれに対して責任があります。午前4時に問題が発生したときに最初に呼び出されます。彼らは本当にその開発にいくらかの関与を持つべきです。


1

これは、質問に対する簡単な説明です。DevOpsは、開発(開発環境でのプログラムコードの開発)と運用(運用環境の最大稼働時間の確保)の間の調整または関係を記述するために使用される用語です。

ソフトウェア構成管理は、この調整を実現する手段です。SCMには、開発から生産(運用)に移行するプロセスの自動化を管理するためのツールと手法が含まれていました。

要約すると、SCMは開発と運用を結び付けます。

開発と運用の接続はSCM


-1

DEVOPsは運用上の実行の終わりにあるようです-展開自動化スクリプト、環境構築、そのようなこと。一方、SCMは、製品の整合性と、製品に対する変更の効果的な管理と追跡可能性についてです。私はいつもALMをSCMの一部であると考えてきました。結局のところ、変更のドライバーや変更者がわからない場合、一体どのように製品の変更を管理できますか?展開フレームワークはどちらか一方に落ちる可能性があります-そして、どちらの側があなたが働く組織の規制上のニーズに常に依存します-結局のところ-あなたの透析機が適切にのみ動作することを意味する迅速なハックを開発者にできるようにしたいですか?開発者がIPアドレスをハードコーディングしているため、Webサイトのコードをハッキングするために、そのような状況が必要ですか?


4
より多くの質問への答えよりも暴言のようなこのルックスは尋ねた
GNAT

Deer Hunter、A Rant、ええ、確かですが、関連性はありますか?100%。これを信じてください。業界が成長して仕掛けを止めるまで、死の行進は続くだけでなく、悪化します。これは約束です。
ジャック14年

借金は問題ありませんが、stackexchangeはそれらの場所ではありません。
マットフリーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.