web-dev-qa-db-ja.com

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

開発オペレーションとソフトウェア構成管理の違いは何ですか?

私にとっては、DevOpsとソフトウェア構成管理の両方に焦点を当てている限り、同じように見えます。

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

多分私は何かが足りないのですか? このリンク は、「ソフトウェア構成管理」という用語の使用が優先されることを示しています。しかし、それでも、リストされたアクティビティの範囲を説明するためにどのWordの組み合わせを使用しますか:開発オペレーションまたはソフトウェア構成管理

16
altern

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

enter image description here

一方、ソフトウェア構成管理は、専門分野の中ではるかに確立された用語であり、非ソフトウェア固有の用語 構成管理 から派生しています。ソフトウェア構成管理は、ソフトウェアエンジニアリングのコンテキストで参照されることが多く、単純な定義はRoger Pressmanによって "Software Engineering:A Practitioner's Approach"

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

あなたが参照するすべての用語はあいまいですが、DevOpsは、ソフトウェア管理者の観点から見た場合、構成管理、またはソフトウェア構成管理とほぼ同じ原則のセットを説明するあまり正式ではないようです 特に優先順位付け密結合チーム

DevOpsは、従来の開発活動と見なされているものと従来の運用活動と見なされているものとの間に断絶があるという認識の高まりへの対応です。この切断は、しばしば対立と非効率として現れます。

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

混乱の壁に追加することは、開発および運用ツールでのあまりにも一般的なミスマッチです。開発者が日常的にリクエストして使用する人気のあるツールを見てみましょう。次に、システム管理者が日常的に要求して使用する一般的なツールを確認します。いくつかの注目すべき例外を除いて、バグトラッカーやSCMのように、他のツールを使用したり、それらのツールを大幅に統合したりすることに大きな関心が寄せられることは疑わしいものです。ツールのタイプに重複がある場合でも、多くの場合、実装はグループごとに異なります。

用語の用法に関しては、あなたの比較は本当に意味がありません:

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

私は長年(10以上)シニアソフトウェア構成マネージャーでしたが、実際のさまざまな状況で用語が一致していません。ポジションの相対的な性質のため、非技術者にとっては珍しいことではありません。これらはどちらも特定の役割、ニーズ、要件は似ていますが、私の意見では明確に分けることができます。

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

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

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

さて、これは怒りや決定的な答えとしてではなく、それぞれの立場の違いを個人的に特定するためのものです。私がベースから外れているのか、それともこの回答によって状況がより明確になったのか知りたい。

6
Phyro

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

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

歴史的に、構成管理は開発チームによってのみ行われ、それから深い疑いを持ってそれをすべて見る運用に引き渡されました。正直なところ、これは十分に公正です。彼らが責任があります。彼らはそれがうまくいかないときに午前4時に呼び出される最初のものです。彼らは本当にその開発に何らかの関与が必要です。

4
pdr

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

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

要約すると、SCMはDevとOpsを接続します。

Connection between Development and Operations is SCM

1