技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

改めてDevOpsとは

「DevOps」という単語はセミナーで良く耳にしていたのですが、「ツールを導入し、開発部門と運用部門の連携を密にし、リリースの速度を上げる」というざっくりとした印象しか記憶にありませんでした。
他社のエンジニアと話したら「DevOpsはWeb画面のテストを自動化するツールの名前だよ」と言われて何が本当かわからなくなったので、改めて調べてみました。
 
DevOpsとは、ざっくり言うと以下のようなものらしいです。
・「開発部門(Dev)と運用部門(Ops)が連携を密にし、壁をなくす」という概念である
・サービスの迅速なリリースと安定稼働を実現するために導入するものである
・迅速な開発を行うと運用部門との連携が不可欠になるため、組織改革を行う
・組織改革する上では、文化的な移行だけでなく、ツールの導入が重要になる
・ツールとしては、テストやリリースの自動化ツール等が必要になる
 
私の実体験からしても、迅速なリリースと安定稼働を実現するためには、テストを終えた資材をステージング環境・本番環境へ上げる作業や資材管理を行う作業を効率化するツールが必要不可欠だと感じています。
ただ単にリリース頻度を増やすだけでは、運用担当者の作業負荷が高まってしまい、そこがボトルネックになってしまいます。
(運用担当者の長時間残業が常態化する、それに伴う運用ミスが起こる、といった状況になります)
また、DevOpsを推奨するベンダーとしても自社のツールを売り込みたいので、「DevOpsを実現するためにツールを導入しましょう!」という話になります。
 
というわけで、DevOps実現のためにはツールの導入が鍵を握るのですが、DevOpsの元々の目的が置き去りにされ「自動化ツール」という手段が独り歩きしているのではないか、と他社のエンジニアと話していて感じました。
(他社が独自導入しているテスト自動化ツールの名前が本当に「DevOps」という名前である可能性も否定できませんが)