[Michael Lyu's Keynote: "Reliability-Driven AIOps for Cloud Resilience" (ICSE 2021 - Keynotes) - ICSE 2021](https://conf.researchr.org/details/icse-2021/icse-2021-keynotes/3/Michael-Lyu-s-Keynote-Reliability-Driven-AIOps-for-Cloud-Resilience-)
スライド: [ariselab.cse.cuhk.edu.hk/assets/files/ICSE2021_keynote_lyu.pdf](http://ariselab.cse.cuhk.edu.hk/assets/files/ICSE2021_keynote_lyu.pdf)
## 概要
クラウドコンピューティングプラットフォームは、検索エンジン、インスタントメッセージングアプリ、オンラインショッピングなど、多くのIT企業が自社のアプリケーションやサービスを展開するための主要なホストとなっています。クラウドシステムが複雑化・大容量化するにつれ、クラウド障害は避けられないものとなり、さらにサービスの中断やパフォーマンスの低下を招くことになります。クラウドの障害を適切に管理できるかどうかは、企業の収益や顧客の信頼に大きく影響します。そのため、クラウドベンダーにとって、耐障害性の高いクラウド運用は最も重要な課題となっています。しかし,クラウドシステムは継続的に機能アップやシステムの進化が行われているため,システム監視データの統計的性質が時々刻々と変化する可能性がある.また、クラウドデータ解析モデルの学習に人間の専門的な知識を取り入れる手段がないのが現状です。大規模システムの障害診断には、このような知識が不可欠です。
本講演では、産業用クラウドシステムに共通するいくつかの重要な課題を明らかにし、障害予防・障害除去技術から耐障害性クラウド運用への一般的なロードマップを提供します。我々は、レジリエントなクラウドシステムを実現するために、信頼性駆動型の[[AIOps]](Artificial Intelligence for IT Operations)フレームワークを開発することを提案する。このフレームワークでは、ログ、トレース、KPIなど複数の異種情報源からデータを収集し、クラウド分野の専門家の知識を用いて適切にラベル付けを行い、AIベースのデータ分析によってクラウドシステムとサービスの信頼性を総合的に向上させることを目的としています。特に、このフレームワークは、異常検知、故障診断、故障箇所の特定など、ソフトウェア信頼性エンジニアリングのエンドツーエンドのパイプラインで構成されています。異常とは、システムの正常な動作から著しく逸脱した事象や観測結果を指します。異常が深刻化し、システムが要求された機能を果たすことができなくなると故障が発生し、多くの場合、人が認識できる症状として現れます。故障診断では、故障が直接的に引き起こす最も重要な問題を発見しようとするものである。
この目的を達成するため、我々はクラウドシステムの多角的な視点から効率的な故障診断のためのデータ駆動型アプローチを模索する。一般的にKPIの急激な上昇や下降によって示される異常の下に、どのような障害が発生しているかを調査する。例えば、クラウドネットワークを監視しているKPI「パケット数」が、一部のネットワークサービスで起きている異常によって、突然減少することがあります。これは、ネットワークに重大な障害が発生していることを示唆している可能性があります。そこで、インシデント、トポロジー、きめ細かいシステム監視データの異種情報を融合し、クラウドシステムにおける連鎖的な障害を特定するためのインシデント集約手順を設計します。
さらに、故障診断手順を強化するために、人間の専門家の活動を調査する。一般に、クラウドの保守者は、システム性能の重要度を様々なKPIに割り当てている。専門家の知識を自動検出モデルの学習に利用するため、我々は、ヒューマンインザループによる適応的な障害診断メカニズムを導入する。このメカニズムでは、手動ラベリングのために有益なサンプルを系統的に選択し、[[教師あり機械学習]]アルゴリズムの性能を大幅に向上させることができる。この手法により、過去のデータと人間の知識の両方から、より精度の高いモデルを学習させることができるようになりました。より具体的には、クラウドのメンテナンス担当者は最小限の労力でサービングモデルと対話することができるようになりました。誤報や見逃しが発生した場合、モデルは人間との対話の助けを借りて、それらから適応的に学習することができます。その結果、人間の知識を体系的に蓄積することで、時間の経過とともにモデルの精度を向上させることができます。
最後に、クラウド上のマイクロサービスに対して、ログとKPIに基づく障害局所化のアプローチを検討する。また、マイクロサービスの依存関係を構築するためにPCアルゴリズムを採用し、根本原因の推奨のために確率的行列分解アルゴリズムを定式化する。提案する信頼性駆動型AIOpsフレームワークに関連する様々な分析モデルを構築し、実際のクラウドデータを用いた実験を行い、提案するソフトウェア信頼性エンジニアリング技術の有効性を実証する。
## メモ
- Software Reliability Engineering
- 3 parameters
![[Pasted image 20220526150643.png]]
![[Pasted image 20220706172123.png]]
- Fault Avoidance
- Fault Removal
- Fault Tolerance
- Fault Prediction
- Site Relbility Engineering
- cloud software and sistems tackle
- Data-Driven AI Applications
- Challenges of Resilient Cloud Operations
- AIOps for Cloud Resilience
- Log
- Alert
- Incident Ticket
![[Pasted image 20220526151319.png]]
## Service Dependency
![[Pasted image 20220526161303.png]]
- [[2018__CCGRID__CloudRanger―Root Cause Identification for Cloud Native Systems|CloudRanger]]
## Alert Aggregation
![[Pasted image 20220526152443.png]]
## Incident Management
![[Pasted image 20220526153604.png]]
## Outage Prediction
![[Pasted image 20220526153821.png]]
## What’s the next?
- 人間の知識とアルゴリズムの統合 How to integrate human knowledge with algorithms automatically and comprehensively?
- AIとソフトウェアエンジニアリング Further investigations on AI and Software Engineering