写点什么

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

  • 2016-11-21
  • 本文字数:2196 字

    阅读完需:约 7 分钟

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

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

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

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

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

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

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

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

发生这些变化主要是因为近年来对应用程序的需求已经急剧改变了。几年前,一套大型系统还会运行在几十台服务器上,命令响应时间要几秒钟,维护一次要停服几小时,数据以 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 那些事。

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

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

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

尽管微服务的增长趋势看着很有前途,在 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% 的受访者在试用它们。

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

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

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

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

InformationWeek 的特约编辑 Charles Babcock 谈到了关于容器你必须知道的九方面内容

结论

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

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

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

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

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

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

2016-11-21 18:004216
用户头像

发布了 152 篇内容, 共 74.1 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

战略牵手OXY精英设计、朗生、MPE美亚,小度合作生态重构再迎重要时刻

新消费日报

1024 有奖征名|来给矩阵起源办公室的新猫取名字呀~

MatrixOrigin

1024 MatrixOrigin MatrixOne

等保测评后还要花很多钱做等保整改吗?

行云管家

等保 等级保护 等保测评 等保2.0

挑战吧,HarmonyOS应用开发工程师

HarmonyOS开发者

HarmonyOS

幸福里基于 Flink & Paimon 的流式数仓实践

字节跳动云原生计算

flink paimon

如何区分特权账号管理系统PAM和堡垒机

尚思卓越

网络安全 堡垒机 特权账号管理

特权账号管理系统简述

尚思卓越

特权账号管理 特权账号 PAM

特权账号的功能

尚思卓越

网络安全 堡垒机 特权账号

​交易所开发 PancakeSwap DeFi 成功的秘密:您的 DEX 发展蓝图

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

如何确定Apache Kafka的大小和规模

互联网工科生

kafka

Op丨ARB链dapp代币合约质押项目系统开发

l8l259l3365

关于数据库分片你需要知道的

遥遥知识库

Java 分布式数据库 后端 数据库分片 关于XX你应该知道的

HarmonyOS多音频播放并发政策及音频管理解析

HarmonyOS开发者

HarmonyOS

如何使用透明贴图实现火焰效果

3D建模设计

材质 纹理 贴图

第11期 | GPTSecurity周报

云起无垠

如何制作二维码会议签到系统?

草料二维码

揭示Lombok的代码设计缺陷:探索封装问题

树上有只程序猿

lombok Java 开发

多款国产操作系统安装数据库干货文档汇总(含Oracle/MySQL/国产数据库等)

墨天轮

MySQL 数据库 oracle 国产操作系统 麒麟软件

焕新升级!新一代云原生可观测平台

华为云原生团队

云计算 容器 云原生 边缘计算

如何为3D模型设置自发光材质?

3D建模设计

材质 纹理 贴图

出海 SaaS 企业增长修炼手册2:Kyligence 落地 PLG 是如何避坑的?

Kyligence

指标管理 SaaS 增长

1024程序员节|是时候,展示真正的实力了!

Openlab_cosmoplat

1024 1024程序员节

协同发展,生态聚合丨1024程序员节暨「源聚一堂」开源技术沙龙(北京站)成功举办

开放原子开源基金会

【有奖体验】AIGC小说创作大赛开启!通义千问X函数计算部署AI助手

Serverless Devs

阿里云 Serverless AI

2016企业开发趋势:Lightbend关于JVM开发者的调查_Java_Michael Redlich_InfoQ精选文章