首页>会议文档 >

童剑 - API全生命周期管理

page:
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理
童剑 - API全生命周期管理

童剑 - API全生命周期管理

所属会议:2016 GIAC 全球互联网架构大会会议地点:北京


下载

手机看
活动家APP客户端

扫二维码下载
或点击下载
Android iOS

1388次
浏览次数
2016 GIAC 全球互联网架构大会所有文档 丁雪丰 - Java生态圈与微服务_部分2 百度 郑然 - 支撑百度搜索引擎可靠性99%服务发现的设计 Real world Rust 陈皓 - 代码编程中的编程范式_部分1 陈皓 - 代码编程中的编程范式_部分2 陈皓 - 代码编程中的编程范式_部分3 彭晟杰 - 知乎的微服务架构实践 朱雪寒 - ENJOY后端架构演进_部分1 朱雪寒 - ENJOY后端架构演进_部分2 贝贝网 郁佳杰 - 贝贝百亿级服务架构及可用性保障实践 李尊敬 - 全球互联网架构大会 高成 - 特卖电商供应链系统演进 李文哲 - AI and Big Data Drive Fin-tech Innovation 宜人贷 王婷 - 互联网金融风控中的数据科学 李汐 - 轻松筹众筹平台架构演进历程 宋传胜 - 91金融的后台服务架构 谢丹博 - 滴滴弹性云实践 白山云科技 陈闯 - 分布式对象存储面临的挑战 日志易 陈军 - 海量日志分析与智能运维 熊猫TV 杨武明 - 多机房弹幕系统架构 一直播 张华伟 - 高并发直播系统服务端架构设计与思考 学霸君 袁荣喜 - 高可用实时语音系统 映客直播 王振涛 - 映客直播服务端架构优化之路 360 陈宗志 - 360 redis 生态圈 阿里巴巴 王晶昱(沈询) - 阿里分布式数据库双十一实践 李大勇 - 京东青龙系统数据库架构演进 美团 翁宁龙 - 美团点评数据库运维自动化实践与发展 丁雪丰 - Java生态圈与微服务_部分1 蚂蚁金服 杨志丰 - OceanBase架构演进和双11实践 李智慧 - 互联网高可用架构漫谈 曹建栋 - 内涵段子的稳定性建设 陈迪豪 - 小米深度学习平台_部分3 周小四 Ray Zhou - 企业应用云化架构设计 Yuming - BigDataInHulu 王守崑 - Bot 的场景化应用 王栋 - 从美团外卖看移动应用的流量场景细分_部分1 王栋 - 从美团外卖看移动应用的流量场景细分_部分2 王栋 - 从美团外卖看移动应用的流量场景细分_部分3 陈迪豪 - 小米深度学习平台_部分1 陈迪豪 - 小米深度学习平台_部分2 范冰 - 全球互联网架构大会_部分2 王守崑 - 人工智能:趋势 机会和思考 李笑来 - 未来是谁的天下 马全一 - ContainerOps - DevOps Orchestration The Container Orchestration on Mesos - Gilbert Song 邱剑 - 公有云里的容器 范冰 - 全球互联网架构大会_部分1

文档介绍

童剑是国内云计算领域知名专家和早期实践者。自1999年在新浪从工程师做起,他先后在多个岗位负责技术与管理工作,具备丰富的云计算、大数据等互联网技术及行业经验。其多项研发成果对新浪技术体系影响深远,例如于2004年负责研发的动态应用平台和数据库平台,在多个数据中心内运行了数千台服务器,使新浪早在2009年就成为业内率先实现技术平台统一化的公司。该平台持续发展超过10年,承载了新浪绝大部分业务并以其强大的可扩展性有力支撑了微博从诞生到爆发式发展。

演讲实录

工业革命不仅带来了生产效率的大幅提升,也使企业运营方式不断演化。在如今的信息工业时代,如何打破数据壁垒,使信息在企业内外充分流动?

API正是打开上述问题大门的钥匙。保险、金融、交通等行业正通过API重塑商业模式;智能家居、物联网、工业4.0都需要API的支撑。据Gartner预测,2016年美国50%的BtoB贸易通过Web API完成。API已成为经济发展的基石,正渗透到人们生活的各个方面,进化速度越来越快。

但它仍旧面临着很多难题,诸如:保证安全性、提升性能与稳定性、版本管理、协作开发、认证授权等问题。

要跨越上述障碍,就需要全方位变革。目前API管理与开发还需要依靠人工的参与,而未来它更应该像汽车生产的流水线一样,更加的标准化、自动化,例如:

(1)统一的规范;
(2)自动生成文档、SDK、后端;
(3)统一的认证方式,不用重复实现;
(4)自动生成测试服务;
(5)前后端开发分离、无缝衔接;
(6)新老版本无缝上下线,或多版本在线,逐步下线老版本;
(7)方便接入各种云服务,如直接接入 runscope进行API监控,无需复杂设置;
(8)配合网关、微服务以及新兴结构化存储服务简化后端开发。

要达到这个目标我们需要进行“API的全生命周期管理”,包括:API的生命周期、API开发与API管理等内容。

API的生命周期

为了更好地管理API,我们需要给API划分一个完整的生命周期,从设计与开发开始,到部署、扩容,定期进行监控、分析,注重安全与授权管理,到最后API下线,整个生命周期告一段落。API的生命周期需全程有人负责,以避免出现API上线运行但代码无人维护的问题。而老旧的API长期不敢下线也是常见的尴尬,因此,增加API也需要慎重,不要轻易就为了一个需求而增加。

API开发与管理

API管理包括诸多部分,本文主要对其中较为重要的几部分内容进行介绍。

1. API Gateway

API Gateway是在业务逻辑或数据之前,为用户或者合作方提供访问代理的服务。

将API管理的功能统一到API Gateway上以简化业务逻辑的开发,这样就可以将精力集中在核心逻辑开发上,不必再关心共性问题,包括:

(1)认证授权:OAuth2、OpenID、API Key、IP限制
(2)传输安全:SSL、TLS
(3)流量控制:配额、过载保护、频率限制
(4)威胁防护:防抓站、防撞库、DDoS/CC防护
(5)编排转换:服务分组、7层路由、协议转换
(6)监控分析:访问量实时统计、性能监控、访问分析
(7)统计计费:针对不同用户、不同API分组
(8)缓存加速:毫秒级缓存、请求队列、异步化

2. API设计与开发

在设计API时,如果将前端与后端分离开发,可以有效提高效率,即:后端人员只负责数据计算与输出,前端人员只负责数据组织与展现。但在开发过程中仍存在很多问题,例如:数据结构变化,需要反复适配;API没有统一标准;前后端无法并行开发;接口升级导致的重新适配等。为了达到持续集成、持续交付、快速迭代到目的,业界正在更多地使用API设计开发的描述性语言——Swagger。

目前已有多种API描述语言,Swagger是最为主流的一种。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful 风格的Web 服务,它由文档生成器、编辑器、代码生成器以及很多第三方工具组成,可以实现:自动生成API文档,实时预览;API文档与API定义同步更新;自动生成服务器所需代码结构,快速实现Mock API;自动生成不同语言的客户端SDK。

基于Swagger标准我们可以实现代码开发减少、自动化提升、更安全、Serverless的目的。

3. API管理相关资源

目前用来做API网关的较为熟知的开源软件主要有:NGINX、node.js;另外KONG、Tyk也有开源版本,同时也提供商业支持;提供API管理产品的商业化公司更多,包括微软、IBM等IT巨头,以及很多垂直领域的创业公司,例如:谷歌收购的APIgee、Redhat收购的3scale、mashape、akana等。

以下列举部分支持Swagger的云服务:
Baishancloud:http://juhe.baishancloud.com/gateway.html
SwaggerHub:https://swaggerhub.com/
Akana:https://www.akana.com/
Runscope:https://www.runscope.com/
Restlet:http://restlet.com/
Soapui:https://www.soapui.org/
Axway:http://axway.com/
Stoplight:http://stoplight.io/
Postman:https://www.getpostman.com/
Apigee:https://apigee.com

白山在API管理领域的实践
白山云聚合CLN-X是一款API管理产品,提供API加速、防护、API网关服务。经第三方测试使用,可有效提高网站安全性与访问性能,通过API网关可为企业构建数据开放平台,让数据发挥更大价值。

1. API源站压力卸载

CLN-X采取数据异步化技术,用户发出请求后,请求会同步进入数据库后台运行,当请求过多,超出数据库承受能力时,影响数据库正常运行。异步化-队列是通过队列将用户请求放入后台,并使队列宽度与数据库承载能力相匹配,从同步阻塞模式转变为异步非阻塞模式。

例如,抢购发生时,用户同时调用支付接口,同步阻塞模式下,用户数量即为支付接口的并发度,用户过多时,支付数据库压力过大,严重时可能会导致数据库服务宕机。异步模式下,用户请求进入队列按序处理,可有效保护数据后端。

2. API安全防护

CLN-X采用自主研发防火墙技术来快速判断异常IP,帮助企业及时抵御信息窃取、各种刷单、恶意攻击等行为,同时针对如下多种攻击特点(真实IP、打击接口-源站、行为界定难-误杀、行为变化多),多种攻击类型(CPU消耗、带宽消耗、连接数消耗等),进行智能分析和提取判定。

API开始提供服务后,会面临各种问题,如:恶意攻击、窃取数据、刷单等。CC攻击可划分为:低危险攻击、高危险攻击,针对不同攻击类型采用不同方式进行拦截;对于低危险的可疑访问行为,系统将其跳转到验证码页面,验证通过后即可进行访问;而对于高危险攻击,系统会收集HTTP请求日志,并将其推送到大数据分析平台,通过机器学习识别出攻击IP,进行拦截。

3. 数据源格式转换

根据预先定义好的映射规则,将原有接口的输入/输出参数转换为统一的输入/输出形式。例如线下已有的服务基于XML格式的老的接口,但为了兼容客户端,需要将其转换成新的协议格式,CLN –X可以提供这个功能,减少开发工作。

4. API访问控制

CLN-X支持对API、用户、应用设置按分钟、小时、天的调用量控制,支持接口安全验证及权限分组管理,内置丰富的数据分析功能,记录API请求数相关的详细数据,以供企业分析数据和挖掘用户行为。

围绕API管理,白山云聚合CLN-X正陆续推出更多解决方案。

×

打开微信扫一扫,分享到朋友圈