上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
可靠性是最基本的功能
当然,为了有效地进行故障调试,自我检查中所依赖的内部运作细节也应该暴露给管理整体系统的操作员。在非计算机领域中对自动化影响的类似讨论—例如,民航[20]或工业应用中—经常会指出高效的自动化的缺点[21]:随着时间的推移,操作员与系统的有用的、直接接触会逐渐减少,因为自动化会覆盖越来越多的日常活动。不可避免的,当自动化系统出现问题时,操作员将无法成功地操作该系统。
由于缺乏实践,他们已经丧失了反应的流畅性,他们有关系统“应该”做什么的心理模型不再反映现实中系统“正在进行”的活动[22]。这种情况在系统非自主运行时出现得更多,即,当自动化逐渐取代了手动操作,假设其他的手工操作仍然可能执行,并且如之前一样一直可用。令人难过的是,随着时间的推移,这一假设终将不再正确:这些手动操作最后将无法执行,因为允许它们执行的功能已经不存在了。
Google也经历过自动化在某些条件下是有害的情况,参看下面“自动化:允许大规模故障发生”补充材料。但是以Google的经验来看,在更多的系统中自动化和自主化的行为不再是可选择的附加项。随着服务规模扩大,肯定是这样的。但是不论系统规模大小,系统中具有更多自主行为的系统仍然有很多好处。可靠性是最基本的功能,并且自主性、弹性行为是达到这一特征的有效途径。