さまざまな組織がDevOpsに移行する理由はたくさんあります。
私は頻繁に出てくるものをリストしようとします。
変更サイクルの時間を短縮する
多くの場合、変更の要求を行ってから実際に組織で展開して使用するまでに長い時間がかかります。最初に、開発者が開発サイクルの1つで計画し、配信後、運用のリリースサイクルの1つで計画します。両方のサイクルにはテストが含まれ、問題が見つかった場合は両方のサイクルがリセットされます。開発部門と運用部門を統合することにより、両方のプロセスを合理化できます。
ソフトウェアとハードウェアの問題
バグとダフィーがアヒルの季節かウサギの季節かを議論しているバグバニーの漫画を覚えていますか?今度は、開発者がハードウェアの問題であると主張し、操作がソフトウェアの問題であると主張する開発者と操作で作成したと想像してください。エンドユーザーにとって、これは違いのない区別です。彼らはそれを直したいだけです。
開発者と運用を結び付けることで、問題を修正する必要があります。そして、それはソフトウェアとハードウェアの問題であることが判明するかもしれません。
米国対それら
多くの企業では、テスターと開発者が別々の部門であり、開発サイクルがますます正式化および標準化されていたため、テスターと開発者の間の距離は拡大していました。
アジャイルの登場により、開発者とテスターはより緊密に連携して作業を進め、開発サイクルに関する互いの視点を見始め、それを尊重するようになりました。
両方の分野が成熟し、プロセスがさらに形式化および標準化されるにつれて、これらの部門間の距離が拡大しているため、開発者と運用の間で同様のことが必要です。したがって、従来のモデルの問題の1つは、開発者と運用のどちらにとっても「私たち」対「彼ら」のように見えることです。どちらも相手の責任の難しさを完全に理解していない。
期待/利点
DevOpsを使用すると、両方の専門分野が、他の人が伝統的に実行していたスキルの一部を学習します。システム管理者がソフトウェアエンジニアになることや開発者がネットワークエンジニアになることは誰も期待しませんが、両方が他の責任を引き受けることが期待されます。これは、あなたが本当に余分な手を必要とするとき、彼らがそこにいることを意味します。
また、開発者にはいくつかの明確な利点があります。テスト環境をより細かく制御できるようになり、ユーザーにソフトウェアを展開しやすくなり、組織内のより多くの人々がクラフトの愛を共有できるようになります。