加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

云服务OpenAPI的7大挑战,架构师如何应对?

发布时间:2019-10-16 06:14:25 所属栏目:移动互联 来源:虚明
导读:API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API 则注定会导致系统的后续发展和维护非常困难。比较好的API设计样板可以参考 github 和 k8s ,它们都是典型的RESTful接口。云服务对外开放的窗口就是Op

首先,API发布以后,用户要想顺利地使用API,配套设施必不可少,SDK、文档、工具链的集成都需要考虑到,这里的重点是如何保障准确性、及时性和一致性。开发工程师一般都不太喜欢写文档,专业写文档的又可能不太懂技术,再考虑到国际化的问题,就十分有挑战了。SDK方面,一个API要有多种语言的实现,每种语言还要保障其专业性、可用性,非常考验对开发人员编程语言掌握的深度和对API的理解,业界经常采用的自动化生成SDK的方式也会考验对多语言的兼容能力。工具链比如阿里云的 API Explorer、CloudShell等产品也需要及时与API的最新状态保持同步。

其次,云服务由于产品线众多,如何让用户能够快速学习使用API和相关工具,需要在教程、案例、运行时环境等诸多方面加强建设。围绕云服务,已经发展出许多上层生态工具,例如terraform/ansible/spinnaker等开源软件,它们能够帮助云服务更好地使用起来,必须对它们提供支持,如何能够快速覆盖也对平台开发能力是个考验。

另外,API本身的质量保障也是非常重要的。一般都要考虑性能、稳定性、安全等方面的保障体系,通过压测、监控、部署防护软件等方式来确保API在服务的时候不会掉链子。传统的套路在解决系统问题时非常有效,但具体到业务问题的时候就无能为力了。例如,一个创建服务器的API一般来说都是要求幂等的,怎么检测该API实际上有没有做到幂等呢?推而广之,其他业务流程的正确性又如何保障呢?等API开放了发现问题再修复就为时已晚,显然应该在上线前通过测试来发现这类问题。但是随着业务的发展,如何能保障这类问题可以有统一的解决方案,能够长期跟进及时发现风险避免损失呢?

云服务OpenAPI的7大挑战,架构师如何应对?

阿里云API体系简易图

所谓量变引起质变,上述问题针对单个API的时候都好解决,但是当API规模达到成千上万的时候,就必须通过平台化、系统化的手段来解决了。例如,API服务可靠性SLA指标如果要达到4个9,需要制定明确的标准,并且有手段监控到所有API的运行结果,通过分析成功率来判断其是否达到预期水平,这对云服务本身的底层系统建设提出了较高的要求。

所以,以API为中心完善相关体系,保障用户体验的一致性、及时性、稳定性、易用性是非常有挑战的。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages

https://tools.ietf.org/html/rfc7231#section-4

https://www.cnblogs.com/sparkdev/p/10052310.html

https://www.grpc.io/docs/guides/

https://www.terraform.io/docs/index.html

http://www.grabsun.com/article/2015/1135807.html

【编辑推荐】

  1. 金融级专业云服务 平安云助保险业上云无忧!
  2. 金融级云服务 平安云赋能保险业创新发展
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读