00、背景
2002 年,亚马逊的杰夫·贝索斯 (Jeff Bezos) 发布了一份备忘录,这份备忘录后来成为了科技行业的教规。
这份备忘录叫做“API 指令”(API Mandate),这是“API 优先”的早期版本。
可以毫不夸张地说,API指令彻底变革了亚马逊的业务,并为它的成功奠定了基础。
结果,组织内的系统就像乐高积木一样,创建了一个开放的生态系统。
随着越来越多的参与者利用 API 开发新产品或服务,从而产生网络效应,该生态系统的价值不断增长。
例如,亚马逊网络服务(AWS)已成为该公司的重要收入来源。
01、代码优先 Vs API优先
在过去的十年里,“API First”已经成为一种流行的软件开发模式。
它优先考虑 API 设计,然后再设计系统。
各种功能团队和系统使用 API 作为共享通信语言。
例如,前端开发人员、后端开发人员和 QA 团队共同根据系统需求设计 API。
这些 API 作为业务需求和系统设计的规范。
然后每个团队独立工作,并在开发测试阶段重新聚集。
下图比较了“代码优先”和“API 优先”方法。
在“代码优先”模型中,API 是系统设计的副产品,通常称为“文档”。
“API First”模型以API规范开始,以API驱动的测试结束,使API成为整个软件开发周期的驱动力。
Code First Vs API First
02、“API优先”的好处:
1. 改进了系统集成。“API First”鼓励开发人员从项目一开始就仔细考虑系统交互,减少开发过程中持续修改的需要。
2. 增强协作和质量。API 作为组织内的共享规范,允许开发人员、测试人员和 DevOps 独立工作。在项目开始时就 API 达成一致有助于消除不确定性并提高软件质量。
3. 提高可扩展性。通过为每个服务定义接口,通过启动新实例和调整负载均衡器设置,扩展变得更加易于管理。
03、小结
要求所有系统的设计都考虑到可扩展性和灵活性是非常有远见的。
这样的话,公司可以迅速适应不断变化的业务条件。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。