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

ProductionReadyと開発プロセス改善

optim
November 27, 2020

 ProductionReadyと開発プロセス改善

optim

November 27, 2020
Tweet

More Decks by optim

Other Decks in Technology

Transcript

  1. ProductionReadyと
    開発プロセス改善

    View Slide

  2. 2
    Tsuda / 津⽥
    [email protected]
    pSRE at OPTiM
    pFavorite Topics
    • Production Ready, Capacity Planning,
    Monitoring, Security, ...
    • AWS, Kubernetes, Go, k6, ...
    Who am I ?

    View Slide

  3. 3
    Tsuda / 津⽥
    [email protected]
    pSRE at OPTiM
    pFavorite Topics
    • Production Ready, Capacity Planning,
    Monitoring, Security, ...
    • AWS, Kubernetes, Go, k6, ...
    Who am I ?

    View Slide

  4. 4
    p SRE: Site Reliability Engineer
    • サイト信頼性エンジニア
    p システムの信頼性をコントロールするためにあれこれするエンジニア
    • 開発者/運⽤者とは違う ?
    • 信頼性の担保のためなら開発/運⽤を⾏う場合もある
    • システムの信頼性のコントロール
    • 早く機能をリリースすること or システムへの変更を減らして信頼性を⾼めること
    - e.g.
    ‣ 運⽤負荷軽減 => Eliminating Toil
    ‣ サービスの信頼性を担保するためのチェック => Production Ready
    ‣ サービスの拡張性の担保とリソース(e.g. CPU, Memory)最適化 => Capacity Planning
    ‣ サービスのリリースまでの時間を早くする => CI/CD
    What is SRE ?

    View Slide

  5. 5
    Tsuda / 津⽥
    [email protected]
    pSRE at OPTiM
    pFavorite Topics
    • Production Ready, Capacity Planning,
    Monitoring, Security, ...
    • AWS, Kubernetes, Go, k6, ...
    Who am I ?

    View Slide

  6. 6
    pProduction Readyって何だろう ?
    • サービスを本番トラフィックを任せられるほどの信頼がある状態にするた
    めの考え⽅
    • 各サービスが⼀定⽔準の信頼性を保ち、信頼性をコントロールできる状態
    にすること
    • SREの開発者とのコラボレーション活動
    • SREの開発⽀援はProduction Readyの中で⾏われるもの
    What is Production Ready ?

    View Slide

  7. 7
    p「サービスを本番トラフィックを任せられるほどの信頼がある状態」
    とはどういう状態だろう ?
    • 本番環境にリリースできる状態ということではない
    • Alphaリリース、Betaリリースというケースがある
    • 各チーム/各社ごとに「信頼」の定義は異なる
    • 負荷に耐えられるか︖、監視できているか︖など⾊々観点はある
    • ISO/IEC 25010 製品品質モデルだと以下が含まれる
    - 性能効率性、互換性、信頼性、セキュリティ、保守性、移植性
    What is Production Ready ?

    View Slide

  8. 8
    ⼀般的(?)な Production Ready 適⽤フロー
    レビュー
    チェック
    リスト
    ロード
    マップ
    受け⼊れ/
    引き渡し

    View Slide

  9. 9
    p レビュー
    • ⽤語: Production Readiness Review
    • SREによるサービスの Production Ready 対応度合いのレビュー
    p チェックリスト
    • ⽤語: Production Readiness Checklist
    • サービスの Production Ready 対応度合いをチェックリストに記載
    • チェックリストに記載されている観点がレビュー観点になる
    ⼀般的(?)な Production Ready 適⽤フロー

    View Slide

  10. 10
    p ロードマップ
    • ⽤語: Production Readiness Roadmap
    • より 信頼性の⾼いサービスを⽬指していくためにロードマップを作成
    p 受け⼊れ/引き渡し
    • ⽤語: SRE Onboarding/Takeover
    • SREが本番環境を管理しているため、SREにサービスを引き渡す
    ⼀般的(?)な Production Ready 適⽤フロー

    View Slide

  11. 11
    OPTiM Cloud IoT OS
    に適⽤する
    Production Readyの適⽤
    p Production Readiness Review
    p Production Readiness Checklist
    p Production Readiness Roadmap
    p SRE Onboarding/Takeover

    View Slide

  12. 12
    OPTiM Cloud IoT OS
    に適⽤する
    Production Readyの適⽤
    p Production Readiness Review
    p Production Readiness Checklist
    p Production Readiness Roadmap
    p SRE Onboarding/Takeover
    p OPTiM Cloud IoT OSのプロダクト特性
    • マイクロサービスエコシステム
    • DevOpsの体制ではない
    • SREが本番環境を管理していない
    • ウォーターフォール型開発、アジャイル型開発

    View Slide

  13. 13
    What is Cloud IoT OS ?
    世界中のあらゆるAIと世界中のIoT機器やRobotを
    ⾃由にセキュアにつなぐプラットフォーム

    View Slide

  14. 14
    What is Cloud IoT OS ?

    View Slide

  15. 15
    pサービスのフェーズ
    • プロト版 ? ベータ版 ? 製品としてリリースされている ?
    • 直販ではなく販社を挟んで販売している ?
    p依存しているサービスの多さ
    • このサービスに依存しているサービス数は ?
    pCall数、トラフィック数の多さ
    • ユーザはどのくらい使⽤している ?
    p障害発⽣率
    • どのくらい障害が発⽣している ?
    • 発⽣している障害のインパクトは ?
    Production Ready適⽤サービスの優先度
    仕組みの開発

    View Slide

  16. 16
    p Production Ready 活動状況
    • レビュー:
    • チェックリスト:
    • ロードマップ:
    • 運⽤者へサービスの受け⼊れ/引き渡し:
    Production Ready 対応(以前)

    View Slide

  17. 17
    Production Ready Model
    Production
    Ready
    開発プロセス
    改善

    View Slide

  18. 18
    Production Ready Model
    Production
    Ready
    開発プロセス
    改善
    SRE本32章「早期エンゲージメントモデル」
    type: OPTiM Cloud IoT OS

    View Slide

  19. 19
    pProduction Ready 活動の導⼊モデルの1つ
    p早い段階から開発のライフサイクルに関わる
    早期エンゲージメントモデル
    設計 構築/実装 ローンチ ローンチ後
    レビュー サポート サポート
    継続的改善
    /引き取り
    チェックリスト ロードマップ

    View Slide

  20. 20
    pOPTiM Cloud IoT OSにおける早期エンゲージメントモデル
    p企画から運⽤までのプロセスが対象
    早期エンゲージメントモデル type: OPTiM Cloud IoT OS
    企画 設計 開発 運⽤
    レビュー レビュー
    サポート/
    レビュー
    サポート
    設計書 運⽤⼿順書
    システム構築基礎知識
    インセプションデッキ

    View Slide

  21. 21
    p Production Ready 活動状況
    • レビュー:
    • チェックリスト:
    • ロードマップ:
    • 運⽤者へサービスの受け⼊れ/引き渡し:
    • 企画/開発/運⽤者による事前レビュー:
    • サービスドキュメント:
    • ガイドラインの提供:
    Production Ready 対応(現在)

    View Slide

  22. 22
    p 各サービスのドキュメント集
    • 設計書
    • 運⽤⼿順書
    • システム構築基礎知識
    • 負荷試験レポート
    p ドキュメントテンプレートも⽤意
    • フォーマットを揃えること
    • 項⽬/観点の抜け漏れを無くすこと
    サービスドキュメント

    View Slide

  23. 23
    サービスドキュメント

    View Slide

  24. 24
    サービスドキュメント

    View Slide

  25. 25
    pガイドラインはなぜ必要 ?
    • 早期エンゲージメントモデルのようにSREがサポートを⾏うとSREのリソース
    が⾜りない
    • ガイドラインを提供して開発チームで⾃律的にサービスをProductionReadyに
    してもらう必要がある
    p現在提供しているガイドライン
    • Security Design
    • Terraform Guideline
    • 論理構成図作成指針
    • その他
    ガイドラインの提供

    View Slide

  26. 26
    https://tech-blog.optim.co.jp/

    View Slide

  27. 27
    pOPTiM Cloud IoT OSのProduction Readyの導⼊について
    • 「早期エンゲージメントモデル」をベースにしたモデル
    • 各フェーズごとにドキュメントを作成することで項⽬漏れ/⼿戻りのない
    レビューが可能
    • 開発者の声:
    • 設計漏れが起こらなかった、スムーズなレビューと運⽤引き渡しが可能
    pProduction Ready のアプローチはサービス/チームによって違う
    pProduction Ready を導⼊してみてください
    Conclusion

    View Slide