命名与设计风格指南
企业构建或对外暴露的每个 API,在网址、字段和错误响应上保持一致的规范。
只有一个 API 的企业,很少需要一套 API 外观标准。而由不同开发者在几年间陆续构建出十几个 API 的企业,通常会在命名、身份验证和错误处理上形成十几种略有差异的规范,每一次新的集成都得从头摸索一遍。正是为了弥合这个差距,成长中的迪拜企业才会迪拜聘请 API 架构师:不是要他们亲自构建每一个 API,而是要确立每个 API 都应遵循的形态。
OpenAPI Initiative 是 Linux 基金会旗下一个厂商中立的项目,其自有的常见问题页面将该规范描述为一种标准的、与编程语言无关的方式,用来描述 REST API,让人和工具都能理解一项服务,而无需阅读其源代码。API 架构师通常会采用这样一套标准,作为整个企业的通用语言,再在此基础上建立具体的命名、版本管理和身份验证规则,让十几个 API 感觉像一个连贯的产品,而不是十几个各自为政的产品。
这个角色的产出
其他开发者会应用的标准,加上让标准持续被遵循的审查流程。
企业构建或对外暴露的每个 API,在网址、字段和错误响应上保持一致的规范。
API 验证调用方身份的一套统一方式,而不是每个 API 各自发明一套方案。
如何引入破坏性变更,同时不会悄悄破坏每一个仍在调用旧版本的应用。
为每个 API 提供一致、最新、机器可读的说明,让新的集成不必从一张空白页开始。
在新 API 构建前进行一次轻量检查,在问题还容易修正时就发现不一致之处。
通常是按新标准构建的第一个 API,之后作为可直接参照的实例,而不只是一份文档。
重要能力
设计判断力,以及让其他团队真正落实标准的能力。
| 技能或工具 | 合格表现是什么样 | 为什么重要 |
|---|---|---|
| API 描述标准 | 熟练使用 OpenAPI 这类通用格式,能自如地依据它审查其他开发者的设计 | 共享、机器可读的描述,正是让风格指南可执行而非空谈的关键 |
| 版本管理判断力 | 对何时、如何进行版本管理有清晰、经过深思的立场,而不是“一律都要加版本” | 版本管理过度会带来自身的维护负担,管理不足则会在没有预警的情况下破坏集成 |
| 安全模式 | 理解 API 常见的身份验证方式,以及各自适用的场景 | 一以贯之地执行一套薄弱的身份验证标准,仍然是一套薄弱的标准 |
| 与开发者的沟通 | 能把标准讲清楚到让开发者自然遵循,而无需高强度监督 | 一份没人读、没人遵循的风格指南,在实践中毫无价值 |
| 务实态度 | 制定的标准符合企业实际规模,而不是套用为更大机构设计的框架 | 过度设计的治理流程会拖慢小团队,却带不来真正的价值 |
OpenAPI Initiative 的 常见问题页面 提到,该规范获得业内 40 多家机构的支持,这一点值得向候选人提起:熟悉一套被广泛采用、厂商中立的标准的人,比只在某家公司的私有规范里工作过的人,更容易快速融入新项目。
合作方式
顾问咨询适合大多数第一次为这个角色招聘的企业,因为核心交付物,一份风格指南、一套版本管理策略和一套审查流程,属于边界明确的顾问工作,而不是持续的功能开发。如果企业还希望由架构师设计并构建按新标准打造的首个参考 API,那更适合定向项目。专属团队适合持续新增 API 的较大企业,标准需要随之演进。招聘支持适合希望长期把 API 架构师招入自己团队的企业。
评估候选人
能揭示他们制定的标准是否真正被使用的检查方法。
不是通用模板,而是为某个真实企业量身打造的版本,以及他们有意省略了哪些内容,因为对那个企业的规模而言并非必要。这是在迪拜聘请 API 架构师前最值得问的一个问题,因为它能立刻分辨出实践经验和纸上谈兵。
一个具体的版本管理决策案例,出了什么问题,以及事后会有什么不同做法,比任何版本管理的定义都更能说明问题。这也是向任何在迪拜担任 API 架构师的人提出的合理问题,尤其是对已经有实际集成在运行的企业而言。
标准是被自愿采纳,还是需要强制执行,这能说明它实际上有多实用、沟通得有多到位。
清晰、最新的文档是标准正被真正遵循,而不是躺在抽屉里的最明显迹象之一。迪拜聘请 API 架构师时,这份样本往往是判断其以往工作质量最快的方式。
优秀的候选人会为较小的企业按比例缩减治理流程,而不是不管规模一律套用大型企业的流程。
认证
没有任何认证能直接证明 API 架构方面的判断力。
不同于一些较窄的技术技能,目前没有专门针对 API 架构或治理、被广泛认可的单一认证。云平台自身的架构认证,例如 AWS、Microsoft Azure 或 Google Cloud 颁发的证书,只有在该平台是相关 API 核心时才具有意义。
一份真实的风格指南、一次真实的版本管理决策,以及开发者确实遵循该标准的证据,比任何证书都更能说明问题。这是在迪拜聘请 API 架构师时值得索取的证据。
阿联酋考量
两者都更适合从一开始就纳入设计,而不是事后补救。
阿联酋的联邦数据保护法适用于通过电子系统处理的个人数据,无论处理发生在哪里。API 架构师可以把同意与访问规则直接内置到身份验证标准本身,这样每个 API 都会自动继承这些规则,而不必各自单独处理。
如果某个 API 需要通过阿联酋国家数字身份 UAE PASS 验证用户身份,UAE PASS 发布了一份 OAuth2 网页集成指南。负责制定整体身份验证标准的 API 架构师,应该考虑这一流程如何与之衔接,这一点值得尽早和任何在迪拜聘请的 API 架构师讨论清楚,尤其是面向公众的产品。
直接解答
API 开发工程师按需求文档构建一个 API。API 架构师决定企业内每个 API 都应遵循的标准,例如命名规范、版本管理和身份验证方式,这样不同开发者构建的不同 API,在使用者看来依然保持一致。
通常还不需要。一旦企业已经拥有、或计划拥有足够多的 API,彼此间的不一致开始造成实际摩擦,无论是对内部开发者、合作伙伴还是接入的客户,这个角色的价值才会显现。
在新 API 构建之前审查其设计,维护一份风格指南,并决定破坏性变更如何进行版本管理与沟通,这样对一个 API 的改动才不会悄悄破坏每一个调用它的应用。
可以,尤其是在合作初期,把一个 API 设计好往往会成为整套标准所参照的范例。
两者有重叠但并不相同。API 架构专门关注贵司自身的 API 如何设计与治理。集成架构范围更广,涵盖系统之间交换数据的整体模式,不一定以 API 为中心。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。