阿里云高磊:API网关加速能力聚合与生态集成
时间:2019-10-29 16:56:46 热度:37.1℃ 作者:网络
导读:本文中,阿里云高级技术专家高磊(花名:埃兰)将聚焦API网关加速能力聚合与生态集成,讲述API如何实现系统间的衔接和API网关的产品升级进程,重点展示了一些新功能、新体验和新变化。
大家下午好,我是来自阿里云API网关团队的,我今天给大家介绍一下API网关在加速能够聚合与生态集成方面的一些话题,并且发布一下API网关近期产品的一些进展。
刚才郑刚已经讲过了, SLK是为了企业实现上云,上云是为了实现能力化,能力化下一步要拥抱API经济,在拥抱API经济的过程当中我们是离不开API网关这一个组件的。
API是实现系统间衔接的桥梁
API是实现系统间衔接的桥梁,API这一个词叫做应用编程接口,自从上世纪60年代,计算机科技发展以来就有了,到今天以来API的生态,各个厂商都已经能提供基于HTTP Resfulf 风格的API了,这些API形成了一个庞大的生态,在市面上提供的API我觉得千万级已经打不住了,我们国内很多的厂商,像阿里云的一些管控的API、我们淘宝开放的API等等,很多平台都提供了众多的API。
对于企业来讲,把能力平台都API化也是一个非常重要的事情,比如说举一个例子,在我们这一张图片里面用户自身可能会有CMS、CRM、OA或其他系统,那我们想把API以一种统一风格的接口或者是协议提供给移动端和web的APP,另外也希望把我们的API以安全、可控、友好的方式提供给合作厂商,让合作厂商来用我们的API。我们还希望把API的能力标准化然后在云市场上售卖API来变现,同时我们也希望可以从云市场上采购一些现成能力的API来实现生态的补充。
那么在这个过程中,我们会遇到几个问题,首先第一个叫统一管理,我们希望用户用一个统一的域名来访问我们的API,这些API的协议、授权、参数、文档等等,能够以统一的风格、协议、方式对外提供。
第二个是统一流控,流控对系统来讲是一个非常重要的事情,一般来讲有很多的故障都发生在非预期的流量激增,有网关能够把这一些非预期的流控挡住,在早期能预防很多的故障。另外,流控还是一种有限能力开放的一个方式,比如说我希望给某厂商开放一个API,但是我希望他一天只内掉100次,这种流控也非常重要。
第三个是统一权限,对于我们系统内部的调用,API也不是畅行无阻,比如说有一些核心账户、核心数据的API也不希望对内部所有的平台去开放,那么就需要授权API允许谁来调用,和不允许谁来调用
第四个是统一监控,我们所有的流量来自公网的流量,希望在某一个地方能够记录下来完整的日志,能够让我们每天去统计哪些API被调用了多少次,来自哪些用户,它的分布是什么样子的。并且增加监控和报警的环节。
阿里云为企业上云/企业拥抱API经济提供了哪些工具?
阿里云提供API弹性托管,我们可以通过ECS容器服务或者函数计算来托管用户的后端服务,托管完后端服务之后可以通过API网关服务,对外发布,不上云也可以把API的服务放在你自己的IDC去做。
阿里云提供大数据服务,通过DataWorks直接把大数据转化成API对外服务,我们把服务托管在上面了,接下来就是把API注册到我们的API网关上。API网关提供了可视化管理的能力,大家可以在控制台上把API一个一个编进去,也可以通过某种方式导入进去,导入进去之后,网关提供了API的统一接入、授权管理、集中日志与监控这一些能力。
当你把这两步做好了之后,接下来第三步就是我们可以把API通过某种方式放到云市场上公开售卖,把API上架变成一个商品去售卖。也可以在云市场上采购这些API作为企业能力的互补。
API网关提供哪些能力?
一、安全
我们API的介入一定是需要保证来源是安全的,那么安全是对客户端所言的,就是保护你的后端,网关提供了HTTPS证书的托管、全链路的加密传输、AK/SK鉴权管理、流控等等,就是让后端的介入变成API的过程,安全无忧。
二、高效
在开发后端的时候,不需要考虑一些不太需要的技术细节,技术细节由网关中间提供,比如说协议的转换、CORS跨域访问等这些东西,来提供我们更高效做后端的开发。
三、智能
当网关在API运营当中可以做到更高效的运维,我们可以通过路由组件实现蓝绿发布,断路器可以实现服务的降级,来保护后端的可用性,可以通过日志监控预警也可以通过做API集成。
四、友好
友好是对调用方的,就是在API网关管理的API,都可以自动生成这些文档和SDK提供给我们的调用方,来实现API的统一输出,另外我们也可以先配一个挡板的应答给开发前端,开发完前端之后我们再来真实做那些服务。另外也可以做在线调试,我们每编辑一个API就可以调一下。
API网关产品发布
现在我们来到产品发布环节了,API网关是一个持续不断的发展功能与能力的产品,那我们最近推出了一个专享实例的服务,对于API网关来讲,目前我们有两种使用方式:
一、共享实例,这是之前一直有,就是免费开通,只为调用付费,你只需要为调用所产生的次数和流量去支付费用,不用的话就不用掏钱,但是相对来讲,因为共享实例,有很多的多租户会在一个实例上,安全性和稳定性不如专享实例来得高。
二、专享实例,当你的业务到了一定的规模或者是你对安全性和稳定性有更高的需求的时候,可以在控制台上买一个专享实例。购买之后,系统会自动给你提供一个独立的入口IP,独享服务器集群,而且保证这一个服务器集群是可以用的。
专享实例能够满足更高SLA的需求,并且当你买了之后把分组切到专享实例当中就可以享受更高规格的服务,这一些都是现在可以在控制台上自主所可以操作的。这是我们今天发布的主要的功能。
还有功能上的升级,API网关今年做了一些产品的重构之后,我们引入了一个比较丰富的插件体系,这个插件体系允许大家进一步简化后端的开发,来提升API的体验。API网关会作用于你的请求,HTTP请求到后端,再从后端给回到应答的整个过程当中,网关会对授权、访问控制、后端、应答等进行处理,你可以通过配一些插件来干预API的行为。
举一个例子,我们可以做一些错码映射,比如说在云市场上架的API有这样一个特性,就是我针对200OK可以返回的请求是需要计费,但是如果你是300以上请求是4XX、5XX是不计费的。但是我们有的时候API设计过程当中会做成返回200但是错误码映射在里面。你在上云市场的时候就会遇到一些障碍,所以我们错误码映射这一个插件推出之后,大家就可以不用改后端的API,直接实现这个操作。
另外,通过一些参数路由也可以实现我们的蓝绿发布、VIP发布,今天也不是一个技术场我就不详细介绍这一些东西了。还有就是说我们后端插件会整合不同的签名风格的API,这些插件我们还在不断扩展,今年的10月、11月和12月还有一大波新的发布。另外对于API网关来讲,我们提供一个完善的API管理方式,对开发者是友好的,就是说你不仅可以自己用控制台来管理API,并且你可以和你自己的已有的系统做连接,比如说之前用Swagger那个导出。
因为我们支持标准的Swagger格式,只需要你把格式补充上,就可以直接导入到API网关上作为API网关的原数据。另外的话,在可视化开发领域我们还支持API的调试与SDK的生成,就是安卓、IOS这一些SDK都可以直接在控制台上下载并直接使用,另外还可以通过CLI等工具来做API的管理,也就是说,我们是一个完善的对开发者友好的API管理的方式。
另外给大家介绍城市大脑的API网关使用场景,这个城市在城市大脑中有10个核心的业务被接入到了网关中,像信用平台、交通城市大脑、政务行政审批、全景监控、法人、自然人资料查询统一验证等等,这些API都是由不同的厂商在做开发的,开发完了之后这一些服务被接到API网关当中,另外有20多个使用部门在使用API。例如政务的一些子系统、一些大屏,其实这个项目里面只用了三名配置人员,把这700多个API配进去,就实现了一个业务中台。
阿里云双11亿元补贴提前领,进入抽取iPhone 11 Pro:https://www.aliyun.com/1111/2019/home?utm_content=g_1000083110
--------------------------------
本文作者:婧含
原文链接:https://yq.aliyun.com/articles/721170?utm_content=g_1000083838
本文为云栖社区原创内容,未经允许不得转载。