SysadminとDevOps Engineerの違いは何ですか?


40

ジョブに応募するとき、通常、2種類の類似したジョブを見つけることができます:システム管理者エンジニアDevOpsエンジニア

どちらもサーバー構成を処理し、コンピューターシステムの信頼性の高い動作を保証します。2つの違いを区別するのは難しい場合があります。それらの主な違いは何ですか?




SREとsysadminの用語は異なります。
ケノーブ

2
sysadminの定義を含め、それをDevOpsの役割と比較できる回答を許可することをお勧めします。個人的には、DevOpsは役割でさえないと思います。
エフゲニー

1
@Evgenyそれを人材紹介会社に伝えてください。
ケノーブ

回答:


54

主にDevOpsは役割ではありません(そのように使用される場合、実際の役割よりも流行語になります)。

DevOpsは、開発者とシステム管理者の間のサイロを打破することを目的としたおおまかな組織パターンです。
主な目標は、製品の定義、アーキテクチャの決定からこの製品の実行中のメンテナンスまで、製品(アプリケーション)を担当する開発者とシステム管理者(通常はテスター)でチームを構築することです。
チームの各メンバーは製品のライフサイクル全体の決定の一部となり、開発者は本番環境でいくつかのsysadminタスクを実行し、sysadminは製品の設計段階に参加してインフラストラクチャの観点からの警告を回避します。例えば。

理想的には、システム管理者も製品の開発チームの一員であり、実際のシステム管理者コードでは製品および監視ソリューションの構成について詳しく説明しますが、チームの他のメンバーに懸念を表明できるため、多くの誤解を避けることができます展開プロセス。


9
そんなに... DevOpsは役割ではありません。DevOpsカルチャの「一部」とは異なる方法でシステム管理を「実行」します。
ケンマグラージュ

2
私が働いていたいくつかの組織は、これを極端なものにしました(おそらく設計よりも偶然によるものです)。専用のシステム管理者はおらず、すべてのシステム管理作業は「通常の」開発者によって行われました。(この特定の組織では、開発者の多くが非常に経験豊富なシステム管理者だったため、専門の人を雇う必要はありませんでした。)
カートJ.サンプソン

「DevOpsはおおよそ組織パターンです」、これまでに読んだ啓発的なスニペット。
ウェブウーマン

DevOps!= NoOps
sgargel

20

短縮版

DevOpsは、組織文化、アジャイル/リーン作業方法、およびソフトウェア自動化を組み合わせたもので、システム管理および運用に適用すると、これらの機能をアジャイルまたはリーン開発チームと同じレベルの俊敏性で動作させることができます。

ロングバージョン

DevOpsの背後にあるアイデアは、システム管理、運用、アジャイルコミュニティから生まれました。特に、Patrick DeboisAgile2008で「アジャイルインフラストラクチャ」というタイトルのプレゼンテーションを行い、組織内の3つの機能の動作方法の違いを強調しました。

  1. アジャイル開発チーム -コードを書くアジャイルチーム。
  2. システム管理チーム -ソフトウェアを実行するためのインフラストラクチャを構築します。
  3. 運用チーム-Production / Liveのアプリケーションとインフラストラクチャをサポートします。

Deboisの提案は、システム管理チームと運用チームをウォーターフォールモデルからアジャイルモデルに移行する3つの方法を統合することでした。そのために、Deboisセットアップゲント、ベルギーのDevOpsDays 2009不注意フレーズ圧印DevOpsチームを

DevOpsのアイデアは、VisibleOpsシリーズの本の著者たちと共鳴しました:Gene Kim、George Spafford、Kevin Behr。The Phoenix ProjectThe DevOps Handbookを書き続けた人。どちらの本も、アジャイルとリーンがシステム管理および運用チームにプラスの影響を与える方法を探っています。


1
素晴らしい要約!この哲学と工学スタイルの背後にある歴史について、私はまだ見たことがありません。
ジェシーアデルマン

9

運用のバックグラウンドから来たDevOpsエンジニアとして、サーバーとソフトウェアの手動での構築と展開から、BASH、PowerShell、Pythonなどを使用したサーバーへのソフトウェアのインストールのスクリプト作成に移行しました。クールなスクリプトは、デプロイメント自動化するより洗練された方法を模索し始めています。

最終的には、システムの艦隊の状態を管理するのに役立つChef、Puppet、Ansibleまたはその他の構成管理ツールを使用することになります。アプリケーションの展開とシステム管理の自動化のスキルがツールとともに成熟するにつれて、ごく最近、「コードとしてインフラストラクチャ」の領域に移行し、それを使用してソフトウェアのデプロイメントだけでなく、必要なインフラストラクチャと環境を自動化していますビジネスのクラウドへの移行中にソフトウェアを推進します。

今、あなたはガスで料理しています。長期にわたって、ソース管理などの開発者中心のツールを使用して、展開および管理ツールの武器を構成するモジュール、レシピ、テンプレートを管理する利点を紹介してきました。

DevOpsチームに移行したとき、ソフトウェア開発ライフサイクルと継続的インテグレーションの概念に触れました。これらの開発者は、変更を迅速にリリースしていたため、開発者とより緊密に連携していることに気付きました!あなたは開発チームに置かれた「物事を変えなければならない」緊急性を経験しました。もうシステムの稼働時間を自慢する必要はありません。使い捨てのインフラストラクチャに興味があります。

DevOpsへの移行は、devsで作業したり、新しいツールテクニックを使用したりするだけではないことに気づきましたが、チーム全体に明確な文化的変化があり、それが組織全体に浸透しました。あなたは、責任共有し、ツール共有し、目標共有する緊密なチームとして働いていました。

自動展開のスキルを活用し、JenkinsBambooCode Pipelineなどの「継続的インテグレーションサーバー」によって調整される「CICD」パイプラインにそれらをマッサージしました。開発者が新しいコードをプッシュすると、スクリプト、ツール、テンプレートが新しい環境をオンデマンドで立ち上げ、テストフレームワークをトリガーして作業を行い、リリースで緑色のライトが点灯した後、運用前環境を破棄します。 「継続的デリバリー」のアイデア。

新しいコードがCICDステージを通過するにつれて、ユーザー、開発者、およびビジネスは、実稼働環境にリリースされたときに更新プログラムが破損しないという自信を得ます。チームが「継続的な展開」を開始する前に、いくつかの方法がありますが、ブルー/グリーン展開機能の自動化のより細かい点に落ち着く必要があり、ほとんどの決定はビジネス上のものです。とりあえず、午前3時にコールの数が減り、sev-1とsev-2の数が減少することに満足しています。

sev-1を取得したとしても、マネージャーが背中を下ろして徹夜することはもうありません。CICDパイプラインを介して以前のバージョンを簡単にリリースし、すぐにシステムをオンラインに戻すことができます。ビジネスは、変化速度にもかかわらず、ITシステムの安定性が改善されたことに気づいています

特にデータセンターのレールに残された血の量と量を思い出すと、ビジネスでソフトウェアを動かすために必要なリソースを管理する方法に驚くでしょう...


6

SysadminとDevOps(個人用ビュー)

一部の企業は、開発、運用、およびテストについて話します。何かをテストする必要がある場合、彼らは言う:「テストはそれをするべきだ」。何かを開発する必要がある場合、Devがそれを行い、ソフトウェアを展開する必要がある場合、Opsがそれを行います。

私の意見および私がいくつかの企業で経験したことは、これが「壁を越えて投げかける」という考え方をもたらし、それが人々とチームの間の摩擦をもたらすということです。個人的に、私は時々人々が個人的に働くと感じ、これが私がしたことだと言います、私はチームとして働く代わりに何もすることはありません。

私によると、DevOpsは、チームの全員が開発、テスト、運用に責任を持ち、忙しいことを意味します。チームに私はいませんし、別の部署もありません。みんな解放すべきです。もちろん専門もありますが、私の意見では、誰もがすべての分野でいくつかの仕事の少なくとも25%を行うことができるはずです。たとえば、誰かが開発者であった場合、一部の構成管理コード(chefやソフトウェアのデプロイなど)を変更できるはずです。

参照資料

システム管理者

ウィキペディアによると:

システム管理者(システム管理者)は、コンピューターシステムの維持、構成、および信頼性の高い運用を担当する人です。特にサーバーなどのマルチユーザーコンピューター。

システム管理者は、管理しているコンピューターのアップタイム、パフォーマンス、リソース、およびセキュリティが、予算を超えずにユーザーのニーズを満たすように努めています。

これらのニーズを満たすために、システム管理者はコンピューターのコンポーネントとソフトウェアを取得、インストール、またはアップグレードできます。定期的な自動化を提供します。セキュリティポリシーを維持します。トラブルシューティング; スタッフの訓練または監督。またはプロジェクトの技術サポートを提供します。

DevOps

ウィキペディアによると:

DevOps(「開発」と「オペレーション」のクリップされた化合物)は、製品管理、ソフトウェア開発、および運用の専門家間のコミュニケーションとコラボレーションを重視するソフトウェア開発および配信プロセスです。これは、ソフトウェアの構築、テスト、およびリリースが迅速、頻繁、およびより確実に行われる文化と環境を確立することにより、ソフトウェア統合、テスト、展開、およびインフラストラクチャ変更のプロセスを自動化および監視することでこれをサポートします。

DevOps

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

DevOpsツールチェーン

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


1
ほんの1つのコメント:チーム全体が開発/運用/テストエリアの各側面を適切にカバーし、良好なコミュニケーションを持っている限り、チーム内の各個人がそのようなすべてのエリアもカバーすることは絶対に必要ではありません。確かに、それが起こるのは良いことですが、場合によってはそれを必要とすることは不必要に高価になるかもしれません。
ダンコルニレスク

2

システム管理者はサーバーの保守と構成を担当し、その責任はユーザーが探しているパフォーマンス、稼働時間、セキュリティを確保することです。正式なキャリアパスがなく、DevOps自体にさまざまな形態があるため、DevOpsエンジニアの役割を定義するのはもう少し困難です。

DevOpsエンジニアは、たとえば、ネットワークと展開の操作に関心のある開発者、またはコーディングとスクリプト作成に情熱を傾けるシステム管理者などです。システム管理者からDevOpsエンジニアへの移行はそれほど難しくありません。実際、この記事ではプロセスを説明する非常に良い仕事をしています。

多くの人々は、システム管理者からDevOpsエンジニアへのこの移行は、システム管理者の地位が将来廃止されるため、不可欠であるとさえ主張するでしょう。メンテナンスが必要なレガシーサーバーがたくさんあり、システム管理者が多くの「部族の知識」を持っているとしても、sysadminの立場は今後ますます少なくなるでしょう。


-1

データセンターで実行されていると聞いていないサーバーが存在することになります。すべてがソフトウェアになります。ストレージ、ネットワーク、システム、セキュリティ、データセンター。SDN、ファイアウォール、NFV、ストレージ、サーバーなど。ソフトウェア開発の背景、SDLC経験(Perl、Powershellなどのスクリプト作成を意味することさえない)のないシステム管理者は、おそらく消えてしまうでしょう。ほとんどがクラウドである分散型のスケーラブルな仮想化環境は、垂直ではなく水平に成長します。


システム管理者は垂直方向に成長し、DevOps(またはOpsDev)は水平方向に成長します。マイクロサービスがモノリスからどのように進化したかという同じパターンを見ることができます。運用/システムチームからではなく、ソフトウェアチームからDevOpsエンジニアを選びたいです。

運用/システムチームは、ソフトウェアチームが作成したものを実行するだけです。

  • システム管理者は、ソフトウェアエンジニアがアプリケーションをビルド/コンパイルするように、Linux / FreeBSD / windowsカーネルなどをビルド/コンパイルしません。
  • システム管理者は、ソフトウェア開発ライフサイクル(SDLC)を実行しません。
  • システム管理者は、生産パイプライン(CI / CDプロセス)の一部ではありません。
  • Sysadminは、CI / Continuous Delivery / Deploymentの終了後に動作を開始します。

    また、展開/配信を中断して割り当てると、破損したパイプラインになる可能性が
    あります。ソフトウェアチームが作成者システム/運用チームがランナー/管理人です。

管理するサーバー/システムがなく、システム管理者が必要ないようです。

サーバーレスコンピューティングは、クラウドプロバイダーがサーバーとして機能し、マシンリソースの割り当てを動的に管理するクラウドコンピューティング実行モデルです。価格は、事前に購入したキャパシティサーバーレスコンピューティングではなく、アプリケーションで消費される実際のリソース量に基づいています

ソフトウェアチームの誰かが、コーディングの方法(SREとDevOps / OpsDev)を構築、維持する方法を既に知っています。


なぜOpsDevではなくDevOpsと呼ばれるのでしょうか?それは2つの間の方向に関係していますか?

*どこでもないところで、私はソフトウェア定義のストレージについて書き始めませんでした、これはそれについての今削除されたコメントへの反応です*

ソフトウェアデファインドストレージについて

  • ソフトウェア定義ストレージ(SDS)は、基盤となるハードウェアに依存しないデータストレージのポリシーベースのプロビジョニングと管理のためのコンピューターデータストレージソフトウェアのマーケティング用語です。 ソフトウェアデファインドストレージ

  • EMCは、初のオープンソース製品であるProject CoprHDを発表しました。CoprHDはSoftware Defined Storageの自動化および管理コントローラーであり、オープンソースに対するEMCの最近の決定は、成長と極端な変化の領域に参入する際にグローバルビジネスにより大きな価値を提供する戦略の核心にあります。 ストレージおよび情報管理の世界的リーダーとして、EMCはSoftware Defined Storage(SDS)の道をリードする必要があります。

  • CoprHDは、オープンソースのソフトウェア定義のストレージコントローラーおよびAPIプラットフォームです。ブロック、オブジェクト、ファイルストレージプロバイダーCoprHDのストレージリソースのポリシーベースの管理とクラウド自動化を可能にします


1
回答に名前の呼び出しを追加し直さないでください。質問と一致するようにしてください。ガイダンスについては、回答方法を読むことをお勧めします。
テンシバイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.