今日からはじめる DevOps 改善 ~ DORA Accelerate State of DevOps Report 2021 ~
Google Cloud Japan Advent Calendar 1 日目です!今年はカスタマーエンジニアだけでなく、各部門から選りすぐりの投稿があります。ぜひご注目ください :)
今日のテーマは “DevOps の改善” です。今年 9 月 Google Cloud の DevOps 研究チーム DORA から、2021 年の研究成果が発表されました。概要は以下ブログにまとまっています。
今日は
- もう少し深く、そのレポートを振り返り
- DevOps を改善するためのおおまかな流れ
- 改善にご利用いただける Google Cloud からの情報
をご紹介します!
研究の背景
DORA の研究目的は
- 組織で高い IT パフォーマンスを実現する方法
- ソフトウェアを開発・提供する効果的かつ効率的な方法
の変化を捉え、その改善の指針を得ることです。この 7 年間、IT パフォーマンス向上という観点で、DevOps の果たす役割を研究し続けています。研究では計測すべき重要な指標として、以下 5 つ(前回までは 4 つ)を定義しています。
- 環境に変更が反映されるまでのリードタイム
- デプロイの頻度
- 変更後のエラー発生率
- 障害時のサービス復元時間
- 信頼性目標を達成する能力 (New)
余談ですが、ここでおもしろい視点があります。DevOps という言葉には一般に合意された定義はありませんが、関連 Podcast では「DevOps?この 5 つの指標を思い出せばいいよね(意訳)」と言っています。彼らのような本格的な研究でなくとも、上記指標は社内で DevOps を議論するときのヒントになるのではないでしょうか。議論のベースラインをそろえる意味でも定量的評価の導入は有意義ですよね。
2021 年度の DORA 研究結果
DORA では例年大規模な調査・研究を行っていますが、今年は各業界 32,000 人を対象に実施し、組織・チームを実際の DevOps パフォーマンスに応じて 4 つに分類しています。そして今年はパフォーマンスが最も高いチームは、低いチームに比べ
- 環境に変更が反映されるまでのリードタイムは 6,570 倍短い
- デプロイの頻度は 973 倍高い
- 変更後のエラー発生率は 3 倍以上低い
- 障害時のサービス復元時間は 6,570 倍以上短い
という結果がでました。組織間での DevOps 実装の差は年々広がっているようです。
さらに注目いただきたいのは、今年から
- (可用性に限らない)“信頼性” と SRE
- ソフトウェア サプライチェーンへのセキュリティ実装
- 高品質な内部ドキュメント
- クラウドを最大限活用すること
の関係性、結果として組織の IT パフォーマンスに与える影響も分析されている点です!概要は以下画像にまとめますが、詳細はぜひレポートをご覧ください。
いかがですか?興味深いですよね。ドキュメントに関する評価は Podcast でも補足されていますので、お時間あればぜひそちらも 😉
本研究そのものは大規模かつ精緻なものですが、簡易的な評価でよければ、ご自身のチームのパフォーマンスについてもすぐに結果が得られます。気になった方は、以下の URL からお試しください!
https://www.devops-research.com/quickcheck.html
DevOps の改善方法(DORA の主張)
では、どうすれば優れた DevOps を実装し、高い IT パフォーマンスがだせるのでしょうか?どうすればそれを継続的に改善できるのでしょうか?
実は Google Cloud としてこの改善を支援するメニューがあったりするのですが・・ Advent Calendar 特典ということで、その改善提案冒頭にある、DORA オススメの流れをご紹介しちゃいます!
- 先述の重要指標を可視化
- 併せて DevOps の能力(後述)の各項目を評価
- 重要指標への影響が大きく、かつ現時点で苦手な能力から改善
- 半年ごとに再評価、改善ポイントを見直し
1 は例えば OSS として実装例が公開されているのですが、2 や 3 の評価はあまり簡単ではない気もしますよね・・。ですが、大丈夫です!公式ドキュメントにはその手順もばっちり記載してあります!!
“DevOps の能力” の活用
Google Cloud / DORA では、組織の IT パフォーマンスに影響する要素を DevOps の能力として定め、4 つの分類 27 種類にまとめました。
4 つの分類とは
- 技術に関する能力
- プロセスに関する能力
- 計測に関する能力
- 文化に関する能力
です。さらに 27 の能力には、DevOps らしく「継続的デリバリー」や「セキュリティのシフトレフト」といったものもありつつ、クラウドと一見関係なさそうな「テストデータ管理」や「仕事の満足度」といった能力まで定義されています。実はこのまとめ、Google Cloud というより Google の知見や DORA の研究がたくさん盛り込まれているものなのです。
例えば「コードの保守性」の「Google におけるコードの保守性の実装」というセクションには Google 社内のコード管理やツールセットが “何のために” 構築されているかといった記述もあります。読むだけも楽しいです。
少し話が逸れました。
組織の IT パフォーマンスを改善するために、DevOps の能力を実装し、計測し、改善する話でした。具体的なその方法ですが・・27 の能力ほとんど全てにわたり、各ページに
- 実装方法
- 注意点
- 改善方法
- 測定方法
がまとめられています。実装も改善も測定もやはり楽ではないですが、この先、どのように DevOps と向き合い改善していくか、そのヒントにあふれていることと思います。ぜひご参照ください 💪
まとめ
- DORA から 2021 年版のレポートがでました
- DevOps のエリート組はどんどん先へ進んでいます
- DevOps の継続的改善には、重要指標の計測と定期的な見直しが必須
- Google Cloud では DevOps の能力 としてその方法をまとめています
最後に、私はもっと事業や企業経営といった視点で DevOps を定量評価したいんだ!という方、DORA の研究がベースになったホワイトペーパー「DevOps 変革の ROI」をご覧ください。自社の DevOps を評価するときには一つの材料になるかもしれません。
長文、最後まで読んでいただきありがとうございます。明日以降も続く、Google Cloud Japan Advent Calendar をぜひお楽しみください ♫