文/老鱼
如今,企业上云使用云已是常态。数据显示,云将是软件的普遍承载方式,到2025年80%的企业应用将运行在云中。不仅应用在云上,开发也在向云端迁移。
随着云计算和容器等新技术不断发展,软件开发的生产模式发生了极大的变革。互联网的迅速崛起,敏捷开发开始进入软件产业,软件开发模式已经由瀑布式流程向敏捷性开发模式转变。在此之后,上述改进机制开始向下游延伸至IT运营领域,又出现了DevOps开发与运维相结合的模式。
而现在,软件开发过程也被搬上云端,从原始的开发环境、地点都受到严格限制,到现在只要有网络,就可以在任何时间、任何地点完成开发过程,开发者可以轻资产运行,又可以无痛协作,专注创新和完善产品。因此越来越多的开发者开始转移到云端进行开发,软件开发云的需求急剧攀升。
传统软件开发模式之痛
传统软件开发模式流程繁琐复杂,部署维护低效,团队协作壁垒等问题严重制约了软件交付的效率和质量。
众所周知,传统软件交付的是软件包,开发周期长,产品发布周期在半年以上的比比皆是,比如银行。其次,交付成本高,传统软件从代码提交到成功部署,通常至少需要1-6个月时间,将复杂大型代码部署到生产环境,给系统整合与运维都带来了巨大挑战,如兼容性问题,而且复杂的调试常招致开发运维相互指责。
如果测试中发现问题。开发者必须找出根源并修复这些问题。在某些情况下,特别是涉及非功能特性如安全、性能、可用性等方面的缺陷,可能需要做出架构上的调整,付出巨大代价。整合、测试、缺陷修补等活动天然具有较大不可预期性,还容易导致交付延期。
此外,国际化、跨地域团队沟通协作多,项目可见性、同步性要求高,新技术、新语言学习曲线长,也会使得工具部署和维护低效、复杂。
Puppet的调查显示,相比传统开发模式的企业,采用DevOps开发的高效能IT企业产品发布频率大幅领先,单位时间段内,发布次数是传统企业的200倍,交付时间缩短2555倍,故障恢复时间缩短24倍,变更失败率降低3倍。计划外工作比传统企业少了22%,而投入在创新上的时间比后者多了29%。这份数据在突显DevOps价值的同时,传统软件开发模式的低效也揭露的淋淋尽致。
因此,解决传统开发模式遇到的一系列问题,向DevOps、敏捷、精益等软件模式转型,提升企业IT部门的总体运作效率,快速响应用户需求,提升竞争力,成为当前大多数企业最为迫切的需求。
DevOps一站式工具平台的选择
DevOps在国内认同度和关注度持续上升,变得越来越流行。因此,成为了不少企业解决传统开发模式问题的优先选择之一。不过DevOps虽好,但落地并不容易,尤其离不开相应工具平台的支撑,毕竟工欲善其事必先利其器。
目前,网上DevOps工具非常多,有偏项目管理的,有偏代码托管检查的,也有自动部署的,监控分析的等等,大都比较分散单一,缺乏统一的一站式解决方案。而对大多数中小企业而言,恰恰需要的就是轻量化、服务化、社交化、智能化的一站式开发平台,轻资产运行,又可以无痛协作,从而专注于核心业务创新。为什么这里说是中小企业而非大企业,因为大企业都有自己的工具研发部门,专门提供DevOps工具。
好在现在国内外一些云厂商已经开始提供这类的工具集。如AWS开发工具集、华为软件开发云(DevCloud)、微软VSTS(Visual Studio Team Services)、IBM Bluemix、百度效率云等。
让企业在践行DevOps开发模式缩短开发周期,提升开发质量时有了更多一站式DevOps开发云台的选择。例如华为软件开发云,它是一款轻量级的DevOps工具,面向中小企业、初创公司、个人开发者提供包括项目管理、配置管理、代码检查、编译构建、测试、部署、发布等端到端地覆盖软件生命周期的相关服务,采用按需计费。从了解到的1个实际案例看,某项目和软件开发云合作后,项目的版本交付周期由以前的3个月缩短到1周,构建由之前的2个小时缩短至10分钟,效果明显。
小结
软件企业向DevOps转型并非一蹴而就,成为一个敏捷的软件驱动型企业需要一套全新的工具集,然而只有新技术是不够的,改造流程以加快速度才是重中之重,同样重要的还有围绕这一目标重组新的角色和团队,这个过程可能是漫长的、持久的,但也是必须的!
而对DevOps有想法的企业,多半都是业务发展还不错,但在开发和运维上都比较大的压力的企业,那么,华为软件开发云或许是一个不错的选择。