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

ProductionReadyと開発プロセス改善

5c097a7b75c8802b073774faa7276503?s=47 optim
November 27, 2020

 ProductionReadyと開発プロセス改善

5c097a7b75c8802b073774faa7276503?s=128

optim

November 27, 2020
Tweet

Transcript

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

  2. 2 Tsuda / 津⽥ p@grim0h pSRE at OPTiM pFavorite Topics

    • Production Ready, Capacity Planning, Monitoring, Security, ... • AWS, Kubernetes, Go, k6, ... Who am I ?
  3. 3 Tsuda / 津⽥ p@grim0h pSRE at OPTiM pFavorite Topics

    • Production Ready, Capacity Planning, Monitoring, Security, ... • AWS, Kubernetes, Go, k6, ... Who am I ?
  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 ?
  5. 5 Tsuda / 津⽥ p@grim0h pSRE at OPTiM pFavorite Topics

    • Production Ready, Capacity Planning, Monitoring, Security, ... • AWS, Kubernetes, Go, k6, ... Who am I ?
  6. 6 pProduction Readyって何だろう ? • サービスを本番トラフィックを任せられるほどの信頼がある状態にするた めの考え⽅ • 各サービスが⼀定⽔準の信頼性を保ち、信頼性をコントロールできる状態 にすること

    • SREの開発者とのコラボレーション活動 • SREの開発⽀援はProduction Readyの中で⾏われるもの What is Production Ready ?
  7. 7 p「サービスを本番トラフィックを任せられるほどの信頼がある状態」 とはどういう状態だろう ? • 本番環境にリリースできる状態ということではない • Alphaリリース、Betaリリースというケースがある • 各チーム/各社ごとに「信頼」の定義は異なる

    • 負荷に耐えられるか︖、監視できているか︖など⾊々観点はある • ISO/IEC 25010 製品品質モデルだと以下が含まれる - 性能効率性、互換性、信頼性、セキュリティ、保守性、移植性 What is Production Ready ?
  8. 8 ⼀般的(?)な Production Ready 適⽤フロー レビュー チェック リスト ロード マップ

    受け⼊れ/ 引き渡し
  9. 9 p レビュー • ⽤語: Production Readiness Review • SREによるサービスの

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

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

    Readiness Review p Production Readiness Checklist p Production Readiness Roadmap p SRE Onboarding/Takeover
  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が本番環境を管理していない • ウォーターフォール型開発、アジャイル型開発
  13. 13 What is Cloud IoT OS ? 世界中のあらゆるAIと世界中のIoT機器やRobotを ⾃由にセキュアにつなぐプラットフォーム

  14. 14 What is Cloud IoT OS ?

  15. 15 pサービスのフェーズ • プロト版 ? ベータ版 ? 製品としてリリースされている ? •

    直販ではなく販社を挟んで販売している ? p依存しているサービスの多さ • このサービスに依存しているサービス数は ? pCall数、トラフィック数の多さ • ユーザはどのくらい使⽤している ? p障害発⽣率 • どのくらい障害が発⽣している ? • 発⽣している障害のインパクトは ? Production Ready適⽤サービスの優先度 仕組みの開発
  16. 16 p Production Ready 活動状況 • レビュー: • チェックリスト: •

    ロードマップ: • 運⽤者へサービスの受け⼊れ/引き渡し: Production Ready 対応(以前)
  17. 17 Production Ready Model Production Ready 開発プロセス 改善

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

    OPTiM Cloud IoT OS
  19. 19 pProduction Ready 活動の導⼊モデルの1つ p早い段階から開発のライフサイクルに関わる 早期エンゲージメントモデル 設計 構築/実装 ローンチ ローンチ後

    レビュー サポート サポート 継続的改善 /引き取り チェックリスト ロードマップ
  20. 20 pOPTiM Cloud IoT OSにおける早期エンゲージメントモデル p企画から運⽤までのプロセスが対象 早期エンゲージメントモデル type: OPTiM Cloud

    IoT OS 企画 設計 開発 運⽤ レビュー レビュー サポート/ レビュー サポート 設計書 運⽤⼿順書 システム構築基礎知識 インセプションデッキ
  21. 21 p Production Ready 活動状況 • レビュー: • チェックリスト: •

    ロードマップ: • 運⽤者へサービスの受け⼊れ/引き渡し: • 企画/開発/運⽤者による事前レビュー: • サービスドキュメント: • ガイドラインの提供: Production Ready 対応(現在)
  22. 22 p 各サービスのドキュメント集 • 設計書 • 運⽤⼿順書 • システム構築基礎知識 •

    負荷試験レポート p ドキュメントテンプレートも⽤意 • フォーマットを揃えること • 項⽬/観点の抜け漏れを無くすこと サービスドキュメント
  23. 23 サービスドキュメント

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

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

    • Security Design • Terraform Guideline • 論理構成図作成指針 • その他 ガイドラインの提供
  26. 26 https://tech-blog.optim.co.jp/

  27. 27 pOPTiM Cloud IoT OSのProduction Readyの導⼊について • 「早期エンゲージメントモデル」をベースにしたモデル • 各フェーズごとにドキュメントを作成することで項⽬漏れ/⼿戻りのない

    レビューが可能 • 開発者の声: • 設計漏れが起こらなかった、スムーズなレビューと運⽤引き渡しが可能 pProduction Ready のアプローチはサービス/チームによって違う pProduction Ready を導⼊してみてください Conclusion