Spring官方宣布Netflix项目进入维护模式解读后续

本文将用更全面的视角,分析Netflix项目进入维护模式的那些事儿。

没有商业化利益驱动的开源难以持久,只看利益的开源也难以持久和做大。而在这个角度,Netflix Eureka和Hystrix项目的停止发展,以及近期Spring 官方宣布Netflix项目进入维护模式,并不在意料之外,毕竟Netflix 开源的这些项目很难说背后有其直接的商业化利益诉求,当情怀和热情不在,社区亦没有发展起来时,走着走着就散了也是很自然的事情。

Netflix 开源发生了什么?

2018年6月底,Eureka 2.0 开源工作宣告停止,继续使用风险自负。

2018年11月底,Hystrix 宣布不再在开源版本上提供新功能。

2018年12月,Spring官方宣布Netflix的相关项目进入维护模式(Maintenance Mode)。

Spring官方对什么是Maintenance Mode给出了定义:

一旦进入维护模式,Spring Cloud将不会对该组件添加新功能,但我们会继续修复相关的bug和一些安全性问题,同时考虑和review一些小的PR。我们将在Greenwich Release后的至少一年内提供以上支持。

为什么Netflix的停更对Spring影响如此之大?

这可能也是诸多开发者心存疑虑的地方,按道理来说,微服务架构只是应用分布式架构的实现模式之一,而且微服务架构是个非常庞大的体系,Netflix的几个开源项目的停更应该只是其中的沧海一粟。

这其实就必须从实现敏捷灵活的应用微服务架构的执行路径说起了,微服务架构的概念首先就是从Java语言生态提出了,而开源的Spring的微服务生态则承接了这个架构理念在生产上的实践和落地,Spring 生态作为一个抽象API以及集成框架层,Netflix 的OSS承载了其重要部分的模块实现, 在Spring的微服务架构方法论中,这两个产品都有其独特的位置。

就像权威商业调查机构 Gartner 在其2017年发布的《How to Design Microservices for Agile Architecture》(如何为敏捷架构设计微服务)报告所述,企业要执行传统单体应用架构到微服务应用架构的演进,其路径大致要分为4个阶段,如下图所示:

如果说以上是偏CTO和CIO视角的企业应用架构演进的宏观角度来描述事实,那么在SpringOne Platform 2018 大会上 Spring 开发者 @Roy Clarkson 和 @Ollie Hughes 在 《Cloud-Native Java with Spring Cloud Services》 (YouTube视频地址(https://www.youtube.com/watch?v=0Yh-cebFkN4&index=108&list=PLAdzTan_eSPQsR_aqYBQxpYTEQZnjhTN6)) 演讲中阐述的就比较技术化,

这两位老哥认为微服务的核心设计模式,首要的就是选择 “External Configuration” “Service Registry” “Circuite Breaker” 的实现方案。

所以Eureka 和 Hystrix的停止更新在Spring微服务生态圈之所以引起如此震动,是因为这两个项目的停更,意味着用户未来跨向微服务的第一步就要受阻。

换句话说,先不说未来的中阶的分布式链路追踪、微服务安全策略、分布式事务策略,高阶的全面的分布式高可用方案(如Chaos Engineering,异地多活),以及在低阶的服务发现、分布式配置管理、熔断限流未来可能都无法很好的支持。

Netflix 对新技术革新的贡献

Netflix 作为2015年的JAX特别评审团奖应该说是实至名归的,作为技术革新的先锋者,Netflix在近些年的产业技术演进趋势路径上,在两个方面做了卓越的贡献,值得我们敬佩。

o 微服务 & Spring Cloud领域

时间回到15年前,彼时第一代 SOA 方法论兴起,大兴其道的 web service 都是围绕基于 SOAP和XML 来构建,笨重而繁多的 web service 规范,很少有用户能真正搞的清楚。而那时候的SOA和web service 一开始就是如IBM&Oracle这样的软件巨头在后面推动,这些软件巨头在背后狂推 SOA 概念的原因之一是为了销售诸如ESB(企业服务总线)这样的集成方案,继续加深其在企业应用市场领域的拓深。

后来大家也知道了,随着 JSON 和 RESTFul Service 的兴起,web service 这个 SOA 大厦轰然倒塌,在其废墟上,微服务概念逐渐兴起,一个技术概念在吹的神乎其神的时候,要想真正得到业界的任何和发展,必须要有踏踏实实的技术和相关产品来将其在实际用户市场上支撑起来,并且有大面积的生产成功案例背书,才有可能真正发展成为业界主流。毫无疑问,Spring生态和Netflix的开源组件承接了这个概念的落地,他们一起逐渐为大家构建起了微服务架构的规范体系,以至于如今很多人把“微服务架构”与采用Spring Cloud 几乎划上了等号。

当然,这其实是个有意思的话题,广义的微服务架构等于Spring 生态 + Netflix OSS 吗?当然不是,因为如果是这样,那么意味着其它语言体系莫非无法以微服务架构思想来构建应用体系?当然不是。

闲话少絮,可以帮助微服务概念的大兴,在生产上落地,发挥实实在在的用户价值,Netflix Open Source 功不可没,非常值得钦佩。

o 云计算 & AWS

在另一个影响深远的技术趋势上,Netflix也发挥了很大的价值,那就是云计算领域。曾经的 Netflix 可以说是 AWS Marketing 部门的宠儿,AWS 市场推广时几乎言必称Netflix,这其实是因为业务疯狂保障增长的Netflix给了AWS公有云一个非常好的 “Customer Success” 故事。

彼时的 Netflix 在美国视频租赁市场上创造了一个新的商业模式之后,大红大紫。而从租赁开始切入网剧整个产业链,切入娱乐那个广大的市场,更是被华尔街追捧,相信还有人记得 Netflix在《纸牌屋》大获成功中给市场讲的故事吧?数据驱动的内容创新与发行,比观众更了解观众,绝对颠覆好莱坞的传统的新玩法,多么激动人心!!

在这个业务增长的背景故事下,大红大紫的 Netflix 选择 ALL IN 公有云,这无疑给了 AWS 一个绝佳的Customer Success的故事,而且这个故事更美妙的是,AWS 公有云确确实实给了Netflix业务爆炸式发展提供了实实在在的技术支撑。这里以节选 AWS 首席云技术顾问方国伟在《Netflix在AWS上的应用和创新》的PPT片子,来让大家再回顾一下“Netflix为什么使用公有云”的故事:

Netflix 为何开始减少在开源上的投入?

Netflix 是一家靠卖技术为生的公司么?答案是显而易见的,采用新技术是提升Netflix 在主营业务竞争力的有力手段。与AWS, Oracle,AZure,Google这些不同的是,卖技术和服务的开源及“云计算”并不是Netflix 要真正关注的。

而如今Netflix在开源上上削减投入,其实并不是什么不可思议的事情,一般像Netflix这种情况的公司,尤其当其主营的业务面临挑战时,首先考虑的很可能就是削减不在主线上的技术上的投资,从这个角度来讲,Netflix即使不是在现在削减开源上的投入,也会在未来的某个时间点削减。

那Netflix现在遇到挑战了么?可以从近期媒体上的几篇文章,觉得可见一斑:

Netflix大溃败:放弃算法崇拜,向好莱坞低头;

Netflix 的盛世危局;

另一篇是一位Netflix的美剧中毒者 头顶光环、骂声一片,他垮台了;神似《哈利波特》赫敏,她演砸了,在文中写到

曾几何时,我们都迷信一句话—— 网飞出品,必属精品。 网飞(Netflix)从出道以来,就走在美剧一线。 从题材到品质,严格把控,前卫又不失格调,高端又不缺人气。 可如今,慢慢走下神坛。 Sir也不忍心,但亲自体验完,还是不得不说…… 神话,已经变成了传说——

通过这些事件,笔者俨然感觉到暴风雨的气息,不远的将来 Netflix OSS 会不会全线撤退?但无论如何,我们仍要感谢Netflix 曾经在以及目前正在开源上的贡献,没有Netflix,Spring生态并不会发展的如此顺利。

开源与纠结的“商业利益”

开源与商业化这么多年一直是相爱相杀,从最早对于 free software里面 “free” 到底是自由还是免费的争议就种下了根,后来产业选择了 open source (开源) 这个更偏中性的词,开源项目应该耻于谈赚钱,谈论其背后的商业化动机么?初步想来,可能开源应该完全情怀驱动,怎么可以谈钱呢?

但是,深入思考之后,把产品的持续发展的动力建立在情怀上是非常不可靠的,而能有商业利益驱动的产品,反倒有可能更持久,生态更容易做的更大和丰富。这就像恋爱与婚姻一样,把婚姻仅建立在轰轰烈烈的爱情上,那激情和热情随着时间的消磨逐渐淡去的时候,只剩下一堆灰烬,平平淡淡的油盐酱醋茶才是持久的主旋律。今年的Redis License变更事件弄的如此轰轰烈烈,Oracle 对JDK 收费成功转型为最佳Java劝退师的事情亦复如此,但是这些都可以理解,这里面真的有很复杂的纠结和哲学问题。

但辩证的来看,没有商业化利益驱动的开源难以持久,只看利益的开源也难以持久和做大。而在这个角度,Netflix Eureka和Hystrix项目的停止发展,也不在意料之外,毕竟Netflix 开源的这些项目很难说背后有其直接的商业化利益诉求,当情怀和热情不在,社区亦没有发展起来时,走着走着就散了也是很自然的事情。

但是,笔者始终认为,云计算产业正在前所未有的改变开源产业... 例如,为何 CNCF 发展如此之迅速? 因为欲望和利益才是驱动社会发展的原始动力。

原文发布于微信公众号 - IT牧场(itmuch_com)

原文发表时间:2019-01-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券