# Experimentable Infrastructure [[Yuuki Tsubouchi]] が 2017 年に提唱したウェブシステム運用の自律化構想。近代科学の**仮説演繹法のループ**をウェブシステムの運用に適用し、高速に回すことで自律的に変化に適応し続けるインフラストラクチャを実現する。 ## 基本定義 **観測**と**実験**の自動化を組み合わせた運用自律化フレームワーク。仮説演繹法の5ステップをシステムが自律的に実行する: 1. 観察に基づいた問題の発見(**観測**: ウェブシステムの過去と現在の状況を継続的に把握) 2. 問題を解決する仮説の提起(パターン化された仮説群から選択) 3. 仮説からのテスト命題の演繹 4. テスト命題の実験的検証または反証(**実験**: 本番に近い環境をオンデマンドに構築して安全に実験) 5. テストの結果に基づく仮説の受容、修正または放棄 ウェブシステムの観測と実験で判明することは「世の中的には既知のなにか」であることがほとんどなので、仮説提起をパターン化できるという実用的な想定に立つ。 ## 3軸の構成要素 ### 観測(Observation) 従来の監視(ping・メトリック時系列グラフ)を超えた包括的可観測性。構成要素と要素間の関係の把握・ログ・イベントデータを含む。現状では SRE がネットワークグラフ構造・ログ・アプリケーションコード・変更履歴を脳内統合して把握しているものを自動化する。 ### 制御(Control) 3段階の制御戦略: - **ナイーブな制御**: メトリック連動の自動スケール(エンジニアの経験頼り) - **待ち行列理論**: 到着分布と処理分布の観測によるリソース配分。リトルの法則応用のキャパシティプランニング - **フィードバック制御**: 制御対象をブラックボックスとして扱い外乱にも対応。SRE の障害対応プロセスに類似。伝達関数の同定には実験データが必要 ### 実験(Experimentation) クラウド・コンテナ技術で本番に近い環境をオンデマンドに構築し、実験を高速・安全に自動化する。Chaos Engineering(Netflix 提唱)の「故意に異常を起こして耐障害性をテストする」発想にインスパイアされつつ、制御パラメータ推定へ拡張。動作テスト・負荷テスト・パラメータチューニングも包含。 ## 自律化の段階区分 | 段階 | 内容 | 人間の役割 | |---|---|---| | **自律運用** | 信頼性制約を満たすよう自律動作 | 条件設定・アーキテクチャ決定・効率化 | | **自律開発** | 費用を自律的に最小化するシステム | 進化・適応の概念が必要(ソフトウェア進化研究と関連) | ## 自律運用の壁 1. **ハードウェアリソース制約**: リソースプール上限を超える負荷 2. **予測できない外乱の大きな変化**: フィードバックが間に合わないケース ウェブサイエンスの状態予測(ウェブの「生態系」ダイナミクス研究)をフィードフォワード制御に利用することで緩和できる可能性がある。 ## 位置づけと発展 [[Yuuki Tsubouchi]] の SRE 思想の 2017 年時点の中核構想。この後の軌跡: - [[@2019__yuuk.io__2019-SRE-Thinking]]: SRE を「技術」として再定義、「技芸から工学へ」のテーゼ化 - [[@2022__DICOMO__AI時代に向けたクラウドにおける信頼性エンジニアリングの未来構想]]: セルフクラフト・Interactive AIOps へ - [[@2024__yuuk.io__SRE-NEXT-2024]]: 「工学としてのSRE」として集大成 LLM・エージェント時代の [[agentic SRE]] や [[SRE AI Autonomy Levels]] の概念は、Experimentable Infrastructure の観測・制御・実験の自動化ループをより高度な AI 技術で実現しようとする発展形と見なせる。 ## 横断的知見 > [!key-insight] 仮説演繹法の実用化 > 科学的手法をウェブシステム運用に適用する際の実用的な鍵は「ウェブシステムで発見されることは世の中的に既知のなにかがほとんど」という想定。これにより仮説提起をパターン化でき、全自動ループが実現可能になる。 ## 一次ソース - [[@2017__yuuk.io__ウェブシステムの運用自律化に向けた構想]](2017-12-02) — 概念の初出 ## 未解決の問い - この概念をどのソース群で継続的に検証するか。