VisionMobile在2015.7发表了Developer Economics: State of The Developer Nation Q3 2015。下面是该报告的译文。

5、每朵云都有亮点,但它们并非都是光明

公有云可能是未来发展的方向,但就开发者所关心而言它们仍非目前的方式。

几乎一半的开发者将应用托管在私有云,远离媒体头条的公共设施。即使是Amazon Web Services,迄今最大的云,也只被16%的软件开发者作为主要平台,而44%的则喜欢将他们的云安全地放在家里。

并非开发者要回避云计算,它的好处是显而易见的,但其关注总是围绕安全和弹性。在很多情况下,自托管的便利仍超出公有云的优点。云环境可用性也是一个因素,当托管解决方案的优势变得不可抗拒,促使企业在自己基础设施中实现很多云计算的优点,并确保应用是云友好的。

这也意味着未来应用使用云友好的开发语言,但看起来云提供的语言没有其应提供的那么多。所有流行的云服务都支持广泛的语言,因此我们应能看见相对均衡的开发选择,但事实上我们看到不同的用户对特定语言的偏好,显示对特定托管的显著偏好。

部分原因可能和历史有关,公司公开支持某种语言或语言风格,会吸引开发者更舒适地选择,但更重要的是云平台所提供的支持。尽管语言可能相同,但不同供应商对这些语言可用API在差异,在某个云上可用功能可能会吸引某种特定语言的用户。

Google的PaaS产品,Google App Engine只支持Java,Pythone,PHP和Go,Java VM支持最新框架,Google提供广泛教程说明如何通过Java获得最好的App Engine。Heroku提供良好的动态扩展服务,适合于脚本语言,如Ruby和JavaScript,因此我们看到这类语言主导了该云并不奇怪。

开发者并非总在云供应商的选择上有话语权,之前合作关系和价格是重要动力,但很清楚他们正在推动雇员使用适合他们开发语言和风格的云提供者。

云计算从内部开始

Amazon是迄今最大的云服务提供商,建立在他们自己的基础设施上,这个前书店现在代表了超过一半的云行业,但是尽管有如此优势(包括SaaS,PaaS和IaaS),我们看到只有16%的开发者使用Amazon作为他们首要的云部署平台。几乎1/3的在使用Amazon的某些能力,但就开发者喜好而言,Amazon只是比微软Azure流行多一些。

这个异常可以通过Amazon的最大云服务客户来解释。非常流行的Netfix服务是部署在Amazon的云,它给全世界5亿用户提供视频流。Amazon即时视频是Netflix的竞争对手,集成了Amazon的云驱动来使用户存储(和流)他们的视频,同样令数据繁荣,而流行的互联网服务如Pintrest和Yelp进一步巩固Amazon的优势。

Amazon或许主导了公有云行业,但对于云开发者,最流行的部署方式是保持在内部。

有超过一半的云开发者使用私有云,自托管云有很多好处,无需放弃控制权,尽管有过多的公有选项可用。几乎一半(44%)的开发者说他们主要开发平台是他们自己的云,因为企业对放入公有云的步伐非常谨慎。

公有云本质上更有效率。集中电源管理,物理安全,和基础设施冗余,如处理,存储和网络,的优势使得云提供商可以承诺空前的正常运行时间,但这些优势对企业仍是太飘渺,更熟悉的是购买盒子和运行服务器群。

当硬件是自己的,集成原有的系统会更为容易。本地数据库和控制系统可能会有专有接口,只能在局域网内访问,或者通过proxy,这可能使开发变得复杂并增加一个错误点。

随着时间推移,我们预期会看到更多开发者以公有云平台为目标,对安全的关注会减退,传统系统得到更新,云计算的弹性有更多机会证明自己。公司本地部署云应用将移到公有云,不会有太大的振荡,这依赖于开发环境的选择和最终部署的选择。

Amazon云提供所有语言

并不太令人惊讶,Amazon's Web Services提供最丰富的语言,作为最大的云服务提供商,公司选择可能更多考虑口碑而非语言的支持。Amazon经常将自己描述为与语言(和平台)无关,它当然提供了广泛支持,看起来不会抵触任何特定平台或者商务模式。

Java是最流行的语言,紧接着是PHP,但即便这俩也没有显著优势。其他的云平台可以说有一种或两种主导语言,很多不太流行的替代者的使用率非常低,但Amazon用户显然不是基于语言支持来选择平台,因此有各种各类的开发。

因此,Amazon的使用数据很好地反映了云开发者使用的语言,而不只是那些喜欢Amazon的开发者。

微软云吸引微软开发者

和Amazon形成鲜明对比的是我们看到有超过一半使用微软Azure的采用C#编程。C#是微软在世纪更替时开发,并有公司公开声明支持。它设计成为跨平台,其语言的伸缩性可用于嵌入式和服务部署,C#在云开发流行,尽管很少有人会认为它会如微软Azure所声称那样代表半个行业。

微软一直很善于吸引开发者,至少在桌面和服务器平台如此。这部分是因为公司的历史,建立在开放创新(通过MS-DOS)便利的前提,但微软也在投资培养开发工具和支撑系统,保证其让开发者满意的声誉。C#提供最现代开发环境,通过关联到Azure云,微软能(再次)利用其某领域的市场地位来在另一个获得令人羡慕市场的位置。

Azure用户没有被强制使用C#,作为主要的Windows平台,云服务提供了非常广泛的开发选择,因此C#开发者超过一半的Azure用户基数的事实证明微软策略有多么地成功。

Heroku-匆匆挖掘开发者的小众开拓

Heroku是另一语言专家支持云服务的例子。2011年Ruby编程语言的首席设计者加入Heroku,成为公司的首席架构师。这给公司的最高层带来了大量的Ruby知识,但也同样给Heroku架构带来了Ruby背后的哲学,由此吸引了大批的Ruby开发者。

Ruby现在是Heroku上最流行的语言,尽管JavaScript紧随其后。两者加起来差不多占了部署在Heroku的开发人员的2/3,它也是为唯一的平台没有显著的C/C++开发者。

为服务使用脚本开发者的需求,Heroku开发了API,允许高级别呼叫的动态弹性。这可能对底层语言如C带来麻烦,但允许脚本语言执行具有非常大的灵活性。

Heroku提供了一个显著的例子显示云主机如何通过服务变形提供增值,来适应某特定开发者群体。不仅创造了吸引那些工作在特定语言开发者的平台,而且令他们没有勇气迁移到没有这些功能的平台。

 

相关链接:我的产业生态链和杂谈文章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐