关于未来实现API管理系统的几个关键词
下面将通过几个关键词的形式说明API管理的重要性和未来的实现方式。
1.生命周期管理
在整个API生命周期中更深入地集成所有工具将进一步提高生命周期循环的速度,而且更重要的是提供满足消费者需求的API。这与API生命周期中的流程改进密切相关,我们看到这种情况越来越多发生在各个产品,因为更多企业开始将API视为产品经理指导生命周期的产品。
API是我们更快地构建软件的核心,使用微服务和驱动CI / CD环境与Kubernetes(K8s)进行通信。随着公司采用无服务器架构,通过API调用执行越来越多的代码和业务逻辑,这将变得更加重要。各种规模的企业面临的主要问题是:如何以不牺牲性能和成本的方式管理API的整个生命周期?否则,企业将只看到他们的成本将随着他们的新数字业务产品的成功而成比例地增加,从而损害长期可持续性。
分布式API管理是大规模分布的现代应用程序开发的本质。必须分发API管理。允许使用单一窗格集中控制服务,所有报告都显示谁可以访问哪些内容,哪些服务可用,以及这些服务的自动化位置。任何与应用程序本身不一致的事情都会在某些时候与你的集中管理层产生不同步的情况。具有本地化控制和分布式执行,每个服务都会向服务中心报告。当有人试图访问服务时,它可以命中集中认证服务器以确定该人是否应该具有访问权限。
2.应用程序的集成
我们主要关注的是使用API来跨应用程序和业务合作伙伴进行集成。企业内部通过使用SaaS应用程序替换旧系统来实现IT系统的互联网化,这些新应用程序需要与其他企业系统集成,无论是互联网还是传统企业。例如,经常与实现ERP系统化的客户合作,那就需要将新ERP与其他系统集成。多一个遗留系统可能会导致基于文件的集成混乱。
使用新的ERP或者已发布的API管理系统是连接所有其他企业系统(如总帐和仓库管理解决方案)的首选集成点。此外,这些系统化的ERP解决方案能够通过其API提供对企业信息的实时访问。
能够与客户合作,利用向其合作伙伴发布API,从而提供对此信息的有限访问权限。例如,想要检查库存或检查订单状态的合作伙伴可以使用API直接从ERP提供其数据视图,这可以通过API查询来增强传统的EDI流程,以便对从实时响应中受益的某些行为进行查询。
3.微服务
如今每个人都曾经谈论过API生命周期,但很多时候你只会为每个开发阶段提供工具,而不是提供一种集成方法,使开发人员能够更轻松地设计,实施,部署并以自动方式管理它。如果设计文档,需要等待数月才能看出API是否符合设计要求,那实在是一个很低效的流程。一个开发人员更希望迭代方便并支持敏捷开发过程。我们最终会走上自动化API的DevOps的道路,即便我们现在还没有到那个时候。
随着未来出现多种形式因素的控制点类型。考虑服务网络和API管理将如何叠加是很重要的,API管理是关于提供服务与该服务的多个消费者之间的关系。规模越大,正式的API管理平台就越重要。国内的话可以使用 EOLINKER API Studio 平台 ,国外的话可以考虑Swagger\Postman等等。
如果使用API而不是共享库来控制单个用户或开发人员团队的API访问,则服务网络可以很好地保护两个端点之间的通信。服务网格提供智能网络,以帮助开发人员连接网格中的其他服务。开发人员在学习如何创建在容器、微服务环境和服务网络上工作的分布式应用程序的基础上,将反过来帮助开发人员解决这个问题。
基于微服务架构的应用程序现代化是数字化转型计划的核心。最大的机会在于微服务的API管理。对于管理微服务使用的API,需要具有灵活、可移植且可在任何基础设施(裸机,VM和容器,公共云和私有云)上运行的“小占地面积”的解决方案。
可以预见的是,在未来的一两年内,服务网络将出现巨大的趋势,更多企业会采用API管理并带给每个微服务,以确保应用程序和微服务相互通信的能力。而不是API网关也将代理放在边缘以欺骗微服务,用以仅与代理进行通信。
市场已经为SaaS解决方案做好了准备,能够将微服务API直接给客户提供使用授权和API交付选项。举个例子,亚马逊将AWS的每个组件构建为可由客户直接寻址的微服务,而且可以编写接收OAuth承载令牌的自定义授权者,并根据IAM策略将这些授权者转换为访问决策。这实际上很简单,虽然它需要AWS客户的大量配置和定制。当市场需求足够大,总有一天我们会看到亚马逊提供的基于标准,资源感知的API身份验证和授权产品作为一流的命名产品提供,而不是隐藏在教程中的业务流程。
4.API其他技术
更多关于API管理的工具会在市场上出现,集成度将会越来越高,它代表着这个行业的成熟。使用一系列合适的API工具来完成特定的工作并且做得很好,这无疑是最高效率的,也为开发人员提供空间,使他们可以专注于他们的核心项目,并将冗余工作委托给已经完善的服务,以确保质量和效率。
只要遵循“更小,更高效,支持多语言”,通信方式在内部和外部使用的样式可以更多样。比如,GRPC是由Google开发的二进制格式,是一种更有效的内部通信方式。但在外部,仍然需要像REST那样对用户友好的东西,因此为了方便,内部更多地采用GRPC和API。我们将看到以多种格式呈现的API,一种是内部格式,另一种是外部格式。
从短期来看,HTTP很可能会在API的形式上产生比目前更广泛的影响。无法实现的用例,现在可以实现传统的通信模式。从长远来看,真正的数据(可能是计算)分散可能会严重改变流程。但是,实现这一概念的工具仍然处于起步阶段。今天最先进的推动者是区块链范式,看到很多公司正在探索区块链如何解决这些问题,也许在未来所有的问题有的新的解决的思路。
虽然与RESTful API相比,OpenAPI规范(OAS 3.0)的采用率仍然很高,但一些公司和技术正在采用超越SOAP / XML和基于WSDL / WADL的API。基于HTTP / JSON的RESTful API等技术的新进展正在被采用,并为行业提供了很好的服务。
此外,非基于HTTP的API也在不断增加,使得gRPC,异步API(消息传递,流媒体,发布和订阅)成为一些公司关注的焦点。例如,构建AsyncAPI规范是为了解决基于非HTTP的异步API,如MQTT,Kafka,WebSockets,AMQP和STOMP协议。这就是API管理供应商兴起所在,这是一种将API规范从一种格式转换为另一种格式的工具。
API管理供应商的另一个机会是扩展API操作(APIOps)中的产品。APIOps将以与将DevOps应用于软件开发生命周期类似的方式应用于API。例如,GitLab为API生命周期提供完整的DevOps工具,从项目规划,源代码存储库到CI / CD监控,安全性,问题跟踪功能,可以在同个地方提供给企业。以上所有内容都可以隐藏在API管理平台后实现。
考虑到成本未用于正确维护API时所产生的成本或安全问题,我们需要更好的方法。GraphQL,SPARQL和与数据共存的数据安全性提供了一个有吸引力的未来。它不仅简化了,还提供了额外的实用程序,并将数据安全性放在了首要关注的位置。区块链可用于保护数据完整性,允许消费者证明信息的来源。
将来,大部分数据都将实时生成,发送和接收。鉴于每天生成的数据量正在以极高的速度增长,开发人员将很快需要更多的云原生和可扩展的解决方案来管理API。旧版API管理解决方案已经太慢,并不总是能够横向扩展。
5.典型的实践
API管理工具能提供一套产品来帮助企业大规模管理其API设计工作流程。其中一个关键部分是构建在大多数企业中已存在的开发工作流程上,这意味着与GitHub等现有工具集成。为此,好的API管理工具需要能进行API集成,自动将GitHub中的信息提取到产品中,并将信息从产品推送到GitHub。最终结果是为我们的客户提供了更好的体验,并且由于GitHub公开的丰富API而使其成为可能。API解决的基本问题是,在最短的时间内以最小的成本解决技术需求。市场上比较好的API管理工具有POSTMAN(英语)、EOLINKER(中英)、Swagger(英语)等。
史基浦机场启动了一个用例,改善了通过机场的乘客体验。有太多的数据是有价值的,它成了一个集成问题,扩展登机牌,跟踪航班,到达离境信息,飞行员警报等信息集成,以实现内部敏捷性,他们决定以API为重点,努力实现不同应用程序的集成,打开内部API以构建合作伙伴生态系统。
Capital One是全球最大的银行机构之一,提供各种在线金融服务,包括API产品。第三方开发商和合作伙伴可以为其客户提供一流的数字体验,并通过使用Capital One的外部API打开银行账户,生成个性化信用卡优惠以及跟踪客户奖励来创造新的收入来源。NGINX技术使Capital One能够将其应用程序扩展到每天120亿次操作,峰值为每秒200万次操作,延迟时间仅为10-30毫秒。
还有一个典型的用例是Netflix,他们需要连接超过500个客户端设备,iPhone,Android,X-Box等。但它们具有良好规范化的API,可以处理电影中的元数据,处理搜索请求,图像服务,电影的实际流式传输。但是在紧张的网络上受限制的设备,他们为前端(BFF)创建了一个中间件后端来使用基础API,包含客户端需要使用的大部分业务逻辑,然后打开自己的API的接口,这些API只为该客户端提供服务。当一个新的客户端出现时,他们所要做的就是在客户端代码中创建一个新的BFF。如果不再需要一个设备的客户端,它们只会关闭该代码并且不会破坏任何内容。
如果是营销人员或是营销技术公司,他们过去常在内部构建软件解决方案。然而,主要问题是获取构建可销售产品所需的数据需要大量的时间和金钱。营销需要大量数据才能有效,但收集和分析所有这些数据的成本非常高,而且因为很明显并非每家公司都能够分配所需的资源来实现软件项目,因此进入市场的技术门槛是不合理的。而现在运用API技术可以在几周内构建一个简单的关键字研究工具,大大提高了营销的效率。
参考资料:
https://dzone.com/articles/api-management-additional-considerations
https://dzone.com/articles/api-use-cases-1
关于未来实现API管理系统的几个关键词的更多相关文章
- 未来实现API管理系统的几个关键词
下面将通过几个关键词的形式说明API管理的重要性和未来的实现方式. 1.生命周期管理 在整个API生命周期中更深入地集成所有工具将进一步提高生命周期循环的速度,而且更重要的是提供满足消费者需求的API ...
- 如何在Uniapp中访问CabloyJS后端API管理系统
介绍 CabloyJS是一款免费开源的NodeJS全栈开发框架,采用前后端分离设计,具备开箱即用的后台管理系统 Cabloy-SDK是专门为Uniapp应用量身定制的前端SDK,用于便捷的访问Cabl ...
- 实现API管理系统的几个重要关键词
管理API的需求源自于Web API开展业务.从2006年开始,然后逐渐成熟,并在2016年之前进入市场.无论是通过代理现有API的管理网关.本身作为用于部署API本身的网关的一部分,还是作为连接层在 ...
- 如何更快理解和运用服务编排?(使用Goku API Gateway实现)
上一篇博客 未来实现API管理系统的几个关键词 发布后,有不少读者私信我,让我写一篇实际运用的文章,我周末趁着有空写了这篇有关“服务编排”的文章.用的是Goku API Gateway进行演示, 希望 ...
- 开源的api文档管理系统
api文档 php 在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api管理系统专门来管理这些ap ...
- 浅谈API网关(API Gateway)如何承载API经济生态链
序言 API经济生态链已经在全球范围覆盖, 绝大多数企业都已经走在数字化转型的道路上,API成为企业连接业务的核心载体, 并产生巨大的盈利空间.快速增长的API规模以及调用量,使得企业IT在架构上.模 ...
- 为什么医疗行业需要API市场?
医疗健康行业无论在国内外都是采用先进技术的先驱者之一,原因在于业内的利益相关者会更加接近数据.重视数据的重要性,从而加快在决策上面的动作,以期更好的患者的预期寿命和增进社会人口的健康.更重要的是,数据 ...
- 浅谈API设计
为什么需要了解一些API设计? 只要你编程,你就是API Designer 一个好的设计,模块之间的耦合应该也是API级别的 一个程序,如果你独立开发,那你既是API的Designer,也是API的U ...
- API网关之Kong网关简介
1. Kong简介 那么,Kong是一个什么东东呢?它是一个开源的API网关,或者你可以认为它是一个针对API的一个管理工具.你可以在那些上游service之上,额外去实现一些功能.Kong是开源的, ...
随机推荐
- CF988D Points and Powers of Two 数学结论题 规律 第十题
Points and Powers of Two time limit per test 4 seconds memory limit per test 256 megabytes input sta ...
- codeforces 768 C. Jon Snow and his Favourite Number(思维+暴力)
题目链接:http://codeforces.com/contest/768/problem/C 题意:给出n个数,k个操作,和一个x,每次操作先排序然后对奇数位数进行xor x操作,最后问k次操作后 ...
- 良许 | 听说,有个同事因为关闭服务器被打进 ICU ……
提问:你是如何关闭电脑的? 普通青年 文艺青年 二逼青年 你是属于哪一种呢? 实话说, 这三种良许都干过~ 还好我没有对服务器这么做, 否则-- 分分钟被打进 ICU -- 1. 关机命令知多少 对于 ...
- 【Offer】[25] 【合并两个排序的链表】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的.例如,输入图中的链表1和链表2,则合并之后的升序链表如链表3所 ...
- 纯JS实现在一个字符串b中查找另一个字符串a出现的所有位置,并且不使用字符串的方法(递归)
问题:判断字符串A在中所有出现字符串B中(长度大于1)的索引.不得使用字符串方法indexof,substring等 有小伙伴在面试遇到了这个问题,乍一看如果使用使用字符串方法indexof,subs ...
- 小白的消费为何被迫升级?-java数据类型的转换
背景 小白最近有点烦恼,原因也很简单,不知道为何?小白的消费不知不觉被迫升级了,请看费用清单: for (byte b = Byte.MIN_VALUE; b < Byte.MAX_VALUE; ...
- windows系统下安装JDK8
学习JAVA,必须得安装一下JDK(java development kit java开发工具包),配置一下环境就可以学习JAVA了,下面是下载和安装JDK的教程: 一.下载 1.JDK下载地址: h ...
- Android 开发系列教程之(一)Android基础知识
什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是And ...
- Net Core基于TopShelf程序运行于服务模式
目录 Net Core基于TopShelf程序运行于服务模式 1 背景 2 优势 2.1 服务模式可设置重启条件 2.2 避免误操作 3.使用 3.1 GUI方式安装Topshelf包 4 配置 5 ...
- golang中Array与Slice
在golang中有数组和Slice两种数据结构,Slice是基于数组的实现,是长度动态不固定的数据结构,本质上是一个对数组字序列的引用,提供了对数组的轻量级访问.那么在go的函数中以数组或Slice为 ...