Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpsJAWS Meetup21 システム運用アンチパターンのすすめ

OpsJAWS Meetup21 システム運用アンチパターンのすすめ

2022年6月21日 開催 Ops JAWS Meetup#21 で登壇した資料を公開します

96c31fe94f5e9b0eef4a606eaadcbc04?s=128

Ryo Yoshii

June 21, 2022
Tweet

More Decks by Ryo Yoshii

Other Decks in Technology

Transcript

  1. OpsJAWS Meetup#21 システム運用アンチパターン のすすめ 2022-06-21 吉井 亮 1

  2. 自己紹介 吉井 亮 (Yoshii Ryo) 経歴: HWエンジニア → 中小SIer →

    ERPコンサル → 現職(AWSパートナー) Twitter: @YoshiiRyo1 好きな言葉: no human labor is no human error 2
  3. おすすめしたい システム運用アンチパターン ――エンジニアがDevOpsで解決する組織・自動化・コミュニケーション Jeffery D. Smith 著、田中 裕一 訳 2022年04月 発行 352ページ

    https://www.oreilly.co.jp/books/9784873119847/ 3
  4. 本日の内容 『システム運用アンチパターン』を 紹介・抜粋しながら運用アンチパターンを 回避する策を考察します (Opsがメイン) 4

  5. Let’s tweet #opsjaws #jawsug を付けながら 「あるある」「うちではこうだった」と つぶやいてもらえれば嬉しいです 5

  6. 『システム運用アンチパターン』対象読者 • 技術チームの運用担当 • 技術チームの開発担当 • これらのチームリーダーや一般エンジニア • 限られた権限しか持たない人を前提 6

  7. 『システム運用アンチパターン』の目次 1. DevOps を構成するもの 2. パターナリスト症候群 3. 盲目状態での運用 4. 情報ではなくデータ

    5. 最後の味付けとしての品質 6. アラート疲れ 7 7. 空の道具箱 8. 業務時間外のデプロイ 9. せっかくのインシデント無駄に する 10. 情報のため込み 11. 命じられた文化 12. 多すぎる尺度
  8. ベースとなる考え (CAMS) DevOps 文 化 自 動 化 メ ト

    リ ク ス 共 有 8
  9. ゲートキーパー 9

  10. パターナリスト症候群 親子関係のように、強い立場にある者が 弱い立場に対して介入することを指す 例) 運用グループがシステム変更に対して 広範なレビュープロセスを実施する ❌ アンチパターン 10

  11. パターナリスト症候群が進むと何がおきるか • 安全装置のはずの承認が障壁になる • 特定の人(達) だけが実行や承認をする → ゲートキーパー • ゲートキーパーと仕事するようになる

    • 摩擦がおきる ❌ アンチパターン 11
  12. 自動化によりパターナリスト症候群の解消 手動プロセスをテクノロジーで自動化 🙅 承認は人間がするもの 🙅 12

  13. 承認の目的を把握 自動化するが承認の目的は果たす • 作業を継続するのに適切な状態である • 作業が発生していることを知らせる • アクションの衝突がない • 変更のリスクが許容できる範囲である

    13
  14. 運用の自動化 14

  15. 自動化による改善 • 待ち時間 • 実行時間 • 実行頻度 • 実行のばらつき 15

  16. 自動化する • 自動化を文化とする • ツール開発運用をする人員の確保 • 手動での作業を良しとしない • 手動作業のコストを計算する •

    自動化タスクに安全性を取り入れる 16
  17. 自動化に伴うリスクをプロット 低い 高い 高い [低リスク] 自動化 [中リスク] 処理の途中でユーザーに 確認を取るタイプの自動化 低い

    [中リスク] 処理の途中でユーザーに 確認を取るタイプの自動化 [高リスク] 必要な情報は手動で 入力するタイプの自動化 間違えた場合の重大さ 自 信 の 度 合 い 17
  18. デプロイの自動化 18

  19. デプロイを日常的に行う • 正確な本番前環境 ◦ 違いが可能な限り少ない環境 ◦ コンテナ • 頻繁に行うことで恐怖心を減らす •

    リスクを減らして恐怖心を減らす 19
  20. デプロイ失敗への対応 • ロールバック可能なデプロイ ◦ Blue/Green, Canary, Rolling • アーティファクトの活用 •

    破壊的変更は複数段階を経て 20
  21. 組織の文化 21

  22. 組織の文化 22 メインロビーに飾られているプレートではな く、具体的な形で存在しているべき 育て、発展させ、行動で示される

  23. ピーター・ドラッカー 企業文化は戦略に勝る 23

  24. 文化とは あるグループの人々をほかのグループから 区別する、共有された価値観・習慣・信念 の集合体として定義される。 24

  25. 文化を根付かせるには? • 言葉による共有 • 物語による共有 • 習慣による共有 • 文化チーフ (文化的価値観を体現する人)

    • 価値観を調べる • 文化に合った人材を見つける 25
  26. 開発・運用役割の変化 26

  27. 責任の変化 開発 → 自分たちが書いたコードが本番環境で どのように動くか詳細に理解 運用 → プロダクトの挙動を詳細に理解 27

  28. AWS Well-Architected の話し 28 https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/operational-excellence-pillar/fully-separated-operating-model.html

  29. AWS Well-Architected の話し 29 https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/operational-excellence-pillar/separated-aeo-and-ieo-with-centralized-governance-and-a-service-provider.html

  30. ポストモーテム 30

  31. インシデントの振り返りをしていますか? 31 • 責任のなすりあい • 自分は無実だと証明することに躍起 • 情報の壁 • 行動と人格

    • トリプルチェックの導入 ❌ アンチパターン
  32. 良いポストモーテム • 非難のない文化 • システムの問題、プロセスの問題 • 24時間以内にポストモーテムを実施 • 今となっては明白でも同時はあいまい •

    インシデントの全容解明が主目的 32
  33. アクションアイテムの定義 • 可視化できていない箇所を可視化 • システムの可用性を向上させる • 誰がいつまでに何をするか ◦ 日常業務から離れることの理解 33

  34. ポストモーテムのドキュメント化 • インシデントの詳細 • インシデントサマリー • インシデントウォークスルー • ポストモーテムの共有 34

  35. アラートに疲れない 35

  36. アラート基準 • Runbook を含める • 次の行動が可能である • タイムリー • 適切な優先順位付け

    36
  37. オンコールローテーション • 最初の連絡者(達)を定めたスケジュール • 1週間で交代 • アラートの重要度に合わせて通知手段を 変える (電話、Slack、メール等) 37

  38. オンコールローテーションの配置 • 4人以上でローテーションを回す • プライマリ、セカンダリ • 精神的、肉体的負担への配慮 • 金銭的補償 •

    代休 • 在宅対応 38
  39. 情報のため込み:ブレンドだけが知っている 39

  40. 情報のため込みを理解する 40 • 組織構造・インセンティブ・優先順位・ 価値観の組み合わせによって発生する • 意図的なためこみ • 意図しないためこみ

  41. 意図的なためこみ • ゲートキーパーになりたい 41

  42. 意図しないためこみ プロジェクトでは機能実装を優先した → ドキュメントは後回しになった → 落ち着いたと思ったら別プロジェクトへ 42

  43. ドキュメント化 • 価値があるものはドキュメント化する • そうでなければ省略してもよい • 書くタイミング ◦ コード、インフラは陳腐化する •

    抽象化 ◦ 要件、目的、他システム影響がある部分 43
  44. ナレッジストアの構築 • ドキュメントを共有する • 検索しやすくする ◦ 階層化、タグ • 「ただ置く場所」にならないように •

    習慣付け ◦ 学習~ドキュメント化~共有 44
  45. 情報のため込み方 • ストック ◦ ナレッジストア ◦ ブロク • フロー ◦

    チャットツール ◦ SNS 45
  46. 最後に 46

  47. おすすめしたい システム運用アンチパターン ――エンジニアがDevOpsで解決する組織・自動化・コミュニケーション Jeffery D. Smith 著、田中 裕一 訳 2022年04月 発行 352ページ

    https://www.oreilly.co.jp/books/9784873119847/ 47
  48. 48 Thank you for your good ops.