26
Operation Lab 運用設計ラボ 運用ドキュメントの構造化(案) 運用設計ラボ合同会社 シニアアーキテクト 波田野 裕一 2014-06-22 メモ書き第2版 議論の叩き台につき未完成 (適宜更新予定)

運用ドキュメントの構造化(案)

Embed Size (px)

DESCRIPTION

議論の叩き台資料のため、逐次更新予定です。 (完成度は低いです。ご了承ください。)

Citation preview

Page 1: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

運用ドキュメントの構造化(案)運用設計ラボ合同会社 シニアアーキテクト 波田野 裕一

2014-06-22 メモ書き第2版

議論の叩き台につき未完成 (適宜更新予定)

Page 2: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

主張: クラウド時代の運用ドキュメンテーション

• WhatやHowはコード(Infrastructure As Code)に残るが、Whyは人が自らドキュメントに書かなければ残らない。

• クラウド時代になって、オンプレミスと比較してあらゆる制約が減少。制約が無い中で「なぜそうしたか(Why)」を残す重要性が増加。

• 人(Why)とシステム(What/How)が分担してドキュメントを書く時代。

How + Why = KnowHow実装 設計 運用現場の資産

出典: JAWS-UG東京第22回勉強会「運用自動化時代のドキュメンテーショント」 (2014-06)

Page 3: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

価値基準によるドキュメントの構造

Page 4: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

ドキュメントテーマの3類型

時間軸 activity活動

状態

変化後

変化

変化前

What何を書く?

SCA分析 (仮称)

‣Status(状態)

‣Change(変化)

‣Activity (活動)

出典: Internet Week 2011 「運用ドキュメント2011 ~手軽にスピーディに継続的に保守するためのツール入門」 Part-1

Page 5: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

ドキュメントテーマによる価値 (仮説)

activity活動

変化

状態

• 反復・再利用性の高いドキュメント(資産性ドキュメント)。 • 「変化」「活動」の起点・終点となる最も重要なドキュメント • 何らかの形で売却できる場合「収益性」があると言える。

• 反復作成されるが再利用はしにくい。(費用性ドキュメント) • 「運用の費用対効果」を説明するためのドキュメントとなるため「収益性」があると考えることもできる。

• 「活動」の蓄積が変化を生む。 • [留意]「変化させない事」が重要とされる業務もある。

• 反復作成されるが再利用はしにくい。(費用性ドキュメント) • コストが直接配賦されれば「収益性」があるが、共通配賦される場合は、作成自体が「運用コスト」と評価される。

What何を書く?

出典: Internet Week 2011 「運用ドキュメント2011 ~手軽にスピーディに継続的に保守するためのツール入門」 Part-1

QualityDelivery

Cost

Qualityの向上Deliveryの改善

活動=Cost

Page 6: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

6つのドキュメント要素

activity活動 変化状態

/activity.rst /change.rst /define/人による活動情報 人による変化情報

• ドキュメントを利用する活動のトラッカー

• ドキュメント自体のトラッカ (更新、要望)

• 変化(実績)レポート (外部) • ドキュメントのリポジトリ(web)

人による状態情報

費用性ドキュメント 収益性ドキュメント 資産性ドキュメント

バージョン管理の対象

システムの状態情報

システムによる随時更新

実装

設計 Why

WhatHow

「振り返り」(顧客レポートや考課に活用) 「事業継続性」「再現性」「反復性」などの基盤

システムの変化情報システムの活動情報

インクルード対象 インクルード対象 インクルード対象

• ログ • アラート

• MRTG/DDR • CloudWatch

• CloudFormation • OpsWorks (Chef) • AMI情報、など

「説明責任」(証拠、エビデンス)

QualityDelivery

Cost

インクルード対象

QCD(F)のための基礎情報

議論ポイント 議論ポイント議論ポイント

Page 7: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

運用ドキュメントの構造

状態

人による状態情報

バージョン管理の対象

設計 Why

ヒトによる資産性ドキュメント

Page 8: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

余談: サービスの立ち位置 (「設計」の最上位)

ミッション ポリシー

サービス

理想 制約

現実的な落しどころ

ここまで書けるか?

/define/mission /define/policy

/define/service

対立

Page 9: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

サービス

サービス運用アーキテクチャの全体像 (仮説)

作業カタログ

サービスカタログ

リソースカタログ

運用フロー ライブラリ

情報 要員 予算

OperatorUser

人による状態情報

Page 10: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

「人による状態情報」ドキュメント構造/define/service/

service-catalog/

ユーザが利用する公式情報resource-catalog/ work-catalog/

サービスカタログ 作業カタログリソースカタログ

リソースに関する公式情報 運用現場が利用する情報

インクルード インクルード• 第1レベル: リソース別 • 第2レベル: 利用形態別

• API • CLI • WebUIなど

運用フロー ライブラリ

インクルードインクルードlib/

Page 11: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

システムの状態情報の構造

状態

システムの状態情報

システムによる随時更新

実装 WhatHow

システムによる資産性ドキュメント

議論ポイントインクルード対象

Page 12: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

「システムによる状態情報」ドキュメント構造/define/service/resource-catalog/automation/(シンボリックリンク)

• 単体構成情報 (JSON、ソースコードなど) • 単体定義情報 (replace定義など) • 関係情報 (定義間の関係、構成間の関係)

• ディレクトリ構成 • 第一レベル: リソース別 (プロダクト毎) • 第二レベル: 取得方法別 (API/CLI/WebUI)

システムによる随時自動更新 議論ポイント

Page 13: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

人による変化情報の構造

変化人による変化情報

• 変化(実績)レポート (外部) • ドキュメントのリポジトリ(web)

「振り返り」(顧客レポートや考課に活用)

ヒトによる収益性ドキュメント

QualityDelivery

Page 14: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

「人による変化情報」ドキュメント構造/change.rst

人による変化情報• 変化(実績)レポート (外部) • ドキュメントのリポジトリ(web)

「振り返り」(顧客レポートや考課に活用)

Page 15: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

システムの変化情報の構造

変化

「振り返り」(顧客レポートや考課に活用)

システムの変化情報

インクルード対象

• MRTG/DDR • CloudWatch

システムによる収益性ドキュメント

QualityDelivery

議論ポイント

Page 16: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

「振り返り」(顧客レポートや考課に活用)

システムの変化情報

インクルード対象

•MRTG/DDR •CloudWatch

「システムの変化情報」ドキュメント構造外部ドキュメント

議論ポイント

Page 17: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

人による活動情報の構造

• ドキュメントを利用する活動のトラッカー

• ドキュメント自体のトラッカ (更新、要望)

activity活動

/activity.rst

人による活動情報

「説明責任」(証拠、エビデンス)

ヒトによる費用性ドキュメント

Cost

Page 18: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

• ドキュメントを利用する活動のトラッカー • ドキュメント自体のトラッカ (更新、要望)

「説明責任」(証拠、エビデンス)

「人による活動情報」ドキュメント構造/activity.rst

人による活動情報

Page 19: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

システムの活動情報の構造

activity活動

/activity.rst

システムの活動情報

インクルード対象

• ログ • アラート

「説明責任」(証拠、エビデンス)

システムによる費用性ドキュメント

Cost

議論ポイント

Page 20: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

システムの活動情報 •ログ •アラート •PullRequestでのレビュー •実際のtaskでの説明 (資産性の可能性あり)

「説明責任」(証拠、エビデンス)

「システムの活動情報」ドキュメント構造インクルード対象外部ドキュメント

議論ポイント

Page 21: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

ドキュメントマップ

Page 22: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

運用ドキュメントのマップ• /define/

• mission/ • policy/ • service/

• service-catalog/ (ユーザ向けメニュー) • work-catalog/ (運用現場向けメニュー) • resource-catalog/ (API/CLI/WebUIなどのリファレンス)

• プロダクト別ドキュメント • automation/ (外部情報へのシンボリックリンク)

• lib/ (手順パーツ、スクリプト、関数、ライブラリ) • /activity.rst • /change.rst • /words.rst (用語定義)

Page 23: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

プロダクトドキュメントのマップ• /define/

• work-catalog/ (運用現場向けメニュー) • resource-catalog/

• (API/CLI/WebUIなどのリファレンス) • automation/ (外部情報へのシンボリックリンク)

• lib/ (手順パーツ、スクリプト、関数、ライブラリ) • /activity.rst • /change.rst • /words.rst (用語定義)

Page 24: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

memo

Page 25: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

memo• プロダクト単体のドキュメントについては、このモデルのサブセット&独立リポジトリで疎結合ドキュメンテーションを実現するべき

• ドキュメントのtopレベル • resource-catalog(リファレンス/マニュアル) • work-catalog(作業手順) • lib(自動化ライブラリ)

Page 26: 運用ドキュメントの構造化(案)

Operation Lab運用設計ラボ

http://www.operation-lab.co.jp/