チームの信頼性を高める方法とは?
By Devoxx · 2024-02-24
Chaos Engineeringとは、システムの信頼性をテストする手法です。XMのチームは、このアプローチを取り入れて、チームの信頼性を向上させる方法を模索してきました。
Chaos Engineering for People
- Chris は以前、アイルランドのダブリンで AWS の RDS ポッドのプレミアムサポート、そしてサービスチームで働いてきました。
- 彼は最近3年間、XM と一緒に仕事をしており、XM はオンラインブローカーファームで、設立以来500万人以上のクライアントを持ち、世界中に強力なクライアントベースを持っています。
- XM の従業員はほぼ1000人で、さまざまな国にオフィスを持ち、キプロスに本部を置いています。彼らはコンテナ化されたアプリケーションを利用しており、さらにAWSサービスの数も増えています。
- Chaosエンジニアリングのメソドロジーに対してライフサイクルポリシーを追加するなど、彼らはサービスとリソースを活用して、人々の生活をより良くするための プロセスを活用しています。
Chaos Engineering for People
新しいアクションポイントの考え方
- 過去の会議で述べたように、過ちを繰り返さないようにしたい。
- ライフサイクルを使用する理由は、何も見逃さないためです。私たちは皆、多忙であり、行動するたびに3〜4つの新しいタスクが発生します。
- だからこそ、ライフサイクルを主要なプロセスに取り入れようとしています。これは、ソリューション設計、コストパフォーマンスのレビュー、時にはアプリケーションのレビューにも当てはまります。
- AC障害のシミュレーション、ポートの削除、リクエストスワーミング、サービスデスクラボについて、それぞれ簡単に説明します。
新しいアクションポイントの考え方
AWSの新しいサービス、FISについての解説
- エンジニアやエージェント、対応者に気付かれることなく、アラートをシミュレートする方法を模索した。
- API GatewayはLambda関数をトリガーし、FIS(Fault Injection Simulator)と連携しており、AWSのカオスエンジニアリング向けのサービスとして設計されている。
- このツールは他のサーバーと同様にサーバーモニタリングに接続されており、システムがダウンした際に監視アラートとインシデントが発生する。
- モニタリングエージェントをセットアップした後は、疑似サービスを作成し、エージェントが監視する。サービスがダウンすると、監視アラートが発信され、インシデント対応チームが手順に従って対応する。
- サービスの特定アラートには、サービスデスクラボからのものも含まれるが、これに対する対応手順も事前に定義されている。
AWSの新しいサービス、FISについての解説
重要な見つけたポイント
- API呼び出しプログラムの使用方法を示し、構成を保存して自由に利用できるように設定した
- セキュリティの担当者には、API Gatewayがリソースポリシーで制御され、IPの呼び出し元とユーザーが認証されていることを保証した
- SSMを使用してスクリプトを作成し、Cloudwatchを使用してメトリクスを記録することで、障害注入シミュレーションサービスに追加した
- エンジニアのオンボーディングが迅速であり、ランブックにギャップが特定されたことを見出した
重要な見つけたポイント
Chaos Engineeringの重要性
- Chaos Engineeringは、システムの信頼性をテストするための手法であり、システムがネットワークの障害にどのように対処するかを理解することができる。
- 自動トリガリングやログの収集など、Chaos Engineeringを自動化する取り組みが行われており、開発者が直接関与 しなくてもダッシュボード上で実験結果を確認できる。
- トレーニングや演習を通じて、チームは備えあれば憂いなしという考え方が浸透し、実際に攻撃や高トラフィックなどの状況にも対応できるようになった。
- Chaos Engineeringのプロセスを通じて、自動バックアップの復元時間が大幅に短縮され、エンジニアたちの迅速な対応能力が向上した。
- チーム全体のリスクマネジメントの向上や、システムの強靭性をテストすることで、会社の成長と安定に貢献している。
Chaos Engineeringの重要性
Conclusion:
Chaos Engineeringを活用することで、XMのチームはシステムの信頼性を向上させ、リスクマネジメントやシステムの強靭性をテストすることができるようになりました。これにより、会社の成長と安定に貢献しています。