自己修復システムについてアーキテクチャが教えてくれること

自己修復システムについてアーキテクチャが教えてくれること

ソースノード: 1988904

DevOps チームとサイト信頼性エンジニア (SRE) は、毎日コードを扱っています。 そうすることで、彼らは自分の世界を精査し、鋭い観察を行い、予期しないつながりを引き出すことを学びます。 本質的に非常に論理的で数学的ではありますが、ソフトウェア開発は、少なくとも部分的には芸術形式です。 

その発言に納得がいかない? 歴史の最も顕著な建築上の偉業と現代のソフトウェア エンジニアリングとの類似点を考えてみましょう。 これは適切な比較です。ソフトウェア エンジニアリングと同様に、アーキテクチャは複雑な数学的計算を使用して美しいものを作成します。 どちらの分野でも、わずかな計算ミスが重大な結果につながる可能性があります。 興味深いことに、多くの有名なアーキテクチャ上の誤りは、コードで見つかった問題に類似しています。

インスピレーションはどこにでもあるということを忘れないでください。 ここでは、ソフトウェア エンジニアが何世紀にもわたるアーキテクチャのひらめきから学べる教訓をいくつか紹介します。特に、自己修復システムの未来に関してです。

教訓 1: エッジケースは常にシステムの脆弱性を悪用する

現在 601 レキシントンと呼ばれているシティコープ タワーは、1977 年にニューヨーク市で建設を完了し、当時は世界で 100 番目に高いビルでした。 超高層ビルの最先端のデザインには、XNUMX つの XNUMX フィート以上の柱が含まれていました。 完成度は驚異的でした。 しかし、学部生はすぐに不快な何かを発見しました: 強風 建物の完全性を危険にさらす可能性があります. 具体的には、強力な四分の一の風がシティコープ タワーの角に当たると、構造は文字通り崩壊する可能性がありました。 エッジケース.

この塔は、毎年 16 分の XNUMX の確率で倒壊していました。 これらのオッズは、ギャンブルのテーブルに座っている人を誘惑するかもしれませんが、シティコープ タワーの背後にある建築家や構造エンジニアにとって、見通しは厳しいものでした。 ありがたいことに、技術者は建物のボルトで固定された接合部を補強することができました。 災害は回避されました。

構造エンジニアは、シティコープ タワーが最終的にそのベアリングを損傷するほどの強風に直面することを知っていました。 同様に、経験豊富なソフトウェア エンジニアは、堅牢なアプリケーション パフォーマンス モニタリング (APM) とイベント管理だけでは、避けられないエッジ ケースからシステムを保護するには不十分であることを知っています。 それは、静的システムがないためです。 機械学習(ML) 機能は、四分の一の風など、予期せぬ計画外の新しい状況に対処できません。 監視ツールのみに依存する場合、人間の管理者がエラーを解読し、インシデント管理プロセスをエスカレートする必要があります。

平均回復時間 (MTTR) と平均検出時間 (MTTD) を短縮するために、DevOps チームは、エッジ ケースの可能性が高いことを受け入れ、事前に自己学習ソリューションを展開するように取り組む必要があります。 エンジニアリングでは先見の明が重要であるため、この教訓は大いに役立ちます。

レッスン 2: 「飛行機は飛ぶように組み立てる」は終わりのないサイクルを生み出す

悲劇的な出来事は、 航空史における最も重要な教訓. 1954 年に飛行機が飛行中に大幅な減圧を受けて墜落したとき、エンジニアは四角い乗客の窓が不必要なストレスポイントであることを確認しました。 今後、 飛行機には丸い窓が装備されていた. 船内での火災により、避難の容易さを優先する新しい座席配置が行われました。 これらの変化により、数え切れないほどの命が救われました。

航空を含む多くの業界では、製品を徹底的にストレステストする方法はありません。 前述のように、エッジ ケースは避けられません。 ここでの最大のポイントは、ソフトウェア エンジニアは自分自身を提示するときにシステムの脆弱性に注意する必要があるということです。 そこから、彼らは便宜的にそれらに対処しなければなりません。 そのためには、(1) 適切な主要業績評価指標 (KPI) を特定して追跡すること、(2) 関連する指標に基づいてシステムを改善するために時間とリソースを投資することの XNUMX つが必要です。

平均的なエ​​ンジニアリング チームは 16 から 40 の監視ツールに投資していますが、成功を示す指標を見落としていることがよくあります。 MTTD を追跡しているチームは 15% 未満であるため、インシデントのライフサイクルの 66% を見逃しています。 チームの XNUMX 分の XNUMX が報告 サービス レベル アグリーメント (SLA) が不足している 空き状況の追跡に多額の投資を行っているにもかかわらず。 これは、データ収集を削減するには徹底的で体系的な分析が必要であることを示しています。ポイント ソリューションだけではもはや十分ではありません。

ソフトウェア エンジニア、DevOps チーム、および SRE は、可用性に関する膨大な量の情報から価値を引き出すプロセスとツールを優先する必要があります。 重大なエラーを単に観察するのではなく、航空エンジニアの本からページを取り、重要な決定を迅速に行う必要があります。 その秘密は AI にあります。

教訓 3: AI は自己修復システムの基本的な構成要素です

完全に自律的で、完全に機能し、自己回復するシステムは、ソフトウェア エンジニアにとって理想的です。 自分自身にパッチを適用するシステムは、コストのかかる消費者向けのダウンタイムをなくすため、顧客満足度に優れています。 さらに、面倒なチケット管理の必要性が大幅に軽減されるため、IT サービス管理 (ITSM) 機能にとって非常に有益です。 このようなシステムを構築するにはいくつかのコンポーネントが必要ですが、その多くは現在手の届かないところにあります。 しかし、一部の人が認識しているよりも、私たちは自己修復の現実に近づいています.

AI が広く普及していないことは、今日の自己修復システムが直面する最大の障害です。 多くの企業が初歩的な AI または ML ベースのツールを採用していますが、これらのツールの完全性には疑問があります。 つまり、多くのエンジニアが扱う IT運用のための人工知能 (AIOps) 自律型 AI アルゴリズムではなく、ルールベースの自動化ロジックに従うテクノロジー。 この違いは些細なことのように思えるかもしれませんが、実際には、失われた生産性と数百万時間の損失の差です。

問題は、ルールベースの AIOps ツールが異なるポイント ソリューション間の相互作用を分析し、一般的なデータ エラーを特定できる可能性が高いことです。 しかし、自動化ベースのシステムは、時間の経過とともに発生するまったく新しいエラーを処理することも、データの新たな誤動作を予測することもできません。 これは、これらの関数をコーディングしている人間の管理者が、システムに次の手順に従うように要求するためです。 これならあれ 論理パターン。 真に効率的な AIOps ツールは、人間の技術者がその存在に気付く前に新しい問題のあるパターンを分類することにより、検出から解決までの XNUMX つの従来のテレメトリ ポイントすべてで発生するエラーを軽減します。 

私たちが待っている間、 差し迫った AI の第 XNUMX 波、このバージョンの AIOps は、自己修復システムに最も近いものです。 現在の AIOps アプリケーションが、完全に実現された自動化と独立した思考の可能性を含む AI の未来にどのように影響するかを追跡することは興味深いでしょう。 おそらく、構造エンジニアも AI ベースの自己修復システムの恩恵を受けるでしょう。

タイムスタンプ:

より多くの データバーシティ