摘要
OaC(Observability as Code,可观测性即代码)是一个新兴的领域,即通过代码化的方式,将可观测性的配置和工具组合起来,形成可重复的可观测性解决方案。
目前建议实施的机会包括:
- 以观测云 OpenRMS 方案作为范例,注册 HashiTalk 2023 和 KubeCon China 2023,基于厂商视角,介绍我们 IaC 的工程化实践。
- OpenRMS 中的子项目 rspec,可以协助产品技术专家团队加速示例文档的撰写,通过 rspec 撰写的最佳实践,可以自动转译为 IaC 和 API 的可执行程序。
整体看来目前我们在观测云中,有如下机会可供评估,包括:
- OpenRMS,一套资源信息标注框架和编译工具集,可以开源规范的形式运营,建立面向云资源可观测性的事实标准,以供需要管理和观测多云资源的厂商接入(构建生态与工程化基础)。
- IaC 可观测,基于 OpenRMS 来绘制任何云资源的拓扑结构,支持资源发现(Resource Discovery)和漂移检测(Drift Detection)。对标 MSP、CMP 厂商。
- 云安全洞察,基于云资源拓扑和预定义的规则库,检查合规风险。对标 DataDog、火线。
背景介绍
OaC 的发展历史不长,但目前已有多个玩家入场。
- 2018 Nov: [[Observability as Code]] 进入 ThoughtWorks Radar。
- 2020 Apr: NewRelic 发布 Terraform Provider。
- 2023 Jul: DataDog 发布 Terraform Provider。
- 2021 Jun: Vodafone 在 HashiConf 上作报告。
- 2022 Jun: [[Lightstep]] 的 [[Adri Villela]] 在 [[Medium]] 上发布关于 [[OLaC]] 的文章,同年发布相关产品工具。
项目(Projects)
OpenRMS
OpenRMS 是我们用来生成 Terraform Provider 和 OpenAPI 的一套资源信息标注框架,它可以为云资源提供抽象资源定义。
OpenRMS 由两部分构成,用于代码生成的「编译/打包工具链」和「资源管理服务」,详情可阅读 GitHub 上的 7 篇 Proposals。
本年度待注册的会议(年底两场):
- HashiTalks 2023,注册时间 8 月,主题 OpenRMS + Guance Cloud Provider
- KubeCon China 2023(如果今年照常开的话),注册时间 10 月左右,主题 Observability + IaC / GitOps
相关活动:
- (待评估)Developer Hackathon,黑客松主要是以研究为目的,研究观测云 API 的具体使用体验,优化相关工具,辅以社区传播。
- CNCF Sandbox(在 Platypus 之后依次递交)
商业机会(Areas)
Infrastructure as Code Observability
What?
IaC 可观测性主要分为两类:
- 一个是 IaC 工作流可观测,包括「GitOps 操作审计」
- 一个是基础设施本身的状态可观测,包括「资源拓扑发现」、「漂移检测与同步」
Why?
基础设施(尤其是云资源)的可观测性是多年来行业内的痛点,一直以来曾有许多组织为此付出了很多努力:
- 首先是 MSP(Managed Service Provider,托管服务提供商)和 CMP(Cloud Management Provider,云管理服务提供商),这两类厂商都致力于整合多家云厂商的控制面 API,在此之上封装一个一致性的外观,以统一维护和管理。但云厂商的 API 变更频繁,维护成本高昂,使得能够同时提供的厂商集成规模受到了一定的限制,并且往往上游厂商对于控制面 API 的兼容性承诺不高,常常导致多云集成商本身的可用性风险。
- 其次是云厂商本身,云厂商本身也有展示自身资源拓扑的产品。但对于该类产品来说,首先云厂商失去了中立性,仅能支持自家产品,有很大的局限性。其次云厂商
依赖云厂商和 CMP 厂商本身,很难解决 IaC 可观测性问题。因此对于可观测性厂商来说,是一个可供评估的可能性。
IaC 可观测性有一定商业化的空间,例如 Pulumi 按照资源的规模和 API 调用次数来收费。(目前估值 $57M)。
How?
如果要实现该产品,前置依赖项目有:
- OpenRMS + Terraform,RMS 用于标注资源扩展信息,凡是接入 OpenRMS 的厂商,都可以在观测云中查看。
- Graph Server,基于 OpenRMS,接收和同步 IaC 工具的变更。
- Google Terraformer 或自研导入工具,用于导入云资源到观测云中。
Cloud Security Insight
What?
云安全洞察是一个近年来兴起的赛道,玩家包括 DataDog 的 Cloud Security Management、火线云安全等。
在云安全洞察产品中,用户可以为「云资源拓扑」启用或编写「云安全策略」,云安全洞察会根据云安全策略,自动分析这些云资源,给出一个可供预览的报告。
Why?
DevSecOps 是近年来比较热点的研究方向。从可观测性的角度切入,可以最大程度让数据流通,优化成本,并产生价值。DataDog 等厂商也已经提早进场布局。
How?
如果要实现该产品,前置依赖项目有:
- OpenRMS + Terraform,读取资源信息
- Checkcov / Chef / OPA:复用社区提供的规则集