【API生命周期看护】API注册与发布

一、基本概念

经历了API的开发与测试环节后,此时我们的API已具备发布上线的条件了。与传统的接口注册与发布不同,云服务场景下,很多流程已经是自动化进行的,极大程度降低工作量的同时,避免由于离散的多平台、多系统、多操作人员而造成的错误与不一致问题。同时,API的发布产物也是云服务面向第三方用户的重要资料渠道,牵扯到第三方开发者使用API的易用性与相关体验

二、关于API注册

所谓的API注册,指的是服务将对外提供的OpenAPI注册到API网关的相关过程。

API网关(APIG)是为企业和开发者提供的高性能、高可用、高安全的云原生网关服务,融合安全、负载均衡、流量入口治理、微服务流量治理、运维等多项能力,帮助企业轻松实现API安全开放、API高并发调用和入口流量、微服务流量精细化治理,简单、快速、低成本、低风险地实现内部系统集成和业务能力开放变现。

简单来说,APIG网关能够以一种中心化的方式集中管理服务对外提供的API,其工作原理就是将外部接口访问进行转发。
以往我们在进行API注册时,需要人工根据接口文档、开放范围、流控策略等手工到网关平台进行登记开放,这样不仅繁琐、容易出现错误,而且当接口定义、相关策略变更时,也很容易出现不一致现象:例如接口后端已经下线或更开开放标准,但网关侧并未修改,导致第三方开发者以为接口仍然对外开放可使用,造成不可用等体验问题,严重时甚至会引起重大事故。

针对这一问题,我们利用DevOps——流水线的概念,打造了API注册的专属流水线,通过打通接口设计端代码仓与接口配置信息,实现API注册、提权、授权、设置流控策略、使用VPC负载通道等能力。
在使用了API注册流水线后,我们能够提供以下几点优势:

1、自动化

原有流程汇总,每一个操作步骤均是断开的,人工有80%以上的时间耗费在了接口手工注册阶段。自动化的流水线配置可以极大程度减轻工作量,并保证接口注册质量。

2、可管理

API注册所用资源包具备版本属性,配置以代码的形式呈现,并统一在代码仓中进行管理,避免由于频繁改动而造成的版本混乱。

3、可追溯

基于流水线的注册可以记录每一次的发布流程、发布人、发布详情等等,利用版本管理机制也能快速进行接口注册回滚。

4、可扩展

依托流水线的基本能力,API流水线具备灵活的扩展性,能够随意添加类似API规范性静态检查、安全扫描等等阶段,保证整体注册的接口是完全安全可信的。

三、关于API发布

对于API发布,并不是简单的说将API相关的代码发布出去,这点我们并不是很关注;也不是说将API发布出去给客户调用,这实际上属于API注册的流程。

这里我们所说的API发布,指的是将API相关产物与内容发布到各个现网平台中,这其中包括API多语言SDK、帮助文档、错误码、开源社区GitHub、API发现平台等等。

与API注册一样,从上面列举的平台我们也可以看出,以往的API发布方式需要各方面人员将各种各样的API产物进行手动的发布与维护:例如资料人员需要将撰写API文档、人工矫正并发布。这种模式就造成了很大的问题:每次接口做修改、更新时,所有的产物都需要或者重新编译、或者重新编写,不仅非常繁琐,而且还有可能造成错误、不一致、不及时等问题,工作量与压力都非常大。

针对这种问题,我们同样利用流水线概念,整合、搭建了API发布流水线,基于统一代码仓库,保证所有产物API数据源头统一、均为最初在API设计平台所归档基线化的yaml文本,同时在接口设计文档中规范定义错误码信息。

而后,基于代码生成器与资料自动生成,可以直接基于yaml文本转换为多种语言类型的SDK,以及格式规范的API文档,整个过程完全流程化、自动化,不需要人为的介入与参与。
最后,利用流水线机制,自动将API原始yaml文本、SDK、文档等内容分发、发布到多个平台之中。

四、评估方法

由于API注册与发布的评估更多是流程合规性的维度,因此这边仅进行简单概参数,不做深入原理探讨研究。

1、是否使用API流水线

检查服务是否使用了API注册流水线在网关注册接口。

2、注册Region个数

检查服务接口通过流水线注册到Region(局点)的相关个数。

3、是否使用API文档生成工具

检查服务在生成API文档是是否使用了自动生成工具。

4、是否使用API发布流水线

检查服务是否使用API发布流水线在各平台进行接口发布。

5、API发布率

检查服务OpenAPI在SDK、CLI、文档中心平台的相关发布率。

6、SDK语言丰富度

检查服务发布的SDK语言种类是否满足条件,一般而言我们需要Java、Python、Go、NodeJS、PHP 、C++、.NET这几种语言。

7、典型场景丰富度

检查服务为用户所提供的接口使用典型场景示例个数是否满足条件

五、小结

API注册与发布总体而言使用了DevOps中经常使用到的流水线概念,不仅将每一个具体操作步骤细化成为流水线的一个个环节,而且还通过统一代码仓的方法保证不管是是接口设计、实现,还是后面的注册发布所使用的都是同一套接口数据,保证了数据唯一性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值