跳到主要内容
翻译页面

本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。

什么是可查询基础设施?

可查询基础设施(queryable infrastructure)是一种运作模式:云资源被公开为实时的结构化数据,可使用查询语言按需探查。运维人员(或 AI 智能体)不必从状态文件、导出的快照或各服务的控制台重建环境的状态,而是用 SQL 或类似的声明式语言提出问题,答案在查询时针对 Provider API 计算得出。

工作原理​

可查询基础设施系统将 Provider 的 API 接口面映射到关系模型上:

  • Provider(AWS、Azure、Google Cloud、GitHub)成为 schema 命名空间。
  • 服务(EC2、Compute、Storage)成为子 schema。
  • 资源类型(实例、存储桶、仓库)成为表。
  • 每个资源实例成为一行,其配置属性作为列。

查询规划器将 SQL 转换为底层 API 调用,处理分页和身份验证,并将响应规范化为行。在 StackQL 中,查询

SELECT instance_id, instance_type, public_ip_address
FROM aws.ec2.instances
WHERE region = 'us-east-1';

作为对 EC2 API 的实时调用执行;不会从缓存或状态文件中读取任何内容。多区域和多 Provider 查询会扇出为并行的 API 调用,并将结果聚合为单个结果集。

为什么存在​

3 种压力催生了这一类别:

  1. 多云蔓延。 组织在多个云和数十个 SaaS 平台上运行资源。每个平台都有自己的控制台、CLI 和 SDK。统一的查询接口是回答跨 Provider 问题的唯一可行方式,例如“列出我们在任何地方运行的每一个计算实例”。
  2. 陈旧副本问题。 资源清单数据库、CMDB 和 IaC 状态文件都是副本,而副本会与现实发生漂移。直接查询控制平面可以消除记录状态与实际状态之间的差距。
  3. AI 智能体。 智能体基于结构化的当前数据进行推理。构建在实时 API 之上的 SQL 接口面为智能体提供一个稳定的接口,用于发现、检查和操作基础设施,而无需特定于 Provider 的 SDK 代码。这是智能体基础设施(agentic infrastructure)的基础。

读取与写入​

按定义,可查询基础设施以读取为导向,但该模型可以自然地扩展到写入:如果资源是一行,那么创建资源就是 INSERT,更改其配置就是 UPDATE,停用资源就是 DELETE。StackQL 实现了读写两侧;Steampipe 等只读工具只实现查询一侧。写入一侧在什么是 SQL for APIs?中说明。