Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
33 lines (27 sloc) 11.3 KB

Operability check

Part of the Multi-team Software Delivery Assessment (README)

Copyright © 2018-2019 Conflux Digital Ltd

Licenced under CC BY-SA 4.0 CC BY-SA 4.0

Permalink: SoftwareDeliveryAssessment.com

OperabilityQuestions.comからの質問と、Matthew Skelton氏、Alex Moore氏、およびRob Thatcher氏による書籍Team Guide to Software Operability から選択した評価基準に基づいて作成しました。

目的:ソフトウェアの操作性-実稼働の準備 に関するチームの認識と実践を評価すること

方法:Spotify Squad Health Check のアプローチを使用して、次の質問に対するチームの回答を評価する:

質問 しんどい (1) すばらしい (5)
1. コラボレーション - 運用機能(ログ、監視、アラートなど)や非機能要件など、システムの運用面で他のチームとどのくらいの頻度で、どのように協力していますか? リリース後に、サービスチームの要求により必要に応じて対応する 仕事やプロジェクトの最初の週から運用面で協力する
2. 運用コスト - 製品の予算とチームの努力のどの部分が運用面の対処に費やされていますか? これをどのように計測しますか? [インフラコストを無視し、チームの努力に集中する] 運用面での時間と労力をできる限り少なくしようとしている/運用面での支出を計測していない 時間と予算の約30%を運用面に費やしている
3. 機能の切り替え - システムでどの機能(機能スイッチ)がアクティブであるかをどのように知ることができますか? どの機能がアクティブかを判断するために、設定ファイルの差分を比較する必要がある 環境内の機能のアクティブ/非アクティブを確認するシンプルなUIまたはAPIがある
4. 設定のデプロイ - ソフトウェアを再デプロイせずに構成変更を反映するにはどうすればよいですか? ソフトウェアをデプロイするか、停止せずに設定変更を反映できない ソフトウェアとは別に設定変更作業を実施する/ソフトウェアを停止することなく、設定変更を実施できる
5. システムの健全性 - システムが健全(または不健全)であることをどのようにして知ることができますか? ソフトウェアが正常かどうかを確認するために、別のチームに手動チェック実施してもらう 標準のHTTPヘルスチェックURLを使用してソフトウェアに問い合わせし、コードに記述したロジックに基づいてHTTP 200/500を返します。また、主要なシナリオの合成トランザクションモニタリングを使用する
6. サービスKPI - メインサービス/システムの主要業績評価指標(KPI)を追跡するにはどうすればよいですか? 何をKPIに設定していますか? サービスKPIが定義されていない ロギングおよび/または時系列メトリックを使用して、ダッシュボードで取得できるサービスKPIを定義している
7. ロギング動作 - ロギングが正しく機能していることをどのようにして知ることができますか? ロギングが機能しているかどうかはテストしていない 特定のアプリケーションの動作が実行された後に、特定のログメッセージ文字列を検索するBDD機能テストを実行、ロギングが機能していることをテストし、中央ログ集約/検索システムでログが正しく表示されることを確認できる
8. テスト容易性 - ソフトウェアシステムのテストが簡単であると言えますか? 何を誰に提供しますか? ソフトウェアを簡単にテストできるようにすることを明確に目指していない デプロイメント・パイプライン内のソフトウェアのすべての部分に対してクライアントと外部テストパックを実行する
9. TLS証明書 - SSL / TLS証明書の有効期限が近づいたことをどのようにして知ることができますか? 証明書の有効期限がいつなのかわからない 証明書の自動更新と証明書監視/アラートツールを組み合わせて使用​​し、証明書の有効期限が切れるときにライブチェックを行い、事前に是正措置ができる
10. 機密データ - ログ内の機密データをマスクまたは非表示にするにはどうすればよいですか? ログ内の機密データのテストはしていない 特定のアプリケーションの動作した後に、特定のログメッセージ文字列を検索するBDD機能テストを使用して、データマスキングが発生していることをテストする
11. パフォーマンス - システム/サービスのパフォーマンスが許容範囲内で機能することをどのようにして知ることができますか? サービスまたはアプリケーションのパフォーマンスの検証は、パフォーマンスチームのみに依存している バージョン管理へのすべてのチェックインで実行されるデプロイメント・パイプライン内で一連のパフォーマンステストを実行する
12. 故障モード - システムのさまざまな既知の故障モード(故障シナリオ)をどのように確認して共有しますか? システムがどのように故障するかを本当に知らない エラー識別子のセットを使用して、ソフトウェアの故障モードを定義し、これらの識別子をログメッセージで使用する
13. 呼び出しトレース - システムでE2Eでコール/リクエストをトレースするにはどうすればよいですか? システムで呼び出しをトレースできない OpenTracingなどの標準トレースライブラリを使用して、システム全体の呼び出しをトレースする。 他のチームと協力して、コンポーネントの境界を越えて正しいトレースフィールドが維持されるようにする
14. サービスの状況 - 現在のサービス/システムステータスを運用担当チームにどのように表示していますか? 運用チームが、サービスの監視項目を発見する傾向がある 運用チームと協力してダッシュボードを構築し、UXを重要な考慮事項としてユーザーフレンドリーな方法で必要なすべての詳細情報が得られるようにしている
You can’t perform that action at this time.