作者:周月侨
可观测的概念起源于几十年前的控制理论,随着各种系统越来越复杂,可观测性和相应的体验也越来越受到重视。典型的例子是汽车行业的发展,动力系统、能源和驾驶方式都在发生变化,驾驶员要感知和掌控的也随之变化。因此汽车的人机界面体验设计成为了热门的研究方向。
在IT领域,在当下的云原生时代,系统架构更加复杂,研发团队融入了可观测性的理念,开发者写出的应用都是可观测的,包括告警、监控、日志、链路追踪、自动排障、预测等。那么,如何设计好的可观测体验?
基于阿里云产品的设计实践,可以总结出四个可观测体验的设计原则。
第一,提供当前所需的最小必要信息。这意味着克制,避免信息轰炸,不能因为能够获取到就向用户展示全部数据。要帮助用户对信息进行分层、聚类、排序,让用户快速锁定洞察,然后逐层深入。
第二,运用色彩强化业务语义与异常。色彩的运用在可观测体验中非常重要,它不仅是为了让界面好看,更应该用来诠释业务状态,强化异常感知。例如同一个数据系列不应该是五彩斑斓的,但异常状态应该用红色进行强调。
第三,对话式的探索。好的可观测体验中,用户能够与系统对话,一步一步挖掘根因直至解决问题。比如有红色的error标签,仿佛在说:看,这里是一个异常。那么,它旁边的主行动点就应该是建议查看日志。此时,点击按钮就好像在回复:好,接下来跳转到日志。进入日志后发现有一处高亮,这也是在吸引用户注意,似乎在说:重点看看这段日志。这其中包含的体验要素非常多,需要设计合理的路径,并引导用户,及时提供洞察、建议、反馈等。
第四,确保一致体验。体验一致性是管控台体验设计中最重要的原则之一。对于用户而言,体验一致可以降低学习成本,降低操作时长和错误率,提升满意度;对于产品的设计和开发者而言,体验一致可以提效,稳定性也更有保障。
以阿里云应用实时监控服务ARMS Trace Explorer为例,它存储了全量的应用调用链路明细数据,但是用户并不需要直接看到这些最底层的明细数据,他们只关心应用是否健康以及问题出在哪里。所以Trace Explorer第一个视图的最小必要信息是统计图表、排序列表以及筛选器。用颜色来区分正常和异常,并在筛选器和筛选的结果中保持一致的样式。
假设接到接口耗时长的报警,需要检查哪些接口慢以及它们为什么慢,首先需要检查慢接口的分布,选择最近一小时,按接口聚合,结果如上图。图中不同颜色代表不同接口,可以发现调用耗时大于3秒钟的集中在两个接口上,非常直观。
然后排查接口慢的原因,查看具体调用链路,点击plan可以看到更多详情信息,比如指标、日志等。无论是从外面进入详情,还是在里面查看详情,详情页面都是点击后从右侧推出,在查看详情的交互上保持一致,操作流畅。
然后找到最慢的一条查看线程剖析,定位到行级代码,最终发现根因,解决问题。
整个排查过程的体验非常顺畅,因为对信息的分层合理,方便聚焦,探索路径和引导方式也符合认知,清晰易操作。
上述案例只是可观测体验的冰山一角。结合数据采集、管理、观测、处理全生命周期来整理与可观测体验相关的重点业务场景非常多,比如流量应用的接入、数据迁移、传输备份、链路追踪、攻击溯源、架构感知、故障演练、多活容灾等。
于是,我们构建了一套体系化的可观测体验设计能力来支撑各类业务场景。这些设计能力包含数据色板、基础图表、基础规则和场景化的体验范式,封装为阿里云的规范组件以及Grafana阿里云主题和插件,希望能够提供覆盖DevSecOps全流程的最佳体验设计实践,帮助开发者全面提升业务可观测体验。这套设计能力+工程化的能力构成了阿里云可观测体验设计体系ObservableX,目前正在建设中。
ObservableX从近百款阿里云产品的可观测体验设计中产生,与其他市面上的图表不同的是,它具有强业务属性,比如在数据色彩方面,提供基础色、顺序色、发散色、渐变色,适合图表、大盘、编排、二维、三维、拓扑等复杂数据系列的配色方案;同时优化了色彩变化的感知均匀度,观感更好;在基础图表和规则方面比普通的图表库更加细致。
除了图表构成轴规范、通用的交互规范,还有阈值维稳区间与拖拽型时间轴的联动交互,根据图表场景和数据的业务语义细化使用规则。
ObservableX的精华在于业务体验范式,其中的应用指标图表、系统指标图表、可视化的前置检测、数据传输、任务管理、二维三维、架构拓扑、消息轨迹、防护策略、编排等都是经过打磨且被验证的解决方案。
以应用黄金三指标三联图表为例,首先可以看到,范式有详细的构成说明,请求数、错误数、延时、交互时的数据联动规则等,三个图表可以方便地切换统计方式。针对延时,可以根据排查需要切换绝对值或分布比例,分布图中会显示关键的参考信息,可以放大查看更详细的数据、对比历史数据等。
因此,ObservableX的体验范式具有强业务属性,直接使用即可获得较好的可观测体验。
因为云原生的架构、资产的分布和内部资源消耗等天然就是三维的结构,所以ObservableX的体验范式也涵盖了很多管控升维的设计,还原真实的架构,高度可视化,信息更全面,洞察也更直观。
比如容器监控,我们提供了业务层到资源层全链路的可视化监控,支持从二维的应用拓扑下钻排查到资源层的问题,展开3D全景,全屏排障。
上图为云安全中心云资产全景图,帮助用户感知网络安全风险和安全问题。下钻能够查看资产的防护关系和风险溯源,直观定位风险来源和影响,还能为用户提供针对性的智能防护建议。
ObservableX设计体系不仅面向设计师,其强业务属性也注定希望能够帮助开发运维、安全运营等各类角色发现问题并及时解决问题,预防问题的发生,提升DevSecOps的体验,这也是探索可观测体验设计的意义。