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

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%的受访者认为容器是被过度宣传了。

结论

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(转载)

时间: 2024-07-28 14:32:00

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

2016 软件开发的七大趋势:容器技术将统治世界

岁月如割,2016距离我们只有几个"双xx"购物节之遥,对于"开发狗"来说,如死亡丛林飞跃般的练级之旅注定颠沛流离,命运多舛.是时候抬头看路了,下面我们为大家大胆假设一下2016的七大开发趋势. 一.容器技术(Container)将统治世界 毫无疑问当红炸子鸡Docker将度过叛逆青春期,变得更加成熟稳重,给人以安全感,更容易管理. 二.Java将加速衰落 虽然还有很多招聘说明中要求Java技能,Java也依然是目前主流的"吃饭"语言,但实际上这

2016软件开发全行业调查白皮书 告诉你最真实的程序猿世界

2016年中国软件开发者大调查针对软件开发技术.应用开发领域等方面对调查问卷进行了重新设计,同时还新增加了VR.直播.人工智能等新兴软件开发领域的相关调查,更能体现中国IT业.尤其是软件开发领域的发展现状.日前,CSDN发布了<2016年度中国软件开发者白皮书>,解读中国软件开发者的现实状态. 报告指出:全国有近5成开发者月均收入过万,其中近7成来自一线城市.软件开发者在获得较高收入的同时,承受的工作压力也在加大,70%左右的开发者处于长期需要加班状态,40%以上的开发者会经常处于工作压力之下

2017年11个移动App开发趋势

智能手机已经成为我们日常生活不可分割的一部分.早上用闹钟起床,使用Whatsapp,听音乐,阅读新闻,观看YouTube视频,检查邮件,更新项目状态等等--一切都可以在我们的移动设备上无缝执行.目前,全球有21亿人拥有智能手机. 25岁以上的成年人每天使用手机约264次,包括短信和电话.15-24岁的人,这个数字是每天387次.如果这个年龄组的平均睡眠时间是10小时,那么等同于每隔一分钟他们就要碰智能手机. 令人难以置信,但事实的确如此.当然,智能手机和移动app的使用在2017年也不会减少.只

2017 年 11 个移动 App 开发趋势

智能手机已经成为我们日常生活不可分割的一部分.早上用闹钟起床,使用Whatsapp,听音乐,阅读新闻,观看YouTube视频,检查邮件,更新项目状态等等--一切都可以在我们的移动设备上无缝执行.目前,全球有21亿人拥有智能手机. 25岁以上的成年人每天使用手机约264次,包括短信和电话.15-24岁的人,这个数字是每天387次.如果这个年龄组的平均睡眠时间是10小时,那么等同于每隔一分钟他们就要碰智能手机. 令人难以置信,但事实的确如此.当然,智能手机和移动app的使用在2017年也不会减少.只

企业开发中选择logback而不是log4j的理由

不知道看到这篇文章的Java工程师有没有考虑过这个问题:为什么在企业开发中会选择logback来记录日志,而不是log4j呢? 如果你以前没有考虑过这个问题,那么现在如果让你考虑一下,你可能觉的会是因为什么原因呢?本文就来为你回答这个问题.   无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进.不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j.牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立.所以如果你已经对

企业移动领域前景广阔:开发者争相跟进

导语:美国科技博客ReadWrite今天撰文称,虽然消费移动市场吸引了很多人的关注,但企业移动市场同样需求广阔,并且开始吸引越来越多的开发者参与其中.以下为文章全文:企业移动业务就像燎原之火:最初是一些组织试探性地使用了这类技术,并获得了不俗的效果.现在,他们开始加大力度,部署更多移动解决方案,而移动开发者也在纷纷迎合这种趋势.与消费者不同,企业在采用新技术时更加谨慎.智能手机和云计算需要花费数月甚至数年时间才会整合到企业内部.通常会首先从一个部门开始(例如销售.会计或IT部门),然后再逐渐扩大

LinkedIn领英发布《2016中国人才趋势报告》

2016年7月12日,职场社交平台LinkedIn(领英)在北京举行了"引领创时代"2016领英ConnectIn峰会,并在会上发布了<2016中国人才趋势报告>.大会邀请到来自埃森哲.滴滴出行.中外运-敦豪国际航空快件有限公司.中国国际航空股份有限公司及新奥集团的业务及人力资源高管发表演讲,同时还吸引了200多位来自国内不同领域的企业HR代表来到现场,与领英共同探讨人力资本创时代的机遇与挑战. 如今,"供给侧结构性改革"已成为中国产经语境中最热的词汇,

基于J2EE架构的企业应用开发新思维:Web企业开发困境原因分析

从总体上来说,构成目前J2EE 企业开发效率低下的原因有这么几个:分工过细,技术路线多头并进,客户无法参与,开发的复杂度太高.这几个方面的因素之间互为因果,相互作用,最后把整个开发过程拖入泥沼之中.下面详细论述. 5.1分工过细 J2EE的整个理论体系,来自IBM这样的商业化巨头,因此他们提出的技术架构,整体上遵循的原则,就是强化分工,强化分层.把原本是属于一个整体的应用系统,生生切分成用户界面层,应用逻辑层,数据访问层,数据存储层多个不同层次,并且在每个不同层次上再进行不断细化,将分工的特性发

企业开发无从下手-企业开发的问题完全无从下手啊

问题描述 企业开发的问题完全无从下手啊 下个礼拜就要开发项目了 要我单独负责一个模块 之前没有一个人搞过一个模块 不知道怎么下手啊 还有对他们的环境也不是很熟 之前用的跟他们不一样 需求知道 就是不知如何写代码. 我要写的是产线理赔新系统的权限控制 根据保险公司查省市信息以及机构信息 完全一片空白啊 求高人指点啊.