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

少人数SREチームが、長寿なシステムを構築・運用するための取り組み / Efforts by ...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

少人数SREチームが、長寿なシステムを構築・運用するための取り組み / Efforts by a Small SRE Team to Build and Operate Long-Lived Systems

More Decks by コドモン開発チーム

Transcript

  1. 5 CONFIDENTIAL - © 2022 CoDMON Inc. 5 SREチームの体制と役割 •

    メンバー3人 + マネージャー1人 の4人体制 • 一方、数多くの基盤システムを主担当として運用 ◦ ビジネス的に重要なシステム群 ❏ 自治体ネットワーク向け閉域網システム ❏ 共有バッチ基盤 ❏ 内部通信基盤 ❏ Push通知・メール送信基盤 ❏ terraform実行基盤 ❏ テスト環境構築のためのKubernetesクラスタ ❏ データベース運用基盤 ❏ … etc
  2. 7 CONFIDENTIAL - © 2022 CoDMON Inc. 7 重要システムを「少人数で」「長期間」運用するために 属人性をなくす

    ・メンバーが入れ替わって もシステムを維持する必要 がある 変更を容易にする 手離れを良くする
  3. 8 CONFIDENTIAL - © 2022 CoDMON Inc. 8 重要システムを「少人数で」「長期間」運用するために 属人性をなくす

    ・メンバーが入れ替わって もシステムを維持する必要 がある 変更を容易にする ・長く運用するほど、ビジ ネス要求や外部環境の変化 / 依存ライブラリのEOL対 応など変更機会が増え続け る。 ・変更のたびにコストがか かる構成では持続しない 手離れを良くする
  4. 9 CONFIDENTIAL - © 2022 CoDMON Inc. 9 重要システムを「少人数で」「長期間」運用するために 属人性をなくす

    ・メンバーが入れ替わって もシステムを維持する必要 がある 変更を容易にする ・長く運用するほど、ビジ ネス要求や外部環境の変化 / 依存ライブラリのEOL対 応など変更機会が増え続け る。 ・変更のたびにコストがか かる構成では持続しない 手離れを良くする ・少人数チームのため、1シ ステムあたりの運用時間を 最小化しないと手が回らな い
  5. 10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 重要システムを「少人数で」「長期間」運用するために 属人性をなくす

    ・メンバーが入れ替わって もシステムを維持する必要 がある 変更を容易にする ・長く運用するほど、ビジ ネス要求や外部環境の変化 / 依存ライブラリのEOL対 応など変更機会が増え続け る。 ・変更のたびにコストがか かる構成では持続しない 手離れを良くする ・少人数チームのため、1シ ステムあたりの運用時間を 最小化しないと手が回らな い → 事例1 → 事例2 → 事例2
  6. 13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 閉域網システムの構成 多段にわたるインフラ構成に加え、関わる

    関係者の多さ / 特有の要件 から、複雑なシ ステムとなっている
  7. 14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 閉域網システムが抱えていた課題 •

    属人化 ◦ 運用保守・ナレッジが特定のエンジニアに集中 ◦ システム全体が不透明で、限られた人しか運用できない状態 • 状況の緊迫化 ◦ 主担当エンジニアが離任予定 ◦ 各種サーバーのEOLも迫っており、改善が急務となっていた
  8. 15 CONFIDENTIAL - © 2022 CoDMON Inc. 15 閉域網システムが抱えていた課題 •

    属人化 ◦ 運用保守・ナレッジが特定のエンジニアに集中 ◦ システム全体が不透明で、限られた人しか運用できない状態 • 状況の緊迫化 ◦ 主担当エンジニアが離任予定 ◦ 各種サーバーのEOLも迫っており、改善が急務となっていた ナレッジを広げ、 属人化を解消する取り組みを実施
  9. 16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 取り組み:メンバー主体のナレッジ展開 各SREメンバーがそれぞれ

    閉域網システムの構成情報 等を調査し、構成図として アウトプット 作成した構成図について、 各SREメンバーが自分の言 葉で説明。 主担当エンジニアがFBし、 認識の誤りがあれば訂正 不明点やシステム改善点を 主担当エンジニア含め話し 合う会を実施。 1 調査 & 構成図作成 2 説明会の実施 3 改善点の議論
  10. 17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 ポイント:SREメンバー主体で実施 •

    主担当エンジニアでなく、SREメンバー主体となって実施した理由 ◦ 自ら調べ、言語化することで、時間はかかるが主体的な学びになる ◦ 初歩的な点から理解し、端折らず説明するため、参加した他メンバーに も理解が広がる ◦ 複数人が各々インプット / アウトプットを行うことで、複数人の視点を 介し、構成の解像度が上がる
  11. 18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 実施成果 •

    複数のメンバーでの運用が可能になり、属人化状態を解消 • システムの解像度が上がったことで改善活動にも着手 ◦ 不要リソース削除による構成のスリム化 ◦ 監視最適化(メトリクス / ロギング / APMトレーシング)によるオブザーバビリ ティの向上 • 属人性解消プロセス(構成図作成 → 説明 → 課題発見)は、他PJ・システム にも横展開している
  12. 21 CONFIDENTIAL - © 2022 CoDMON Inc. 21 共有バッチ基盤が抱えていた課題 •

    認知負荷が高い ◦ この基盤のみEC2で稼働(他システムはECS) ◦ 開発者 / SRE 双方にとって、認知負荷が高い状態 • 変更が困難 ◦ ゴールデンイメージ化をしておらず、稼働中サーバーへの直接変更必要 ◦ 構成変更にリスクと心理的障壁あり • 手離れが悪い ◦ 上記2点によって、変更作業やトラブルシューティングがSREチームに依 存し、手離れが悪い状態
  13. 22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 共有バッチ基盤が抱えていた課題 •

    認知負荷が高い ◦ この基盤のみEC2で稼働(他システムはECS) ◦ 開発者 / SRE 双方にとって、認知負荷が高い状態 • 変更が困難 ◦ ゴールデンイメージ化をしておらず、稼働中サーバーへの直接変更必要 ◦ 構成変更にリスクと心理的障壁あり • 手離れが悪い ◦ 上記2点によって、変更作業やトラブルシューティングがSREチームに依 存し、手離れが悪い状態 根本課題:永続稼働前提のEC2で 動いていること
  14. 23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 取り組み:ECSベースのコンテナ基盤へリプレイス Before

    EC2ベース 永続稼働サーバー上で バッチ処理を実行 After ECSベース(コンテナ) 他システム群と同じ 標準化された実行基盤 • 他システムと同様の構成にすることで、開発者 / SRE 双方の認知負荷を軽減 • コンテナベースのアーキテクチャへ移行し、変更容易性を向上
  15. 24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 実施成果 •

    変更が容易に ◦ ミドルウェア変更・バージョンアップ対応の工数やリスクが減少 ◦ 開発チーム主体での処理改善活動も積極的に実施されている • 手離れの良さが向上 ◦ 開発チーム主体でミドルウェア導入を実施 ◦ SREへの依存が軽減し、開発チームの自律的な運用を実現
  16. 25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 より詳しくは •

    詳しいアーキテクチャ設計・リプレイスの進め方はこちら
  17. 27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 まとめ 観点

    事例 主な取り組み 属人化をなくす 事例1:閉域網システム メンバー主体のナレッジ展開プロセス 変更を容易にする 事例2:共有バッチ基盤 ECSベースへのリプレイス 手離れを良くする 事例2:共有バッチ基盤 認知負荷軽減 + 変更容易性向上により、 開発チームへの作業移譲を実現
  18. 28 CONFIDENTIAL - © 2022 CoDMON Inc. 28 今後の展望:AIの発展による実現手段の変化 観点

    従来 今後 属人化をなくす 暗黙知をなくす AIが理解できる形での明文化・ドキュメント化 変更を容易にする 人間が変更容易な設計 AIが安全に変更できるガードレール整備 手離れを良くする 自動化 開発チームへの作業移譲 推進 AIへの作業移譲を推進 これらの観点は今後も重要だが、AIの発展により実現手段や優先度は変わって いくことが予想される
  19. 29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 今後の展望:AIの発展による実現手段の変化 観点

    従来 今後 属人化をなくす 暗黙知をなくす AIが理解できる形での明文化・ドキュメント化 変更を容易にする 人間が変更容易な設計 AIが安全に変更できるガードレール整備 手離れを良くする 自動化 開発チームへの作業移譲 推進 AIへの作業移譲を推進 これらの観点は今後も重要だが、AIの発展により実現手段は変わっていく 「AIに何ができるか」を継続的にウォッチし、 実現手段 / 優先度を更新していくことが重要