提高软件开发效率和质量, 降低软件开发运营成本, 是提升软件创造力和产业竞争力的关键。云无疑是一种高效的方式。随着企业上云越发普及,软件开发也在加速向云端迁移。
软件开发模式正由早期的瀑布式流程向敏捷性开发模式转变,并开始向下游延伸至IT运营领域,出现DevOps开发与运维相结合的模式。
现在,软件开发过程也被搬上云端,从受限于开发环境、地点到现在开发者可轻资产运行,基于云端进行开发,无痛协作、专注创新,软件开发云的需求急剧攀升。
实际上,传统软件开发模式确实存在流程繁琐复杂、部署维护低效、团队协作壁垒等诸多问题,制约了软件交付的效率和质量。
例如,传统软件交付的是软件包,首先,开发周期?L,大部分软件产品发布周期都在半年以上;其次,交付成本高,传统软件从代码提交到成功部署,通过至少需要1~6个月时间,而复杂大型代码部署至生产环境,也给系统整合、运维带来巨大挑战,如兼容性问题,而且复杂的调试过程往往会导致开发与运维的相互指责。
软件开发时如果在测试中发现问题,开发者须找出根源并修复这些问题。在某些情况下,特别是涉及非功能特性如安全、性能、可用性等方面的缺陷,可能需要做出架构上的调整,付出巨大代价。此外,国际化、跨地域团队沟通协作多,项目可见性、同步性要求高,新技术、新语言学习曲线长,也会使得工具部署和维护低效、复杂。
这些问题带来较大不可预期性,往往容易导致软件交付延期。
相比传统模式,采用DevOps开发的高效能IT企业产品发布频率则更为领先。Puppet调查数据显示,采用DevOps开发的企业产品发布次数是传统企业的200倍,交付时间缩短2555倍,故障恢复时间缩短24倍,变更失败率降低3倍,计划外工作比传统企业少了22%,而投入在创新上的时间比后者多了29%。这份数据在突显DevOps价值的同时,传统软件开发模式的低效也被揭露得淋漓尽致。
因此,解决传统开发模式遇到的一系列问题,向DevOps、敏捷、精益等软件模式转型,提升企业IT部门的总体运作效率,快速响应用户需求,提升竞争力,成为当前大多数企业最为迫切的需求。
但DevOps虽好,落地并不容易,尤其离不开相应工具平台的支撑。目前,网上DevOps工具很多,但大多分散单一,缺乏统一的一站式解决方案。由于大型企业往往都有自己的工具研发部门,专门提供DevOps工具。因此,对大多数中小企业而言,他们对轻量化、服务化、社交化、智能化的一站式开发平台的需求更为迫切。
目前,云厂商已经开始提供相关工具集,以AWS开发工具集、华为软件开发云(DevCloud)、微软VSTS(Visual Studio Team Services)、IBM Bluemix、百度效率云等为代表的一系列平台也为企业践行DevOps开发模式提供了更多选择。例如华为软件开发云,它是一款轻量级DevOps工具,面向中小企业、初创公司、个人开发者提供包括项目管理、配置管理、代码检查、编译构建、测试、部署、发布等端到端地覆盖软件生命周期的相关服务,采用按需计费。
这一新型软件生产工具与平台因为着力构建生产配套、产业协同、共生共荣的产业生态系统,正成为软件产业提质增效的重要基础和方式。
当然,软件企业向DevOps转型并非一蹴而就。除了技术革新之外,改造流程、重组团队,也需配套同步。但软件开发平台的价值在于企业可释放开发、运维压力,将更多经历聚焦到自身擅长的商业创新上。