IaCにおける理想のドキュメント管理を目指す
by
濱田孝治
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
IaCにおける 理想のドキュメント管理を⽬指す 濱⽥孝治(ハマコー)
Slide 2
Slide 2 text
@hamako9999 濱⽥孝治 (ハマコー) 2
Slide 3
Slide 3 text
3 IaCに必要な ドキュメントとは︖
Slide 4
Slide 4 text
4 最初にお聞きしたい 皆さんがIaCで実現したいことって なんですか︖
Slide 5
Slide 5 text
5 IaCで期待されることの例 • 構築⼿順書をなくしたい • ヒューマンエラーを無くしたい • 効率よくインフラを構築したい • 不要なドキュメントを無くしたい
Slide 6
Slide 6 text
6 IaCで期待されることの例 • 構築⼿順書をなくしたい • ヒューマンエラーを無くしたい • 効率よくインフラを構築したい • 不要なドキュメントを無くしたい エクセルで作ったパラメー タシートとかとか
Slide 7
Slide 7 text
7 経験上 インフラを担う我々が必ず作っている ドキュメントがある
Slide 8
Slide 8 text
8
Slide 9
Slide 9 text
9 構成図
Slide 10
Slide 10 text
10 構成図を書くことのメリット・デメリット メリット • 管理対象領域にどんなリソースがあるのかひと⽬で 把握できる • 各リソースのリレーションが把握できる • 他⼈と対象領域に対する認識を共有しやすい
Slide 11
Slide 11 text
11 構成図を書くことのメリット・デメリット メリット • 管理対象領域にどんなリソースがあるのかひと⽬で 把握できる • 各リソースのリレーションが把握できる • 他⼈と対象領域に対する認識を共有しやすい デメリット • IaCとは別に管理しメンテする必要がある
Slide 12
Slide 12 text
12 構成図を書くことのメリット・デメリット メリット • 管理対象領域にどんなリソースがあるのかひと⽬で 把握できる • 各リソースのリレーションが把握できる • 他⼈と対象領域に対する認識を共有しやすい デメリット • IaCとは別に管理しメンテする必要がある 多大なメリットを感じながらも、 運用していくなかで忘れられがち
Slide 13
Slide 13 text
13 構成図の管理 どうするのか︖
Slide 14
Slide 14 text
14 構成図の管理がめんどくさい 問題に対する解決アプローチ 3つ
Slide 15
Slide 15 text
15 構成図の管理アプローチ3点 リポジトリ管理しない ①インフラから構成図を常に⾃動⽣成 リポジトリ管理する ②コードで構成図を作成するツールを使う ③専⽤ツールを使って構成図(SVG)を修正
Slide 16
Slide 16 text
16 リポジトリ管理しない ①インフラから構成図を常に⾃動⽣成
Slide 17
Slide 17 text
17 ①インフラから構成図を常に⾃動⽣成 ⾃動⽣成 Cloudviz Cacoo Cloud Mapper 構成図
Slide 18
Slide 18 text
18 ①インフラから構成図を常に⾃動⽣成 しんどい理由︓ 情報量が⾜りない(もしくは多すぎる) 構成図に表現すべきなのはシステムのコンテキストを把 握した上で⼈間が表現したいと意図した箇所 例)リソースのグルーピング、並び順、リレーション ⾃動⽣成にそのあたりを求めることはできない
Slide 19
Slide 19 text
19 リポジトリ管理する ②コードで構成図を作成するツールを使う
Slide 20
Slide 20 text
20 ②コードで構成図を作成するツールを使う ⾃動⽣成 PlantUML nwdiag Diagrams 構成図 txt Python
Slide 21
Slide 21 text
21 ②コードで構成図を作成するツールを使う https://gigazine.net/news/20200518-diagrams/
Slide 22
Slide 22 text
22 ②コードで構成図を作成するツールを使う しんどい理由︓ • 図を書くための独⾃記法を習得する必要がある テキストで構成図を書く⽬的だけに新しい記法を習得す るコストを払うか︖ 構成図をコードで管理するのであれば、他のアプローチ があるはず
Slide 23
Slide 23 text
23 リポジトリ管理する ③専⽤ツールを使って構成図(SVG) を修正
Slide 24
Slide 24 text
24 ③専⽤ツールを使って構成図(SVG)を修正 Cacoo draw.io SVG ⼿動修正
Slide 25
Slide 25 text
25 ③専⽤ツールを使って構成図(SVG)を修正 良い理由︓ • 専⽤ツール(Cacoo, draw.io)を使って構成図が書ける (導⼊コストが低い) • SVGファイル(XML)を扱えるためリポジトリにのせや すい GitHubなどでもSVGはそのまま図として表現されるため、 READMEに埋め込んだり、Pull requestでIaCと合わせてレ ビュー対象にするのが簡単
Slide 26
Slide 26 text
26 さらに最近いい感じのがリリースされました
Slide 27
Slide 27 text
27 Visual Studio Code Draw.io Integration 「コードと⼀緒に構成図が書ける︕」 • Visual Studio CodeのエクスプローラからSVG ファイルクリックでdraw.ioのUI起動 • そのまま編集して保存でSVGファイルが更新される
Slide 28
Slide 28 text
28 こんな雰囲気になる
Slide 29
Slide 29 text
29 まとめ
Slide 30
Slide 30 text
30 まとめ • インフラを扱うとき構成図は必須のドキュメント • IaCのコードと合わせて構成図もリポジトリ管理す るべき • 餅は餅屋。構成図の編集は専⽤ツールを使う • draw.ioインテグレーションなどを使って、IaCと同 じデベロッパーエクスペリエンスを実現しよう︕
Slide 31
Slide 31 text
31 IaCで楽しいエンジニアライフを 濱⽥孝治(ハマコー) @hamako9999