Open2

DevOpsとは何なのか?

iwatakaiwataka

DevOpsという概念に定義はないが、以下のスライドは、DevOpsの考え方を網羅的に説明する良い資料だと言える。

2009年の資料なので内容は古いが、DevOpsは主にツール(・自動化)的な側面と文化的な側面の2つがあることと、その2つの大まかな説明としては十分だと思っている。

ツール面における、当時から現在(2023年)までの差分と思われるものを挙げてみると、以下のようになる。

  • Dockerおよびコンテナ技術(WikipediaによるとDockerの初版は2013年)
  • 様々なデプロイ手法(blue-green deployment, rolling update, など)
    • 2009年当時の正確な状況はわからないが、Martin Fowlerのブログでblue-greenが紹介されていたのは2010年だったので、そのあたりから少しずつ普及していった考え方なのかなと推測
    • また、blue-green deploymentやrolling updateはコンテナ技術(とかクラウド技術)と親和性が高いと思うので、Docker以降に本格的に普及したと考えられる
  • クラウド
  • CI/CDや運用監視系のSaaS
  • SRE
  • その他ツール(Ansibleとか)

文化面での差分については、大きなものがあるのかどうかはわからない。
(アジャイル開発は考え方として類似点が多そうだが、アジャイルマニフェストは2001年からあったようなので、2009年から大きな差分はない?)

iwatakaiwataka

DevOpsの技術的な内容は、ざっくり言うとCI/CDと運用監視の2つに包含されるような気がする。
ただし、CI/CDという概念の中にかなり色々詰め込んだ考えになっているので、より良い分類があると思う。