企业软件/6 分钟阅读

集成不是功能

每个供应商都有一张幻灯片,展示他们连接了哪些系统。那张幻灯片正是诚实消亡的地方。

在几乎每一个企业软件销售周期的某个阶段,都会出现一张幻灯片。它展示着各种徽标。SAP。Salesforce。NetSuite。Shopify。QuickBooks。一排排熟悉的图标排列成网格,有时通过细线连接到中间的中央徽标。潜台词很明显:该产品与您已经在运行的所有其他系统使用相同的语言。

那张幻灯片是软件销售中最具误导性的东西之一,谈判桌两边的人都心知肚明。

集成到底是什么

当销售演示文稿说“与 SAP 集成”时,通常意味着以下三种情况之一。第一,存在一个由第三方构建的连接器,在设定的计划内单向移动数据,其映射文件最后一次修改还是在2021年。第二,有人在试用期内设置了一个 Zapier 工作流,从那以后一直在无人监控的情况下运行。第三,有一个在特定事件类型上触发的 webhook,这也是潜在客户在演示期间唯一询问过的内容。

它几乎从不意味着:这两个系统之间存在一个受维护的、有版本控制的、双向的数据契约,包含错误处理、重试逻辑、schema 验证、监控、警报,并且在供应商组织内部有一个指定的负责人,在出现故障时对其负责。

这两种描述之间的差距,正是大多数企业软件实施出错的原因所在。

无人提及的故障模式

功能的故障是显而易见的。如果一个按钮停止工作,用户会立即注意到。支持工单被开启。有人会呼叫工程师。这种故障是可见的、可追溯时间的、可归因的。

集成的故障则是悄无声息的。上游弃用了某个 API 版本。身份验证 token 过期并被静默拒绝。一个过去包含数值的字段开始以字符串形式到达,接收系统的解析器将其存储为零来处理。在凌晨2点的批量同步期间达到了速率限制,跳过了一些记录,而作业最终以“成功”状态完成。

数据出错了。无人知晓。ERP 显示一个库存盘点数;仓库管理系统显示另一个。周四提取了一份报告。数字与所有人的预期都不符,但它们看起来又足够合理,以至于这种差异被归咎于时间差。花了三周时间进行手动对账后,才确定集成已经悄悄丢弃记录长达六周之久。

这并非假设。它描述了在各种规模的公司、所有类别的企业软件中不断发生的事情。

所有权真空

最深层次的问题不是技术上的。而是组织上的。

当功能损坏时,有负责该功能的产品经理、负责该功能的工程团队以及跟踪该功能的路线图项目。当集成损坏时,它通常不在任何人的待办事项中。它是由顾问在实施期间构建的。顾问已经离开了。供应商的支持团队说该连接器是第三方组件。第三方组件的维护者说问题出在上游 API。上游 API 的文档上一次更新还是在上一版本流行的时候。

集成是基础设施。它们不是功能。它们不属于产品路线图上与“添加深色模式”并列的项目。它们应该与“保持数据库运行”并列——必不可少、看不见、不引人注目,而且一旦被忽视将是灾难性的。

弄清楚这一点的公司将每一个外部数据依赖都视为一流的工程问题。他们对集成契约进行版本控制。他们编写按计划在真实的外部系统上运行的测试。他们对数据量异常发出警报——因为如果一个通常每小时传送4000条记录的 feed 突然只传送了40条,那就说明出问题了,而且无需读取记录本身就可以检测到。他们指定了一个负责人。不是一个团队——而是一个具体的人。

实际上应该问些什么

在评估需要与您现有系统交换数据的软件时,徽标幻灯片并不是您该看的东西。真正重要的问题要直接得多。

当连接中断时会发生什么? 系统会排队并重试吗?它会静默失败吗?它会提醒某人吗?是否有手动重新处理路径,由谁来运行?

在您的组织内部,谁负责这个集成? 不是问“谁构建了它”——而是谁负责确保它明年也能正确运行?如果答案是耸耸肩,那这就是最诚实的回答,您应该相应地对待它。

从你们那边来看,schema 变更是什么样的? 当上游系统更改字段类型或重命名 endpoint 时,你们如何发现,更新过程是什么?“我们发布新的连接器版本”与“我们提前90天通知您,提供迁移指南,并并行支持两个版本”是不一样的。

我可以看错误日志吗? 不要只演示 happy path——要看错误日志。任何在生产环境中运行集成超过一年的系统都有错误日志。里面有什么内容,这些错误是如何解决的?

数据契约就是集成

真正有帮助的思维转变是:停止将集成视为系统之间的连接,开始将它们视为数据生产者和数据消费者之间的契约。

契约是有版本的。它的每一方都有一个负责人。它不仅指定了 schema,还指定了语义——这个字段是什么意思,什么是有效值,如果它是 null 会发生什么。它有一个测试套件。它有一个变更流程。它有一种方式在被违反时通知另一方。

将集成作为契约而不是连接器来构建,前期的工作量会更大。但在三年的时间跨度内,工作量会大幅减少。而且,当数据拓扑复杂到单个人无法在脑海中完全掌握时,这是唯一能够实现扩展的方法。

徽标幻灯片不会消失。但是下一次当您看到它时,要问的问题不是“上面有哪些徽标”——而是“当周一凌晨2点出现问题时,那些连接中每一个的价值是什么?”

这个答案才是集成。其他的一切都是营销。

Mikael Koskinen Guru Meditation