DevOps
DevOpsの文献には、組織のIT部門以外からのDevOpsイニシアチブへの重要な参加が必要だと勧めている記事がある。例えば、「DevOpsは、企業全体にもたらされたアジャイルの原則である」というメッセージがある。もう一つの広い範囲からの参加の例は、内部資金調達プロセスへの変更:「資金調達は通常滝のように提供される。しかし、継続的デリバリー・モデルには、適していない確定日付(月、四半期、会計年度、など)というゲートがあるので、資金調達も継続的でなければならない。」 DevOpsの導入は、以下のような多くの要素によって推進されている。
アジャイルなどの開発プロセス・方法の使用
(アプリケーションとビジネスユニットの利害関係者からの)生産リリースの増加に対する需要
(内部と外部の提供者からの)仮想とクラウドインフラストラクチャの幅広い利用可能性
データセンターの自動化と構成管理ツールの使用の増加
テストの自動化と継続的な統合方法の重点
公開されている大量の最善の措置
DevOpsの概念はアジャイルソフトウェア開発といった概念とも関連している。ただし似てはいるが、方法は異なる。アジャイルソフトウェア開発は考え方と学びを変えることが組織改革につながるという手法であり、DevOpsは組織改革を強化することで目標を達成する手法である。 小さな変更を頻繁にリリースすることの多いアジャイルソフトウェア開発においては、開発担当者と運用担当者の連携を密にする必要があり、こうした開発手法の普及とともにDevOpsの考え方が広まることとなった。アジャイルソフトウェア開発が拡がるにつれて、リリース回数が増加する傾向のなかでDevOpsが開発された。 DevOpsの目標の一つは、より信頼性の高いアプリがより早く頻繁にリリースされる環境を作ることである。この目標を達成するために、リリース管理者は継続的なデリバリー方法を取りながら、アプリケーションリリースの自動化や継続的な統合ツールなどを利用し始めている。 DevOpsに関わる多くの考え方や関係者は、エンタープライズシステムの管理とアジャイルソフトウェア開発の潮流のなかから生まれた。
実験と実践が同様に重要である。リスクから学ぶこと、反復、又は練習を職場文化に組み込むことは、熟練への鍵である。リスクを取って実験したり、改善と習得を促進したりすることで、間違いを取り返すために必要なスキルを身につけることができる。
DevOpsを効果的に実践するためには、ソフトウェア・アプリケーションはアーキテクチャ上重大な要求(ASR)と呼ばれている要求を満たす必要がある。展開性、修正可能性、テスト容易性、と監視性などASRは高い優先度を必要とする 基本的には、どのようなアーキテクチャ・スタイルでも、DevOpsを実践することは可能である。しかし、展開されるシステムを構築する場合のマイクロ・サービスのアーキテクチャ・スタイルが標準になりつつある。各サービスのサイズが小さいため扱いやすくなり、そして、継続的な編集を通じて、各サービスのアーキテクチャが見えるようになる。そのため、大きな初期設計が不要となり、ソフトウェアを早期に継続的にリリースすることができる。