zl程序教程

您现在的位置是:首页 >  后端

当前栏目

2016企业开发趋势:Lightbend关于JVM开发者的调查

JVM趋势企业开发者开发 关于 2016 调查
2023-09-11 14:22:38 时间

Lightbend最近调查了2100个JVM(包括Java和Scala)开发者,进行了以下研究:

开发趋势和IT基础设施趋势之间的相互关系。 各家公司在怎样用最新技术实现他们的应用程序。 新兴技术的实际生产使用率统计分析。

报告全文题为:“2016企业开发趋势:2100个JVM开发者的云、容器和微服务分析”,分析了从使用重量级J2EE服务器到微服务和轻量级容器来构建应用程序,这个变革背后的主要驱动力。

如下图所示,参与调查的开发者来自于不同的公司:

20161122115540202.png

调查主要得出了以下三个发现:

微服务和快速数据是现代应用程序开发的主要驱动力。 轻量级容器在使基础设施大众化,并且在挑战着Java EE应用程序服务器。 可移植性和弹性的优势在推动着“本地云”的进程。

当今的分布式服务都是为前所未有的大量数据而设计的,它们需要有更加弹性的、松耦合和可扩展的反应式系统。

20161122115542156.png

这种向反应式系统演化的驱势可以从反应式宣言中找到答案:

发生这些变化主要是因为近年来对应用程序的需求已经急剧改变了。几年前,一套大型系统还会运行在几十台服务器上,命令响应时间要几秒钟,维护一次要停服几小时,数据以GB来计算。可现在应用程序已经到处都可以部署了,从移动终端到基于云的集群,上面运行着几千个多核处理器。用户希望得到毫秒级的响应,而且要100%在线。数据也开始用PB来衡量了。当今的需求已经不可能用过去的软件架构来满足了。

频繁的发布周期在保持对连续的数据的需求方面起着关键作用。如报告中所说:

如果你还需要12到18个月才能发布一次软件,可能你就已经退化回瀑布模型了。

微服务与快速数据

现在的企业应用在设计之初就都会关注实时数据和流。微服务是一个在应用开发中较新的趋势,起源于面向服务的架构。如报告中所说:

十年前,面向服务的架构(Service-Oriented Architecture,SOA)里面包含了许多和微服务相同的原则,在设计接口和解耦应用程序这些方面也做得很出色。但SOA没有全面成功的原因在于对基础设施的强调不够。现在到处都在采用微服务,原因在于除了服务隔离之外,它还包括了部署和生命周期方面的考虑,这些都是SOA没能处理好的问题。

C2B2的首席咨询顾问Matt Brasier去年末就微服务和SOA之间的争执发表过一篇博客:

SOA和微服务都是相同规则集的内容,只是应用在公司内的不同层。

微服务的存在也要归功于SOA原则为大家所接受。

SOA与微服务之争的真正答案应该是它们分别适合于不同的解决方案,但因为产生的应用程序数量要远远多于企业架构的数量,因此微服务框架就显得比ESB更适合于你的项目。

Payara和C2B2的创建者和董事Steve Millidge声称:

微服务与SOA没什么不同,它还是在说SOA那些事。

除此之外,调查结果也表明企业中向微服务迁移呈增多趋势,如下图所示:

20161122115544612.png

去年末大家已经预见到了这种微服务的增长趋势,今年早期InfoQ也讨论了这一点:“2016年将成为Java EE微服务之年”。

调查结果显示,如Apache Spark、Apache Kafka和Akka等为了满足持续数据的需求而设计的框架已经越来越受大家欢迎,如下图所示:

20161122115545563.png

尽管微服务的增长趋势看着很有前途,在Lightbend的报告中却有一个关键点提到:

看起来微服务很容易运维,但事实真的如此吗?对于那些真的在生产环境中运行微服务的公司来说,有34%表达到对运维工具成熟度的担忧(在调查结果中,有22%表示运维工具的成熟度是微服务的主要挑战)。

InfoQ讨论了从七个微服务反模式中学到的经验。OpenCredo的首席科学家Daniel Bryant谈到了微服务的七宗罪,以及如何避免它们。在这篇Basho博客上,Sean Kelly也谈到了一些关于微服务的错误见解,而大家还常常以它们作为迁移到微服务的指引。在OverOps博客中,Alex Zhitnitsky做了一次“对框架的彻底研究……来看明白它的实现,并了解它们到底是干什么的”。其中涉及到的框架有Java EE、Lightbend的Lagom、Pivotal的Spring Boot、Dropwizard和Spotify的Apollo。

轻量级容器

轻量级容器是构建的要素,因为开发者们“都对把容器当成可移植基础设施寄予了厚望,他们等这个已经等了很久了”。如下图所示,有30%的受访者对容器进行了实验,22%的受访者正把容器用于生产环境,还有22%的受访者在试用它们。

20161122115545376.png

调查结果显示,大家主要关注的容器有Docker、Docker Swarm、Kubernetes和Marathon(一种Mesos和DC/OS的容器孵化平台),如下图所示:

20161122115546583.png

Docker有大概50家用户,包括ADP、PayPal、Uber、Lyft和Merck。Kubernetes有大概20家用户,包括SAP、Ancestry和eBay。

Lightbend的报告中有个关于容器的关键点提到:

开发者们认为,容器有很大可能会打破JVM的统治地位——有57%的受访者认为容器会打破JVM的统治地位,32%的受访者还不太确定,而只有11%的受访者认为容器是被过度宣传了。

结论

Lightbend的报告中还包括下面这些关键点:

在采用微服务和轻量级容器方面Scala开发者走在了Java开发者前面:

有42%的Scala开发者把微服务用在了生产环境中,只有28%的Java开发者这么做了。 有31%的Scala开发者把容器用在了生产环境中,Java开发者的对应数字是21%。

小公司(员工数不超过200)中的开发者比大公司的开发者在做技术决策方面有更大的影响力。

在实现IoT应用程序时容器可能是大家更喜欢的选择。

查看英文原文:Enterprise Development Trends 2016: A Survey of JVM Developers by Lightbend

本文转自d1net(转载)


又一里程碑!阿里首推Java技术成长笔记,业内评级“钻石级” 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的。在行业内,很多互联网企业也将阿里作为自己的标杆,越来越多的“打工人”也希望能够进到阿里工作。
人们需要了解在企业中利用商业智能的十大好处 人工智能已经成为企业在商业智能技术所驱动的市场中的重要工具之一。在企业的IT系统中集成商业智能有助于企业的分析和数据可视化。
阿里巴巴如何改善开发人员在 K8s 上的体验? 从 Kubernetes 到“以应用为中心”的美好未来之间,全世界的 PaaS 工程师其实都在期待一项全新的技术能够弥补这之间的鸿沟。阿里云原生应用平台团队的做法是,通过为应用“建模”的方式来解决这个问题,这也正是 Open Application Model (OAM) 开源项目得以创建的重要目的。
JVM-SANDBOX:从阿里精准测试走出的开源贡献奖 稳定性是历年双11的技术质量保障核心。从 2016 年开始淘宝技术质量部潜心修行,创新地研发了一套实时无侵入的字节码增强框架,于是「JVM-SANDBOX」诞生了,并且顺手在 MTSC 大会上拿了开源贡献奖,今天,我们来瞅瞅这个拿奖的项目。
指明方向与趋势!2019开发者技能报告出炉!!! 近日国外开发者平台 HankerRank 发布了 2019 年开发者技能调查报告( https://research.hackerrank.com/developer-skills/2019 ),该报告根据对71,281开发者的调查得出。
消灭“脑细胞杀手”,阿里专家带你深入C++对象的生命周期管理 C/C++的指针一直是令人又爱又恨的特性。围绕指针产生了许许多多优雅的数据结构和系统实现,但又滋生了不少“脑细胞杀手”——内存Bug。如何通过指针管理C++中对象,如何管理对象的生命周期呢?本文中,阿里巴巴高级开发工程师付哲就为大家分享《C++对象的生命周期管理》。