[关闭]
@zmycoco 2017-03-21T14:31:52.000000Z 字数 2347 阅读 852

华为在线开发云平台

传统开发模式的困境

随着市场机遇的不断扩大,企业业务需求远远超过研发能力,或者说业务需求落地的速度超过研发所能承受的工作量,尝试通过扩充研发人员的方式加快产品落地速度,但是人员增多并不意味着开发时间的缩短。另外,由于发布的产品越来越多,需要测试的产品也相应越来越多,如何满足海量的开发测试需求,如何实现产品的快速迭代、快速发布,正在成为企业越来越强烈的诉求。传统开发模式主要存在以下几点问题:

  1. 开发工具不统一、安装耗时:传统开发模式下,以Java为例,一般人都是用Eclipse或者MyEclipse这样的IDE工具,这类工具通过自带的各种插件,能够完成开发工具与执行环境的结合,但是如何保证你的插件一定能起作用,如果遇到问题怎么解决,这样的问题往往导致一个开发人员一整天都在搭建开发环境。
  2. 没有统一的开发、测试平台:无论是开发环境(Dev),还是集成环境(Staging),亦或是生产环境(Production),都需要能够快速部署环境。传统开发模式很容易出现的问题是需要花费大量时间统一各个环境的差异点。差异点包括基础环境差异和开发程序环境差异,基础环境差异指的是安装测试程序之前整个环境情况不明确,可能出现操作系统版本不一致、开发依赖库版本不一致(例如JDK版本),也可能会出现一个环境运行不了程序,但是又找不出原因这类情况。而对于开发程序环境差异,传统开发模式多使用脚本方式执行安装、部署过程,但是脚本的维护本身就是一个问题。
  3. 项目管理流程无法快速执行:无论传统开发模式,还是迭代开发模式,亦或是基于云端的开发模式,都需要严格执行项目质量管理流程,即需要对代码进行审核、单元测试、集成测试、系统测试,然后才能进行产品发布、上线,这一整套流程,在传统开发模式下,首先需要提交代码到SVN这样的代码资源库软件,然后由Leader进行代码审核,再开始个人开发环境上的单元测试,即便单元测试、集成测试通过,也未必意味着部署到测试环境一定没有问题,一整条线上有太多的不可控因素,任何一点都可以拖慢开发团队的迭代速度。而代码审核、分析,多依靠人工进行,无法进行真正的智能分析。
  4. 无法并行、协同开发:传统开发模式下,我们需要将代码提交到SVN,如果出现了代码冲突,还需要手动逐行校对,如果开发人员遍布全球,存在时差,那开发进度就会延期,这种方式下确实很难做到并行、协同开发。

DevOps的出现

DevOps就是想方设法的避免开发与交付的冲突,同时让大家用更聪明更有效的方式去工作。它是一种框架,包含了很多优秀想法和原则,它鼓励开发部门和运维部门通力合作。在DevOps环境中,开发人员和系统管理员会构建一些关系、流程和工具,从而更好的与客户互动,最终提供更好的服务。

相对于瀑布开发模式,敏捷开发过程的一个基本原则就是以更快的频率交付最小化可用的软件。在敏捷的目标里,最明显的是在每个Sprint的迭代周期末尾,都具备可以交付的功能。DevOps和敏捷软件开发是相辅相成的,因为它拓展和完善了持续集成和发布流程,因此可以确保代码是生产上可用,并且确实能给客户带来价值。

真正想要实现DevOps,需要开发平台提供能力,促进软件开发向前发展和提升,而不仅仅是拥有思维。效率的本质是聚焦创造性工作,即解放双手、唤醒大脑。

DevOps的出现是为了解决传统开发模式内部存在的问题,以及与部署、运维之间存在的衔接问题,而为了解决这些问题,我们需要能够支持协调开发、快速部署的平台,通过该平台的帮助,最好是基于云端平台的帮助,让我们的产品开发真正跳跃起来,让我们的产品落地能够尽可能地快速、平稳。

华为在线开发云平台--DevOps最佳实践

华为提出数字化华为的方向和目标,实现代码上云、作业上云,让开发只做开发。实现千万行代码级产品,版本迭代周期从8周缩短到3周。即开即用的一站式软件开发云平台为我们提供了如下功能:

  1. 代码检查:传统单机开发模式下我们也可以通过一些工具的帮助,完成代码静态检查(静态代码检查是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动态测试用例的参考。)通过使用华为软件开发云平台,可以在线进行多种语言的代码静态检查、代码安全检查、质量评分、代码缺陷改进趋势分析,辅助用户管控代码质量。

    通过使用华为开发云平台,支持以下功能:

    • 提供典型检查规则集,支持web检查、安全检查、架构检查、编码问题检查等场景。支持Java、JavaScript、CSS、HTML、JSP、C++、C#、Python等语言检查,持续增加语言支持广度。
    • 精确定位缺陷,针对每个代码缺陷,提供详细的缺陷影响说明、正确示例、错误示例、修改建议。
    • 如果系统的检查不满足需求,SE可通过定制规则集来实现定制检查。
    • 针对大量代码缺陷,用户可根据问题级别、问题分类、语言、文件目录等进行过滤,分级处理。
    • 缺陷模式匹配,实现从代码分析历史中提取缺陷模式,构筑代码缺陷模式库,执行代码分析任务时,利用机器学习算法将待分析代码与代码缺陷模式库进行模式匹配,从而快速精确定位软件代码问题,并提供有效的修复建议。代码缺陷模式库融合华为优秀代码实践与编程规范,覆盖常见的编码风格、架构、Web安全、多线程安全、性能等方面的问题。
  2. 一键部署:针对原有环境部署困难,华为云平台提供一键式完成代码下载/代码检查/编译构建/系统部署/功能测试到产品发布整个交付流程。
    华为致力于更高效的云开发平台,对于一切可以解放双手的任务都由工具自动化实现。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注