2019中间件技术领域和商业市场展望

Jeff Zhang | January 2, 2019

2018年过去了,对于传统中间件来说是商业机会快速消失的一年,很多过去的“现金牛”产品已经步入商业支持的末期,产品新的发布多数以安全特性为主。

中间件软件行业呈现的两个特点是:

  1. 老牌中间件产商把战略转到云端,纷纷将中间件产品融入到自己的私有云/混合云中,作为整体方案的一部分。
  2. 而另外一些由市场占有份额大的开源项目组成的商业公司,开发出丰富业务功能,提供商业产品支持,很多这样的公司在2018年得到快速的成长。

我们从技术体系和商业产品两个方面分别进行阐述。

一.中间件技术体系

中间件产品已经基本完成了一项技术过渡,即由原来的Java应用服务器作为主要部署应用方式,演变为云计算设施中的微服务,云原生甚至无服务器应用部署方案。

我们在这里不去讨论这些词汇附带的技术细节,只是能够确认,单一的Java应用部署体系,已经不是软件部署的主要方式。依赖于容器技术和编排技术,软件体系架构逐渐演变成一个较大范围的跨进程跨机器节点,需要从全局考虑的分布式软件网络架构。

而随着分布式容器技术的应用,消息中间件,流式处理,服务编排,数据转换等等这些技术也变得更加重要。

除了可以提供中间件产品服务的大型互联网公司,传统的软件公司随着其客户的业务系统逐步向互联网迁移,也能开发和提供互联网数量级别的中间件软件支持了。所以我们看到一部分中间件产品在消退,而更多方向的中间件产品又如雨后春笋般的冒出来。

传统中间件上Java语言一家独大的情景有所改变,其他语言在各自擅长的领域逐渐占据重要的地位。 对于Java来说,原来JavaEE在企业应用开发中强势地位已经消亡,目前形成了JavaEE,Reactive Java以及与语言无关的Rest/RPC/Rx等同时为主流开发方案的局面,而且还会持续一段时间。从另一个方面,JavaSE开发独立应用程序,反而成为技术的热点。OpenJDK,模块化,AOT,GraalVM等技术,已经成为近来Java乃至服务器技术探讨的重要内容。

尽管大数据技术公司已经过了风投追逐的阶段,然后大数据应用已经被各个行业的商业公司逐步理解和采用,所以未来具有良好特性产品会有不错的市场前景。 目前的市场热点,如机器学习,人工智能,在一段时间还是处于概念形成和产品构建期,被大量的商业采纳还需要一段时期。

尽管中间件向云端转移,既能独立部署也能适配主流云计算平台。但中间件作为软件,在一两年内还是会以百花齐放的方式,由各个软件和互联网公司提供,也许未来会通过收购统一纳入某些巨型公司旗下。

目前我们对中间件技术领域做如下划分:

一 企业开发运行服务器

  1. 应用服务器
  2. 消息服务器
  3. 缓存服务器
  4. 数据中间件
  5. RPC等传输通道

二 企业商业运行服务器

  1. ESB数据处理总线
  2. 商业业务流程和规则处理
  3. 企业门户和内容管理
  4. 全局安全和权限管理

三 微服务基础设施

  1. 容器编排技术和ServiceMesh
  2. 系统和应用监控管理
  3. API管理网关
  4. 索引和日志分析处理

四 微服务开发框架

  1. SpringBoot和SpringCloud
  2. Vertx
  3. Thorntail

五 大数据处理

  1. 数据抽取和导入
  2. 数据提取处理和聚合
  3. 大数据批量处理框架
  4. 大数据流式处理框架

在每个领域,我们都会提供对应产品或者开源技术方案,以及提供相应的架构原理,管理运维的技术培训。

二.当前部分主流商业产品分析

本篇暂时不讨论大型软件公司的中间件产品,而是分析源于开源项目,并形成一定商业模式的中间件软件公司的产品和技术方案。

1. Conflucene

源于Kafka开源消息产品,目前有Apache Kafka核心项目,Kafka周边开源项目,以及商业产品三大主要部分。 Apache Kafka从2016年发布了1.0正式版之后,进展迅猛,目前已经演进到2.1版本。划归Apache旗下的除了Kafka Core以外,还有Kafka Stream和Conector API等重要部分。这些组件模块遵循ASL2协议,商业扩展使用没有问题。 Conflucene公司还有一部分开源组件,其中主要的是KSQL和一部分Connector,最近修改了授权文本,改为自有开源协议,限制云服务的使用。另外还有很多组件为商业产品,需要付费使用和获得技术支持。 Kafka在消息中间件广泛被采纳的基础之上,在流式计算和SQL查询方面进行产品化工作和推广,顺应了当前技术发展的趋势。 Conflucene公司采用的产品划分和商业授权方式,可以说是目前中间件公司在当前市场情况下采用的典型方法。

2. Nginx

Nginx在互联网得到广泛应用,如今也向企业市场进军。除了经典的WebServer,访问代理等应用场景,Nginx公司还在API网关,网格技术,分布式应用全局监控,安全方案等开发商业产品。 Nginx牵头研发了Ingress for Kubernetes,以及由灵活架构可以做到的动态配置更新,脚本控制能力,使得Nginx(或者具有相应特性的产品)在未来企业互联网应用中,起到举足轻重的作用。

3. Hazelcast

Hazelcast源于分布式中间件缓存,采用和JDK集合一致的接口,方便易用。和Spring,Vertx等开源框架都有良好的集成。 Hazelcast公司也形成了明确的商业模式,目前有IMDG和JET两大类产品,分别是分布式缓存和分布式计算平台。在和Redis进行对标的技术方案上,Hazelcast和Infinispan是Java的代表。 无论是消息还是缓存,都用来存储应用的状态,在整个应用架构中可以作为数据库存储的“暂态”阶段,用来做数据处理是再合适不过了,所以都会提供数据计算的能力。

4. Mulesoft

Mulesoft开始是做开源ESB产品,后来在恰当的时机做Paas平台,以及API管理等技术方案。2018年5月被Salesforge收购,可以说是蹚出开源产品公司一条理想的发展道路。因为Mulesoft还是独立运营,所以也放在这里一起分析。 Anypoint是主要的技术产品,由若干个技术组件构成,包括ESB运行管理,连接器,数据流设计器,API设计,API管理器,分析模块,控制台,开发平台等组成。尽管这个产品为认为是传统意义上的ESB平台,但我觉得其产品形态是目前互联网企业API管理,数据流转和分析的最佳整体解决方案的形式。只可惜Mule后来对于开源采取收缩的态势,很多技术实现细节需要化很大的精力才能一窥。

还有几家今后随着技术文章再逐步分析。

三.永源中间件2018总结

过去的一年,我们静下心来,大多数时间里开发自己的中间件产品和技术方案。

  • 目前我们在企业开发服务器,商业运行服务器,微服务开发设施方面都形成了自己的产品,未来将会继续完善。
  • 所有的中间件产品会开源,架构和文档会全部开放。
  • 开发了自己的快速开发框架,静态代码分析工具,以及软件调优分析方法论服务产品,极大的增强了工程能力。
  • 同时还进一步充实了培训产品线,这部分业务的愿景是提供一套培训服务,覆盖完整的技术栈。

当然也走了不少弯路,同时面对经济环境的冲击。在国内中间件商业市场不算大的情形下,面临云计算大公司的强大经济财力和优势人力资源的压力。 2019年,我们的产品服务方向和目标市场会做一些调整,避开强大厂商的锋芒,更多的关注企业级“夕阳”市场,结合当前的技术趋势对原有产品进行技术和商业改进。技术趋势的反复,技术词汇的翻新和层出不群,已经看到了若干和周期。我们能够明白了,商业技术在一个阶段会存在趋势和热点,而真正的业务需求始终存在,在深入了解各类技术的优劣势的基础上,把适用及先进的技术带给国内企业。

新年里继续服务好现有客户,保持和合作伙伴的良好关系,同时和国外优秀开源公司,国内技术企业进行更深入的交流和合作。