地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【入門】レジリエンスエンジニアリング

Becoming SREを読んでいたら出てきたので調べてみた。

目次

レジリエンスエンジニアリングとは

レジリエンスエンジニアリング(Resilience Engineering)は、予期しない問題や障害から迅速に回復し、事業の継続性を保つ能力に焦点を当てたエンジニアリングの分野です。このアプローチは、システムが複雑で予測不可能な環境下でも効率的に機能し続けるための設計、構築、運用の方法論を提供します。

rerc.t.u-tokyo.ac.jp

レジリエンスという言葉自体は回復性といういう意味もありCNCFでも取り上げられるような内容となっています。(サーキットブレーカーパターンで回復性を〜みたいな文脈でよく見る言葉ですね)

www.cncf.io

codezine.jp

あとはカオスエンジニアリングの文脈でも登場機会が多く見られました。

www.infoq.com

レジリエンスの意味

ja.wikipedia.org

Safety-ⅠとSafety-Ⅱの2つの考え方

事故を減らす考え方として、Safety-ⅠとSafety-Ⅱの2つの考え方があります。Safety-Iは、失敗を避けるために何をしなければならないかに焦点を当てています。リスクを減らし、事故を防ぐための手法とプロセスの導入を重視します。Safety-IIは、成功をどのように繰り返すかに焦点を当てています。システムの適応性と柔軟性を強化し、日々の操作の中で安全性をどのように維持できるかを探求します。Safety-IIではレジリエンス工学に基づく考え方、成功から学ぶ、成功を増やすというのに主眼を置いています。

Safety-II
  • 定義: Safety-IIは、システムがどのように正常に機能するのか、そして日々の操作の中でどのように安全が確保されているのかに焦点を当てた新しいアプローチです。この観点では、事故は異常な出来事ではなく、通常の業務プロセスの一部と見なされます。
  • 目的: Safety-IIの目的は、システムがさまざまな条件下で安全を確保し続ける能力(適応性)を理解し、強化することです。これにより、予期しない状況や変化に対しても柔軟に対応し、安全を維持することが可能になります。
  • 手法: ポジティブな側面(うまくいっていること)の分析、事例研究、システム全体の適応性と柔軟性の強化、チームワークとコミュニケーションの改善など、システムがどのようにして成功を達成しているかを理解し、その成功要因を増やすことが目標です。

リライアビリティエンジニアリングとの違い

リライアビリティエンジニアリング(信頼性工学)とレジリエンスエンジニアリングは、システムや製品の耐久性と信頼性を高めるためのアプローチですが、焦点とする範囲や目的に違いがあります。個人的には信頼性を定義する際に可用性があって可用性には回復性も含まれていると捉えました。

リライアビリティエンジニアリング

  • 焦点: リライアビリティエンジニアリングは、システムや製品が定義された条件下で、予定された期間にわたって失敗なく機能する確率(信頼性)を高めることに焦点を当てます。
  • 目的: 製品やシステムの故障を予防し、予測可能な障害に対してその耐久性を向上させることに重点を置きます。これは、故障率の低減、メンテナンスの容易性、長寿命化を目指します。
  • 手法: 故障モード影響解析(FMEA)、信頼性予測、ストレステスト、品質保証プロセスなど、故障を特定し、その原因を除去または軽減するための手法が用いられます。

レジリエンスエンジニアリング

  • 焦点: レジリエンスエンジニアリングは、予期しない問題や障害からシステムが迅速に回復し、目的を達成し続ける能力(回復力)に焦点を当てます。
  • 目的: 予測不可能な障害や異常な状況においても、システムや組織がその機能を維持し、回復する能力を強化することです。これには、システムの冗長性、柔軟性、適応性の向上が含まれます。
  • 手法: レジリエンスエンジニアリングでは、システム全体の冗長性の確保、多様性の導入、リアルタイムの監視と迅速な対応計画、継続的な改善プロセスなどが用いられます。

感想

レジリエンスエンジニアリングでは予期しない事象が起きてもサービスを継続させる(回復力)というのに焦点を当てています。高いレジリエンスがあるサービスであれば可用性が高くなる。リライアビリティエンジニアリングとの違いについて調べようと思っていたが目的というか方向自体は同じでより具体的になった分野なのかなと思いました。「Safety-Ⅰ:うまくいかないことを防ぐ」から「Safety-Ⅱ:うまくいっている理由を知る」への発想の転換は重要だと感じつつもSafety-Iの考え方が否定されるものではないという理解をしました。レジリエンスエンジニアリングの考え方は「事前の障害予測と準備」や「ポストモーテムでの分析」という場面で活かせる考え方も多く今後も継続的に学んでいこうと思いました。

参考資料

resilient-medical.com

kenkou-anzen.jp

en.wikipedia.org