APP下载

云原生的土壤中间件在云时代被再定义

消息来源:baojiabao.com 作者: 发布时间:2024-05-18

报价宝综合消息云原生的土壤中间件在云时代被再定义

如果把企业内部的业务比喻为一个城市系统,这个城市中的IT机构就是像水、电、煤一样的基础设施,那么中间件就类似于输水管道,推动着数据从一个应用流向另一个应用。而在云计算时代,中间件又被赋予了新的定义,那就是对云原生的支持。

云原生的土壤 中间件在云时代被再定义(图片来自slideshare.net)

既然提到中间件,那么就有必要了解什么是中间件。从常规定义来看,其可以包括各种软件方案,API、应用服务器、数据整合、对象请求代理等等,任何位于内核和用户应用之间的软件都可以理解为中间件。就像PaaS承担的作用一样,中间件层通过在虚拟单元上运行Java应用,隔离了不必要的操作系统和硬件异构性,提供了一致的管理引擎和开发平台,具备集成开发和全生命周期管理能力,能够以集群虚拟化的方式按需分配资源。

从技术架构来看,首先要知道一个词“JBoss”——基于J2EE的开放源代码的应用服务器(引述百度百科定义),而且是J2EE领域最流行的一个。J2EE可以看作是一个企业级的Java平台,特点是简化开发和部署、可移植和复用的程度较高,最初脱胎于Sun的Java 2变种。2005年的时候,Sun把旗下Java各版本中的“2”都取消了,J2EE也就变成了Java EE。

与其说Java EE是一款产品,倒不如说其更像是一种标准,不仅集成了JSP、EJB、CGI这些技术,还提供了业务逻辑、控制器等各种组件。举个例子,SQL是很多数据库开发者会用到的结构化查询语言,而Java EE所支持的技术的API可以起到连接数据库的作用,并且能直接调用SQL命令执行SQL语句,显然是开发者喜闻乐见的。

至于JBoss的特性就不多赘述了,比如生来就是支持SOA的。说到SOA,甲骨文无疑更有发言权,该公司在Gartner《2017年企业集成云平台即服务魔力象限》报告中获得了领导者的位置,甲骨文的企业集成云平台即服务(iPaaS)就包括了Oracle SOA云服务和Oracle集成云服务。这一成绩的背后,也反映了企业客户对于混合集成平台的需求,毕竟这在兼顾高敏捷和低成本的同时,还能保障安全性。

弄明白JBoss之后,就可以从广义上对中间件进行分类:第一类是促进应用开发加速和性能加速的,比如JBoss EAP、JBoss WebServer、JBoss数据网格;第二类是实现应用、数据和API整合的,比如JBoss Fuse、JBoss AMP、3Scale;第三类是实现业务规则和流程的自动化产品,比如JBoss规则引擎和流程引擎产品。

回到国内市场,主要有三种中间件的厂商,第一种是提供企业级安全开源中间件产品的,以红帽为代表;第二种是传统的闭源外资公司,如IBM和甲骨文,他们的市场份额较高,原因除了技术的积累,在服务器和数据库方面也有较好的支持;第三种是半开源公司,以国内公司为主,这类公司取材于开源社区产品,然后通过改造封装和功能扩展,逐渐形成自己的产品,或者是根据客户需求直接提供源代码。

与海外巨头相比,像中创股份、金蝶天燕这样的国内中间件厂商仍有较大的差距,而且海外对合规的要求也要更高一些,尊重知识产品。不过在云计算的时代,这种距离随着技术架构的改变在无形中缩小了。换句话说,软件定义基础设施带来的机会是均等的,而传统的ESB中间件业务则呈现放缓态势。数据显示,2016年和2017年IBM和甲骨文的ESB收入仅有个位数增长。

随着微服务架构的兴起,ESB要被取代的声音不绝于耳,这种以XML为中心的技术只适应数年升级一次的旧有业务系统,定制化的过程更是灾难,难以跟上现代化架构中云应用的扩展速度。对于企业来说,他们更希望通过开源、轻量化的方式来展开业务部署,这就与iPaaS有关系了。研究机构Ovum在一份报告中指出,2017年iPaaS的市场规模首次超过10亿美元,其背后就是像红帽这样的开源巨头贡献著支出。

一个值得注意的是数字是,红帽中间件业务的增速约是Linux业务的一倍,要知道Linux发行版可是红帽赖以成名的产品,而且数年前应用服务器流行时还没有JBoss什么事儿。相比之下,如今将业务完整迁移到JBoss的公司已经有纽交所、FedEx、NTT等各领域的头部客户。

这种趋势的原因之一是,几乎每家公司都在思考如何进行数字化转型,而这种改变当前很大程度上就是上云。考虑到体量的原因,这些企业上云不会是一蹴而就的,也就是离不开本地环境。例如在JBoss EAP 7中,无论是本地、虚拟化,还是公私混的云环境,都能提供完整的Java EE性能,并且无需再编辑XML配置文件。

过去,行业内会将PaaS再细分为aPaaS、iPaaS、dPaaS、mPaaS,而不管怎样划分,PaaS在为企业提供IT服务的过程中都扮演着关键角色,而就像aPaaS之于应用开发和运行、iPaaS之于集成和交互,中间件与PaaS的关系亦是密不可分的,前者在很大程度上成为了衡量PaaS成熟度的指标。用红帽的话说,中间件的“PaaS ready”已经成为新时代中间件最基本的一项要求。

那么问题来了,云时代的中间件为何如此重要?很重要的一个关联性就是云原生(Cloud Native)。云原生是Pivotal负责架构的全球CTO Matt Stine在2013年提出的概念,当时的判断像DevOps、微服务、敏捷交付等技术至今都已成为趋势。当时Matt Stine认为,如果用新的一体性架构去取代现有的一体性架构,只是把复杂性从一端转移到了另一端,这也是传统SOA的尴尬之处,“从运维的角度来看,实际上什么都没做。”

考虑到云原生的需求,可以使用基于PaaS集成的中间件,将功能容器或微服务化,好处在于不用去掌握复杂的底层代码,并且是支持容器和微服务的。如果是使用OpenShift的集成应用,还可以在不依赖CSP的情况下将应用部署到任意的位置。

此外,中间件服务通常没有太强的业务属性,比如JBoss EAP应用服务器,只要是Java应用都可以运行在应用服务器。也有一些中间件要与业务结合才能充分发挥价值,比如规则引擎,这不仅需要一个安全可靠的规则引擎管理平台,集成商的实时开发能力也很重要。

红帽的技术人员告诉笔者:“如果中间件对云原生的支持差,就很难充分利用云的能力,甚至很难上云。比如某中间件上应用的安装和部属需要借助于其管理界面,那么这种中间件就很难上云,更不要谈什么分散式、自动扩展。”

可以看到,中间件对于云原生的要求考验著服务提供商。用过去的思路去定义云时代的中间件未免有失偏颇,毕竟企业内部的IT架构和业务形态发生了变化。当然,本文并没有否定ESB所起到的作用,像金融、航空等行业的关键任务仍然需要稳定的ESB支持。不过,随着开源、API、上云走进了中间件的视野,其与云服务的融合势必也会愈发密切。





2018-09-22 07:31:00

相关文章