当前位置: 首页 > 科技观察

企业如何选择API管理平台

时间:2023-03-14 18:00:10 科技观察

【.com快译】众所周知,API就是一个接口。您可以使用此类界面将业务功能和业务数据作为有价值的信息提供给客户。示例:一家零售店可以通过API将商品出售给留在家里的顾客。显然,如果您想发展业务,就需要接触更多的客户。API恰好可以满足这一点。借助API,您可以虚拟地与客户、合作伙伴甚至其他员工建立联系,构建完整的供应链。可以看出,API的基本思想是构建一个暴露给内外部用户的业务功能接口。通过Internet(或Intranet)公开服务的最常见和广泛采用的机制(或协议)是RESToverHTTP。您可以将接口定义为客户端和系统之间的契约。此类协议可以通过采用Swagger、开放API规范(OAS)或RAML等标准来实现。一旦使用标准机制来定义接口(合约),用户就可以相应地准备他们的客户端应用程序(包括移动和Web应用程序),而不管合约背后和业务应用程序内部发生了什么。那么,承载所有这些接口以便客户访问的接口组件就称为API网关。下面我们就来看看APIGateway是如何通过API为用户提供业务功能的。图:使用API??网关向用户暴露业务功能如上图所示,用户可以通过联系API网关获取客户端应用所需的业务功能。您可以将网关视为看门人或接待员,通常需要具有以下功能:基于标准格式(例如REST、Swagger、OAS)的托管类API。允许多个用户同时访问。使用某种形式的身份验证来验证API用户。当然,随着API程序的普及,您还可以使用或提供许多其他高级功能。如何让你的API流行起来?现在,让我们看两个典型的使用API??网关将特定功能和数据暴露给内部和外部用户来改进业务流程的例子。保险代理机构向保险经纪人公开一组API,以注册新交易并为客户生成报价。因此,经纪人和组织节省了大量时间和精力。制造组织向经销商公开一组API,以检查生产线中某些产品的可用性,并根据该可用性做出订购和提货决策,从而帮助经销商计划他们的销售、订单和发货。目前,我们有多种方式来接触新客户。一种更简单的方法是开发移动应用程序并将其分发到商店,例如GooglePlayStore或AppleAppStore。当然,我们需要配合一系列的营销努力来推广应用,以达到热门下载。但是有了API,我们就可以通过对外发布,让人调用来创造价值。为此,我们需要让我们的API可被发现,并通过API商店或开发人员门户与整个架构进行交互。图:通过开发人员门户扩展您的API使用如上图所示,开发人员门户允许外部开发人员使用您的API并构建与他们当前应用程序集成的更好体验。例如,汽车销售公司可以使用保险公司的API,让购车者直接从他们的购车申请中获得相应的保险。可以看出,开发者门户可以提供以下基本功能:提供API目录,方便用户搜索和浏览。通过相关文档,全面介绍API及其使用方法。提供用于测试API各种功能的机制(可选)。为了提高与外部开发者交互的整体效率,一些API管理产品还会包含以下高级特性:为每个API提供API评级和评论功能。能够通过社交媒体共享API。API使用分析。细粒度的API安全配置。API的盈利能力。您可以根据需要选择具备上述功能的API管理平台。如何在内部扩展您的API策略?让我们考虑这样一个场景:组织的内部会计部门准备“入驻”现有的API平台。他们不仅想成为API的消费者,而且还想托管自己的API以供其他内部部门使用。那么,满足该要求的最简单方法就是从会计部门获取API的具体要求,开始开发它,并在管理API平台的团队的监督下发布它。但是,这样的方式很可能会造成流程中的各种瓶颈,与当前流行的敏捷开发实践和交付实践不相适应。这里,需要引入APIFederation的概念。它的基本思想是:我们应该能够根据不同部门的需求共同管理API平台,而不是一个单独的团队。因此,该平台应该能够为每个部门提供必要的独立性和敏捷性,并能够开发和维护自己的一套API和安全策略。当然,这并不一定意味着你应该为每个部门部署一个API平台。相反,您可以使用“多租户”的概念跨多个部门共享同一个API平台。此举的好处包括:更大的灵活性、更低的成本以及更易于采用的API平台。图:通过Federation扩展组织内部的API平台如上图所示,在API网关上部署了一套方便内部业务部门使用的新API。它们由每个业务单元的开发人员开发,因此只有该单元的用户才能在开发人员门户中查看这些API并在网关中执行它们。当然,我们需要在网关级别进行特定的、基于角色或基于组的访问控制,以及在开发者门户级别进行相应的可见性控制。目前,大多数API管理供应商都能够通过“多租户”功能来支持此类需求。如何让你的API平台云原生?为了使API平台设计面向未来,我们经常需要它具有云原生特性。也就是说,我们的API平台需要具备云服务的四大优势:高可用、弹性伸缩、节约成本、按需付费。其中,可扩展性和可维护性主要得益于模块化架构。如果将所有功能整合到一个应用程序中,可扩展性会变得非常困难。在这里,我们可以借助微服务架构等概念来做到这一点。也就是将功能组件分离成相互兼容又独立的模块后,我们的部署会变得更加灵活。接下来,我们来看看如何为API平台定义云原生架构。图:带有微网关的模块化API平台在上一篇文章中我们讨论了:将API网关和API开发人员门户视为单独的组件。那么在上图中,我们将API网关的安全部分作为一个独立的组件,称之为API密钥管理,让它可以独立处理那些安全相关的需求。在这里,我们还额外介绍了两个额外的模块,分别用于API分析和API开发。如果你想根据不同的参数来分析API的使用情况并做出相应的决策,那么API分析组件最适合这样的需求。而API开发组件就是API开发者在构建API时需要交互的组件。它既可以是基于GUI的界面,也可以与源代码控制系统绑定到一个完全自动化的过程中,并像Jenkins一样构建管道。上图中另一个关键点是:内外网关分离。它确保不同的API在执行或运行时不会相互干扰。此外,图中的灰色六边形组件描绘了可在某些用例中使用的微网关。您需要部署一个指定的API或一组指定的API,它们可以在隔离的运行时中独立于其他组件运行。最后,图中所有带有docker图标的组件都可以像docker一样部署在云原生平台上。可以根据企业和项目的实际情况选择以下基础设施类型:本地(物理/VM)IaaS(VM-based)Container-basedKubernetes平台选择经过上面API平台的基本介绍,你一定想知道什么替代API管理平台。这是我为您列出的五个常见提供商的列表:IBMAPIConnect(https://www.ibm.com/cloud/api-connect)Apigee(https://cloud.google.com/apigee)WSO2APIManager(https://wso2.com/api-management/)KongEnterprise(https://konghq.com/products/kong-enterprise/)Mulesoft任意点平台(https://www.mulesoft.com/platform/enterprise-integration)原标题:如何为企业选择API管理平台