DevOpsの本質は、組織の壁を越えた改善活動である
西野氏は2年前に日本CAに入社する以前、国内SIerで16年間、自治体向けなどのシステム開発の現場にいた。また運用にも興味がありITIL®を勉強し、現職は運用のコンサルタントだ。その西野氏がビジネスのためのITのゴールは何かと考えたとき、答えはやはり「ビジネス価値を向上させるIT」となる。このゴールは、開発マネジメントと運用マネジメント共通だが、達成に向けた考え方や行動には、相反する要素も多い。
開発のマネジメントには、ビジネスのスピードに追従した開発と同時に、コスト抑制が求められている。それでいて品質は高くなければならない。開発の現場では、まずプロセス面ではデザインレビュー、インスペクション、ウォークスルーなどが関心事となる。テクノロジーはアプリケーションフレームワーク、開発言語、テストツールの選択などが気になる。
一方、運用部門のマネージャーの関心事はやはり、安定稼働、信頼性、高可用性、高セキュリティだ。運用の現場が考えていることは、開発の現場とはまったく違う。プロセス面では、ベストプラクティスを集めたITILのようなものをできるだけ取り入れて、自分たちも改善していこうとしている。テクノロジー面ではインフラの自動化、仮想化、ワークフローツール導入などを考えている。西野氏は「開発と運用では、末端に行けば行くほど違うことを考えている」と指摘する。
開発と運用で、異なる指向のマネジメントが現場に要求すると、それぞれが違った欲求を持つ。例えば開発は実用性を重視する。一方、運用は手続きに準拠する欲求がある。従来は、両者の欲求に違いがあっても、何とかなってきた。しかし今、ITには俊敏さへの要求が増える一方、投資は伸びていない。西野氏は「開発と運用の間にある壁をなくし、一丸となって進めるようにする。それがDevOpsムーブメントの原点」と語る。
ではDevOpsの定義は何か。西野氏は、初めてこの言葉を聞いたとき、多くの人がやるようにネット上で検索した。ところが結果を見ると、それぞれ微妙に違う。そこで西野氏は「明確な定義はない」という結論に達したという。
ただ、共通して使われている言葉があることも分かった。それらを拾い上げるとDevOpsは「開発と運用のコラボレーション、コミュニケーションを統合する方法」となる。
4つの視点でDevOpsを捉え、課題と解決策を考える
さらに「DevOpsを実行する」と動詞をつけた場合、どうなるか。そこで西野氏が考えたのは「DevOpsというのは、いわゆる改善活動なのではないか」ということだ。従来の活動と違うのは、組織の壁を越えて行うことがポイントとなっている点だ。
では改善活動と捉えるのであれば、何が重要なのか。西野氏はITILを参考に以下の3つのPを挙げる。
- People(人・組織)
- Process(プロセス)
- Product(ツール)
一般にDevOpsというと、ツールに関心が集まりがちだが、西野氏は「ツールは重要な要素だが、それだけに着目すべきではない。3つの要素をバランス良く考えていくべき」と語る。
次にDevOpsをプラン、開発、運用のサイクルで考えていくと、リリースされたアプリケーションが不具合を起こし、開発に戻される逆進現象が生じることがある。これを西野氏は“ネガティブ・フィードバック”と呼んでいる。その負の部分も含めて全体を見た上で、日本CAではDevOpsを4つの視点で捉えている。
- Service Assurance:死活監視などの運用監視。
- Application Delivery:アプリケーションの設計、製造、テスト、リリース
- Service&Portfolio Management:情報共有
- Secure:セキュリティ