【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2016-11-21 18:003303
用户头像

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

关注

评论

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

一线互联网技术总监的忠告:我们精通那么多技术为何还是做不好一个项目?

android 程序员 移动开发

【译】彻底理解 Android 中的阴影(1),apk优化签名

android 程序员 移动开发

Cube 技术解读 | Cube 卡片技术栈详解

阿里巴巴终端技术

支付宝 客户端开发 卡片服务 cube 动态化

【面试必会】全网最具深度的三次握手,腾讯Android开发面试记录

android 程序员 移动开发

一种清晰, 便于扩展android项目架构方案,kotlin编程

android 程序员 移动开发

一篇看懂Android与Flutter之间的通信,最新Android开发面试解答

android 程序员 移动开发

一个Android开发6年程序员的年终面试总结,2021无畏艰难险阻,迎风潇洒前行

android 程序员 移动开发

【议程公布】2021年MongoDB中文社区南京技术沙龙

MongoDB中文社区

mongodb

一个中专生的逆袭之旅(如何做到收到阿里、腾讯、滴滴等面试邀请)

android 程序员 移动开发

一文了解AndroidStudio3-4的全部更新,androidapp开发从入门到精通

android 程序员 移动开发

华为云·核心伙伴开发者训练营第七期开营,共赴产业云美好明天!

华为云开发者联盟

华为云 鲁班会

恒源云(GpuShare)_未闻Prompt名(论文学习笔记)

恒源云

深度学习

一个8年Android 开发想转后端,还来得及嘛?,android开发菜鸟教程

android 程序员 移动开发

【面试准备】JavaWeb部分,android webview

android 程序员 移动开发

一场赛跑引起的并发知识,flutterrow换行

android 程序员 移动开发

一封给Android开发者 UI 自动化测试上手指南,前方高能

android 程序员 移动开发

一款简单的消息防抖框架,安卓开发权威指南

android 程序员 移动开发

一篇文章,全面总结2020最新整理-Android-大厂高频面试知识点

android 程序员 移动开发

【译】彻底理解 Android 中的阴影,三年经验Android开发面经总结

android 程序员 移动开发

【阿里P8大牛教你Android入门之路(java篇,移动端开发工程师转型

android 程序员 移动开发

一位普通Android程序员呕心沥血八次大小厂的面试复盘总结,收藏一波扩展知识体系!

android 程序员 移动开发

一文带你搞懂Android的-Binder-机制,flutterandroid最低版本

android 程序员 移动开发

一种有效管控APP隐私权限的解决方案,Android400道面试题通关宝典助你进大厂

android 程序员 移动开发

一线大厂大型APP性能优化系列-自定义启动器(三),2020-2021阿里巴巴安卓面试真题解析

android 程序员 移动开发

【译】使用Kotlin从零开始写一个现代Android-项目-Part1

android 程序员 移动开发

【透镜系列】看穿 _ 触摸事件分发 _,android界面开发框架

android 程序员 移动开发

一个view事件分发,面试官6连问直击灵魂,我被虐的体无完肤

android 程序员 移动开发

一个非常好用的页面引导工具guideView,html5移动开发框架

android 程序员 移动开发

一位Android程序员入坑Flutter后整理出一份超详细的学习笔记

android 程序员 移动开发

一篇文章让你彻底了解三次握手和四次挥手,轻松拿下offer

android 程序员 移动开发

一篇通俗易懂的Android视图系统设计与实现,精通android网络开发pdf

android 程序员 移动开发

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