技术开发 频道

2016年软件开发领域的5大转变

  【IT168 评论】软件开发一直是一个充满各种变数的领域,想要在这一领域占得鳌头,必须要有一定的预见性,不是早一步也不是晚一步,而是刚好踩在变革的时间点上。就拿AR来举例,如果你在2015年开始做AR App,那么你将不会成功,另一方面,如果你在《精灵宝可梦GO》之后,仍然不能看到AR的发展趋势,那么你就失去了一次成功的机会。下面,我们就一同回顾一下2016年,软件开发领域有哪些变化吧。

  1.应用性能和业务性能联系在一起

  在过去十年中,应用程序性能管理(APM)已经发展得非常成熟。2010年,Gartne针对应用性能领域定义了5个功能维度:

  ·真实用户体验管理

  ·应用拓扑的发现与可视化

  ·用户自定义业务分析

  ·应用组件深度监控

  ·IT 运营分析

  一般来说,管理层都会比较关心平均解决时间(MTTR),他们希望能够应用时间的缩短来减少业务的平均时间,如AppDynamics这样的工具,不仅能够按照优先级安排团队事务,还可以自动关联特定的性能数据和业务目标,从而实时洞察客户体验。

  在技术和金融的交叉点上,CIO已经成为所有关键数据分析的基石,很多CIO表示,如今APM应用的正确选用能够有效降低业务的平均时间,同时也有助于技术种类和优先级的选择。

  2.以微服务角度审视应用团队

  软件和设计团队的组织结构是相辅相成的,如果开发方法已经从瀑布式转变为敏捷开发,那么开发团队也需要重组,微服务模型不仅适用于软件,同样也适用于开发团队。

  之前,应用程序开发人员团队总是分工合作来完成一个项目,如我们常见的子程序或软件集成,但是2016年开始出现了变化,现在的软件工程团队更像是一个独立的业务部门,像谷歌和亚马逊这样的公司已经开始应用微服务模型, Google的应用团队中有一个很关键的角色,网站可靠性工程师(SRE),这个职业远离底层硬件,更靠近软件基础架构层面,帮助企业客户打造强大的软件基础构架。Google Ben Treynor表示:大家都比较厌倦自己亲自动手去完成任务,如果建立这样一个团队之后就可以通过写软件来取代此前需要人工完成的事情。

2016年软件开发领域的5大转变

  希望2017年,这种模式能够被更多的行业应用,未来我们可能会看到更多的团队,他们拥有自己的开发人员,部署模型,性能工程师,业务分析师和产品管理团队,就像是公司内的微型公司一样,可以作为一个独立的部门负责创新,执行,部署,应用程序性能监控和业务绩效监控。

  目前,这种微服务团队的结构还在实验期间,所以也面临着一些挑战:

  业务优先级:假设微服务目标是团队当前的首要目标,但是它和公司的整体战略有些微相悖,如何调整它们之间的关系就成为了关键。

  微服务的通信:API和微服务功能的连接存在一些裂缝,这是团队的当务之急,从应用程序主要功能上附加和分离微服务说起来容易,但做起来难。

  个人能力与团队凝聚力:许多开发人员都有自己的开发习惯和擅长的技术,如何将他们的长处和团队结构更紧密的结合起来是我们需要思考的一个问题。

  微服务团体必须要有一个领导者,这样应用团队之间的沟通协作才能进行下去,否则很可能会成为一盘散沙。

  3.微服务,容器和DevOps

  软件开发最大规模的转变之一是与网络泡沫同时发生的,从裸机上的单片应用程序转变到填充虚拟机的分布式应用程序,当然这一转变也是基于网络基础设施可靠性的提高。即使这一时期软件开发发生了很大的转变,但它仍然是老式的制造模式的思想,编码、测试、生产、维护。

  之后,敏捷开发的方法成功点燃了初创公司的星星之火,为初创公司的发展迎来了无限生机。敏捷开发的价值观是:个人与交互重于开发过程与工具;可用的软件重于复杂的文档;寻求客户的合作重于对合同的谈判;对变化的响应重于始终遵循固定的计划。

  现在,我们又从敏捷开发走向了另一个转变DevOps。DevOps的功能开发和应用程序性能监控必须同时发生,企业软件开发采用大量的微服务、API和容器。

  敏捷开发对开发团队来时是一个强大的框架,但敏捷无法完美的达到软件性能并满足客户期望。另外,开发人员和测试人员在业务方面会投入更多的精力,这样很容易发生一些问题,一旦功能和安全发生冲突,那么解决起来会非常棘手。

  4.Scale as a Service

  人员配置也是初创公司经常面临的问题,很早之前,布鲁克斯定律就提示我们:为一个延误的IT项目增加人员,将导致更多的延误。虽然,这一定律存在一些争议,但是它也给我们提了一个醒,那就是在企业应用程序开发的过程中添加警告。

  2017年,类似Elasticsearch这样的技术支持服务提供商将迎来发展的黄金时期,它们可以帮助企业保证应用程序规模不至于爆炸。为了帮助企业做好扩展,大多数提供商会在六个云上运行软件,其中三个用于应用程序运行,另外三个用于创新下一级的服务和功能。

  扩展包括很多方面,如更大的节点和更多的节点,所以扩展必须以公司为单位,这样供应商才能更好地对安全性,稳定性,性能和成本等多个方面进行评估。

  现在整个市场是动荡,并且在可预见的未来也将是动荡的,所以快速扩展的能力是企业最重要的生存技能。

  5.远程工作和众包

  过去,远程工作只是地理上的延伸,团队可能只是分隔在两栋建筑里,但是现在可能会分隔多个时区,这一变化给企业带来的最大的转变是要从之前面对面的沟通转变为协作沟通。在大多数情况下,应用程序性能监控(APM)和 Business iQ平台作为协作引擎,然后通过类似Skype、Slack的语音/视频/聊天软件来进行沟通。

  众包这个概念在2016年再次火了起来,业界普遍认为,众包模式可以最大限度利用大众力量,以更高的效率、更低的成本满足生产及生活服务需求,促进生产方式变革,开拓集智创新、便捷创业、灵活就业的新途径。主管人员仍然是设置期望和管理例程,但与之前不同的是现在编码器的事务大多是自动化。

  Elastic.co公司就是一个很好的例子,开源分布式搜索平台ELK(Elasticsearch,Logstash和Kibana)已经积累了足够的贡献者,可以在日志分析市场与Splunk一较高下。Flexjobs列出了今年虚拟公司共有125家,但是去年仅有76家,而2014年只有26家。

0
相关文章