June 10, 2022 byAndrew Spencer

API 优先方法如何塑造 Zonos 的未来

June 10, 2022
Andrew Spencer

想知道成为一家 API 优先公司意味着什么吗?请阅读 Zonos 工程副总裁 Andrew Spencer 关于 API 优先方法如何塑造 Zonos 未来的看法。

Zonos 是一家 API 优先的公司。这个简短的陈述包含了很多信息。那么,这究竟意味着什么呢?本博客将分解"API 优先公司"的概念,并以 Zonos 为例进行说明。

如果我们声称 Zonos 是一家 API 优先的公司,那么我们的 APIs 是我们实现创造全球贸易信任使命的主要战略。从战术上讲,这意味着我们必须在我们所做的一切事情上采取公司范围的 API 优先方法。当我们考虑客户的需求时,我们首先问:"我们的 APIs 如何能满足客户的需求?"

为了更好地理解成为 API 优先公司意味着什么,本博客将讨论以下内容:

  • 什么是 API 优先方法?
  • API 优先方法有什么好处?
  • 为什么反向工作是有效的?
  • 工程责任是什么?

什么是 API 优先方法? 

API 优先方法与代码优先方法形成鲜明对比,在代码优先方法中,团队首先设计应用程序的功能,编写代码,然后在流程结束时添加 APIs。

在 Zonos,使用 API 优先方法构建软件意味着围绕 API 设计解决方案,而不是编写应用程序然后稍后添加 API。这意味着我们的 APIs 是主要的,本身就是产品;我们以对客户需求的极度关注来设计它们,并在编写任何代码之前明确地记录和构建它们的架构。

API 优先方法的好处 

API 优先方法有助于建立以下思维方式:

  • 我们理解我们的 APIs 是我们客户的主要界面,因此将其视为我们的公开交付成果。
  • 在编写代码之前记录给了我们机会来推理、讨论、完善和与我们的团队和利益相关者沟通我们的目标,以创建更好的最终产品。
  • 当我们关注客户的需求时,我们理解如何最好地设计满足这些需求的 APIs。

这种思维方式将我们的 APIs 和客户放在首位,对于建立一个 Zonos 每个人都对客户成功负责的基础至关重要。

开发团队可以并行工作

API 优先方法涉及建立一个契约。在服务之间创建一个由组织中的团队遵循的契约,允许这些团队同时在多个 APIs 上工作。开发人员不必等待 API 更新发布才能继续下一个 API。团队可以根据预先建立的 API 定义同时模拟测试 APIs 和 API 依赖项。

降低开发成本

APIs 和代码可以在许多不同的项目上重复使用。在 API 优先方法下,如果开发团队想要构建新应用程序,他们不必从头开始,这节省了时间和金钱。API 优先设计还允许大多数问题在编写任何代码之前得到解决,这有助于防止在集成 APIs 与应用程序时出现问题。

增加上市速度

许多构建 APIs 的过程可以使用工具自动化,以导入 API 定义文件。我们从生成核心类型、定义和模式开始;使用这些文件,API 工具(如 API 文档、软件开发工具包 (SDKs) 和模拟 APIs)可以自动生成。自动化大大加快了 APIs 和应用程序的开发。

API 优先还使得可以向应用程序添加新的服务和技术,而无需重新架构整个系统。Zonos 必须快速将功能推送到生产环境以在不断变化的跨境 SaaS 市场中保持竞争力。消除底层代码中的技术债务比将客户迁移离开设计不良的 API 更容易。

确保良好的开发人员体验

API 消费者通常是开发人员,开发人员体验 (DX) 可以成就或破坏 API 的成功。API 优先方法确保开发人员体验是积极的,因为设计良好、文档齐全、一致的 API 更容易学习和重复使用。这也增加了实施速度。这些好处都是相互关联的!

提高长期成功

API 优先方法允许快速原型设计和迭代,这意味着我们更快地了解什么有效,什么无效。就像爱迪生在创建灯泡前的 1,000 次失败尝试一样,API 优先意味着我们快速失败并带着更好地了解如何实现成功的方式向前发展。API 优先通过确保 APIs 可靠、一致和易于开发人员使用来增加我们的长期成功。

为什么反向工作是有效的? 

2015 年,我有机会重新设计一个流行消费品牌的电子商务网站。我评估了与现有系统相关的各种关键绩效指标 (KPIs),很明显哪里可以进行最大的改进:

  • 桌面转化率低于标准。
  • 移动转化率非常差。
  • 移动流量的百分比快速增加,在接下来的 12 个月内将超过总流量的 50%。由于移动转化率非常差,大部分流量是移动的并不是理想的。

鉴于这些数据,什么会为用户创造最大价值?显然是解决网站移动用户体验的问题。因此,我采取了移动优先的方法来重新设计网站。这意味着所有的设计、架构、APIs 等都首先考虑了移动体验。这与当时的传统方法相反,后者首先关注桌面体验,经常将移动体验作为一个笨拙的后期附加品,转化率很差。移动优先方法也需要更多的前期工作——这不是简单的路径。需要新的架构,需要编写新的 APIs,并且需要为每个断点进行多个设计。

移动优先方法导致移动转化率显著增加。新的架构也在桌面转化率上取得了令人印象深刻的收益。该方法之所以成功,是因为它确定了如何创造最大的用户价值,并将整个方法集中在提供该价值上。从一开始就创造了正确的思维方式。同样,尽管可能感觉像是反向工作,但 API 优先方法创造了识别压倒性问题然后构建基础以纠正这些问题的机会。

工程责任是什么? 

API 优先思维方式已经并将继续引领 Zonos 走向成功,工程在其中发挥着不可或缺的作用。我们的责任是始终保持 API 优先思维方式。这意味着我们不断提出使焦点保持在我们的 APIs 上的问题,例如:"我们的 APIs 如何能满足客户的需求"。这也意味着我们总是用指向我们的 API 文档的链接来回应有关功能的问题。如果文档不存在,那么我们创建它——在跨职能团队上合作,以确保 Zonos 拥有出色的 API 文档。

Author
Andrew Spencer
Published: June 10, 2022
Share