Slide 1

Slide 1 text

ProductionReadyと 開発プロセス改善

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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 ?

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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が本番環境を管理していない • ウォーターフォール型開発、アジャイル型開発

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

14 What is Cloud IoT OS ?

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

23 サービスドキュメント

Slide 24

Slide 24 text

24 サービスドキュメント

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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