您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[印孚瑟斯]:应用程序接口 - 发现报告
当前位置:首页/行业研究/报告详情/

应用程序接口

信息技术2021-01-11印孚瑟斯看***
应用程序接口

API:构建块数字经济 2 | API:构建数字经济的障碍外部文件©2020 Infosys Limited 内容企业加快了向超规模生态系统的迁移,平台经济6建筑与设计9语言和生态系统11框架和栈13工具14平台15咨询委员会和贡献者18外部文件©2020 Infosys LimitedAPI:为数字经济构建模块| 3 随着企业加快其数字化转型工作并从战略上转向混合云和边缘生态系统,API和轻量级微服务采用以及云间集成的新模式应运而生,这有助于为高效,高性能的数字未来铺平道路。涵盖五个API和微服务子域中的关键趋势,将使组织能够接受这些最佳实践并进行无中断的过渡。4 | API:构建数字块经济外部文件©2020 Infosys Limited 如果IT团队利用API经济的关键特征-自动化,平台即服务(PaaS),敏捷实践和12-因素应用原则。例如,平台消除了手动干预,并提供了对预建组件的访问,从而提高了生产率并提高了效率。企业严重依赖API和微服务来构建和连接应用程序,这是基础他们的数字化转型的要求。在当今的应用程序开发生态系统中,API是可见的层,而分布式应用程序运行时,容器,接口,集成,无服务器计算,DevSecOps工具和平台则构成了强大的骨干。 API在本地系统上分层,以提高合作伙伴的连接性和开发人员的生产力。在新的常态下,企业必须重新检查应用程序,数据和流程之间的协作和连接,并确定利用其数据来源的新方法,以使信息技术(IT)运营更具弹性和敏捷性。组织还必须将应用程序分解和部署为独立的单元,以适应远程工作。通过云开发的API和微服务将共同支持这些工作,并帮助企业快速迈向平台经济和超大规模生态系统。平台经济需要开发可伸缩,可分布式和可在任何云平台上运行的可重复,可组合和响应式应用程序。其他成果包括AI辅助开发以提高生产率,DevSecOps实现极端自动化并寻求连接应用程序的新方法。为了使企业具有韧性,它们必须现在过渡到超大规模生态系统和平台经济。企业加快向超大规模发展的步伐生态系统与平台经济数字平台现已成为开展业务,寻找娱乐和与他人互动的事实上的方式。在我们的数字世界中,人们有更高的期望,例如个性化的交互,实时响应和全渠道的体验。只有那些在这种新范例中,发展他们的业务模型并进行数字化转型可以成功地实现其业务。SOA浪潮(地平线1,H1)始于1990年代,目的是通过系统之间的标准化接口来建立更好的连接性。但是,SOA无法消除影响性能并抑制快速响应的整体式和本地系统。随着企业开始数字化,他们转向了API经济(H2)。下一阶段的指标指向平台经济和超大规模生态系统(H3)。在H3中,重点将是最大化灵活性,敏捷性,弹性,同时提供智能的业务平台,并通过混合API,微服务和边缘API提供移动和AI优先的体验。为了解决这个问题,企业将不得不充分利用这些新趋势。外部文件©2020 Infosys LimitedAPI:为数字经济构建模块| 5 图1.适应市场动态:三个视野钥匙模式特征•反应流•分布式应用程序运行时•超越REST•人工智能辅助的开发人员•微网关•网格架构•开发安全•GraphQL•边缘API•μ服务•低码,无码•开源的•容器•无服务器•开发运维•轻量级框架•API作为产品•单片•内部部署•授权产品•手动包装•与协议无关的规范和开放规范•轻量编排•多渠道的个性化体验•业务功能打包成一个单元•反应灵敏且富有弹性•受行业标准驱动•固执己见,以企业标准为动力•12要素应用原则•自动化•敏捷实践•混合部署•平台即服务•紧密耦合的架构•瀑布SDLC模型H3平台经济与超大规模生态系统智能和知觉驱动在一个日益互联的数字世界中,企业必须努力实现协调一致,同时又不放弃灵活性,敏捷性和弹性。企业越来越依赖平台和超大规模企业来帮助他们建立智能的,有意识的驱动型组织。H2API经济创新,转型,重塑业务在竞争激烈的世界和不断发展的数字生态系统的驱动下,企业依靠创新和转型议程来推动其业务发展。数字经济的基础无疑是API为高性能环境量身定制。H1面向服务的架构更好的连接性资料来源:Infosys要过渡到H3,企业将必须考虑以下API子域作为其旅程的一部分:1.建筑与设计2.语言和生态系统3.框架和堆栈4.工具5.平台6 | API:数字经济的构建块外部文件©2020 Infosys Limited实践,框架,治理 图2.跨API子域的主要趋势 框架和堆栈从过渡网络原生到云原生趋势5:重点从语言和框架转移到堆栈趋势6:多语种框架成为焦点建筑与设计超越整体,走向微服务趋势1:企业采用CNCF云原生开发标准化趋势2:更新的应用程序层协议取代HTTP REST,以提高效率编程范式扩展工具从本地到云的转变趋势7:基于浏览器的IDE和云工作区激增趋势8:使用DevSecOps进行云工程是常态趋势3:Go和Kotlin的出现语言和生态系统内存占用少的轻量级微服务的主要选择趋势4:.NET 5扩展了开发者经验并统一所有平台上的运行时行为平台类从整体服务到灵活的基础架构趋势9:API驱动的基础架构100%支持多个云平台趋势10:混合云模型采用混合API管理资料来源:Infosys外部文件©2020 Infosys LimitedAPI:为数字经济构建模块| 7 8 | API:构建数字经济的障碍外部文件©2020 Infosys Limited 建筑与设计超越整体,走向微服务体系结构范例继续发生重大变化。在H1中,趋势围绕单片服务和Web应用程序展开,并通过企业服务总线(ESB)实现了集中式集成。 H2预示了一种API优先的方法,该方法具有分布式微服务架构和API驱动的集成以及敏捷的规模和自动化。在H3中,微服务架构(根据Reactive Manifesto的要求)将在诸如容器编排平台,无服务器计算,云原生工具和框架等更新的技术杠杆的帮助下继续激增。我们期望由诸如Cloud Native Computing Foundation(CNCF)之类的财团推动的微服务生态系统的标准化程度将进一步提高。趋势1:企业采用CNCF云原生开发标准化微服务架构有助于为本地和公共超扩展基础架构实现API的按需弹性和可伸缩性。API和微服务必须在混合平台上部署基础架构以及无服务器基础架构可支持企业需求。这将重点放在业务流程,容器管理,群集管理,断路器以及混合和无服务器基础架构上的监视的标准化上。 CNCF策划并促进开源项目,这些项目使现代的,云原生的外部文件©2020 Infosys LimitedAPI:为数字经济构建模块| 9 应用程序。现在,该行业正朝着采用CNCF领域(信任)中的项目前进,以快速(加快)构建基于开源(自由),云原生和不可知论的应用程序。现代实践(微服务,监视,日志记录),打包(容器化,编排)和自动化(基于DevOps的管道)对于云原生解决方案的交付至关重要。 CNCF充当可信赖的开源项目(例如Kubernetes,HELM,Jaeger和Istio)的存储库,这些项目如今已在许多部署中使用。企业必须努力实现标准化的云原生开发。 CNCF云原生景观可作为识别和使用适当构建基块的良好参考点。谷歌,微软,亚马逊和思科等技术领导者都是成员CNCF的。实际上,Microsoft最近的分布式应用程序运行时(DAPR)框架(一种可移植的,事件驱动的微服务运行时构建块)已经合并了CNCF交互式环境,以帮助构建云原生解决方案。趋势2:更新的应用程序层协议取代HTTP REST,以提高效率业界对超标度的采用使关键关注点集中在安全性,性能,轻量级容器和可用性上。除了无服务器解决方案之外,API和微服务还需要支持混合UI / UX生态系统。这带来了超越TCP / IP,HTTP协议的一项新要求。以前,尽管在某些用例中它们很复杂且效率低下,但微服务领域中的服务间通信主要还是REST。基于微服务的解决方案越来越多地使用Google的远程过程调用(gRPC)和RSocket等新的应用层协议,以提高安全性和轻量级部署映像,从而满足无服务器需求。对于现代的云原生系统,将需要在用例需求的背景下支持多种应用程序协议。混合实现的一个很好的例子是在查询流(REST / HTTP)和响应流(GraphQL)中使用可能不同的应用程序协议。如今,多种应用程序协议(REST / gRPC / GraphQL)协同工作以提高效率。此外,随着Internet工程任务组(Internet Engineering Task Force)在HTTP / 3规范草案上的工作,不久之后,基于HTTP / 3的应用程序协议也应运而生。10 | API:构建数字经济的障碍外部文件©2020 Infosys LimitedInfosys与一家制造业巨头合作,以构建和开发多云微服务平台。该解决方案涉及HTTP以外的各种现代应用程序层协议REST(gRPC,事件消息),可与整个环境中的服务集成。Infosys与全球领先的汽车制造商之一合作,设计和开发用于安全保障服务的下一代互联汽车平台。该平台是基于云原生和与云供应商无关的技术堆栈,这使客户可以在云供应商之间平稳迁移。 语言和生态系统编程范式扩展编程语言构成了技术领域的核心,包括过程性,面向对象,功能性,命令性和声明性语言。许多编程语言正在演变为多种范例。在过去的十年中,Java,C#,Python,JavaScript和C / C等著名语言进行了重大更改,以在当今的微服务和云原生,高弹性应用程序时代保持相关性。Java虚拟机(JVM)已成为构建跨平台编程语言的首选平台。强大的语言(例如Scala,Kotlin和Clojure)由于Java生态系统而广受欢迎。同样,这些语言为使用现有库和框架提供了灵活性。 .C#,C和F#是在.NET CLR生态系统上运行并且随着时间的推移而发展的流行语言的示例。随着ECMAScript规范的不断发展,JavaScript采纳了这些规范,以使其变得更好,功能更强大。节点生态系统和编程范例(功能,事件驱动,原型继承以及在客户端和服务器端运行的能力)加快了创新的步伐。RUST和Go主要被视为提供最佳性能的系统开发语言。外部文件©2020 Infosys LimitedAPI:为数字经济构建模块| 11 .NET 5充分利用.NET Core,.NET Framework,Xamarin和Mono的优势,可以生成可在任何地方使用的单个.NET运行时和框架。趋势3:Go和Kotlin成为轻量级微服务的主要选择内存占用少Go具有强大的内存安全性,垃圾回收和结构化类型,可提供较高的运行时效率。它已经是系统设计的首选,但也广泛用于微服务。在Infosys,我们将Go用于许多内存占用至关重要的项目。Kotlin主要是从使用Android的开发人员演变而来的,由于其编程的简洁性,互操作性和安全性,它正在转向微服务领域。银行,电信和其他行业将这些语言作为其现代化计划的一部分,以开发大型的,云原生的和可扩展的微服务。通常,Java,.NET,JavaScript或Python结合SpringBoot,Django和Nameko等框架用于开发微服务。结果是体积庞大的应用程序占用了大量内存,并且缺乏弹性。随着诸如Go语言和支持多种语言和库的GragVM等多语言虚拟机(VM)的出现,应用程序团队现在可以选择语言和访问权限。调试,监视,分析和优化资源消耗的高级工具。开发跨平台应用程序的平台。.NET框架最初旨在为基于Windows的桌面,Web和企业应用程序构建健壮的框架。 .NET Core的添加为非Windows环境提供了支持,尽管它需要不同的库来开发其他类型的应用程序,例如移动,桌面和Windows Communication Foundation。新的.NET5统一平台旨在在多个目标平台上同时提供高性能,可扩展,一致的运行时行为的丰富开发人员体验。趋势4:.NET 5扩展了开发人员的体验,并统一了所有平台上的运行时行为.NET社区热切期待发布.NET 5,它将统一