关闭

深度剖析:最新云端开发工具如何实现敏捷+DevOps开发落地

标签: 软件开发工具云平台DevOps敏捷云计算
168人阅读 评论(0) 收藏 举报
相信很多软件开发人员们对今年国内新兴的云端开发工具——华为软件开发云都有耳闻,有些人可能还免费体验过,由于它5人以下的团队是免费使用的,很庆幸本人的这个项目正好5个人,就注册使用了。下面就自己的使用心得,为大家深度剖析下这个最新的云端开发工具是“怎样实现敏捷+DevOps开发落地的”。

云端开发感触:开发者专注做开发,云平台自动化处理传统四大问题,效率显著提高
开发人员可只关注代码的编写,传统开发中遇到的“开发工具统一、环境部署、项目管理、并行协同开发“四大问题,云平台可以直接处理掉,不用再耗费人力逐一手动处理琐碎的代码之外的工作,大大提高了项目的开发效率。

我之前项目开发中一亿行的代码采用传统模式的话,编译时间超过25分钟的,采用华为软件开发云平台,编译时间只用了7分钟;而版本的编译速度从94分钟减少到了31分钟;研发环境的准备时间由月级降低到了小时级。

  • 缺陷自动检查:代码缺陷模式库融合华为优秀代码实践与编程规范与业界通用的检查规则,覆盖常见的编码风格、架构、Web安全等方面的问题。
  • 大规模分布式任务调度:基于并行智能任务调度算法,对检查节点进行自动弹性伸缩,检查任务根据检查规则类型智能分片和并行执行,支持大规模代码仓库的代码检查。

该技术支撑下的开发优势:
  • 支持Java、JavaScript、CSS、HTML、C++等语言检查,持续增加语言支持广度。
  • 精确定位缺陷,针对每个代码缺陷,提供详细的缺陷影响说明、正确示例、错误示例、修改建议。
  • 如果系统的检查不满足需求,SE可通过定制规则集来实现挑选规则集;
  • 针对大量代码缺陷,用户可根据问题级别、问题分类、语言、文件目录等进行过滤,分级处理。


  • 并行智能任务调度:实现智能任务调度算法,用户根据任务特点自行编排并行/串行任务,系统感知执行器状态和健康度,动态分配执行器的任务,故障节点任务实现自动转移和熔断,结合资源弹性伸缩策略,实现调度器和执行器高可用和水平扩展。
  • 资源弹性伸缩:使用华为企业云弹性伸缩服务,感知到业务集群资源使用情况,资源利用率超过阀值时,动态扩容;反之,自动缩容。流水线根据不同业务类型,配置不同的弹性伸缩策略和资源弹性伸缩组,从而实现短时间内迅速提升流水线总体吞吐量。
  • 编译构建并行技术:通过使用精准增量编译技术,结合并行智能任务调度,可实现按技术栈、目录等编译策略增量并行编译,加速编译构建的速度,大幅降低编译构建等待时间。
该技术支撑下的开发优势:
  • 对于一切可以解放双手的任务都由工具自动化实现。
  • 一键式完成代码下载/代码检查/编译构建/系统部署/产品发布整个交付流程.。
  • 任务并行执行,按需动态分配资源,显著提升资源利用效率及执行效率。
  • 可实现单模块或者单独子系统的个人级交付,也可实现多模块、多子系统的版本级交付可随时查看流水线执行进度/结果/报告/日志。


  • 部署编排技术
提供一定的服务编排能力,在 playbooks 中可以编排有序的执行过程,甚至于做到在多组机器间,来回有序的执行特别指定的步骤。并且可以同步或异步的发起任务。
用流水线同时集成编译构建、代码检查、部署,从代码提交开始触发操作,完成整个DevOps的自动化流程。流水线支持编排部署任务之间的依赖和顺序,通过串行任务和并行任务以及子流水线来组合、调度各个任务,从而实现高效部署。

  • 大规模部署技术
Ansible本身就支持多并发部署,缺省的并发任务数是5.  但是DevCloud的部署采用python API实现,我们封装了python的任务以多线程方式运行;同时采用了gunicorn框架提供多进程复用技术,以最大限度的利用Ansibe引擎的并行部署能力;对于超过200以上并发的大规模部署,我们会采用横向扩展即增加AnsibleRest的节点数来支持更多的并发部署; 此外,我们还提供部署任务排队机制来保障峰值任务时系统仍然能够正常运行。
该技术支撑下的开发优势:
  • 一键式自动化部署,部署机器无需安装代理,过程可视化,支持主流编程语言和技术框架,支持并行部署和流水线无缝集成
  • 支持Web应用程序和微服务的部署,支持Tomcat、Java、Python、NodeJS、Go、PHP、Ruby语言。
  • 通过流水线定制交付流程,支持并行和串行任务,系统自动执行所有任务,并可查看所有任务的执行状态、日志及报告。
  • 提供高级编辑功能,满足用户更改部署参数和自定义执行参数以在部署任务执行时动态输入执行参数。


业内分析:
正所谓英雄所见略同,业界也有很多DevOps方案和实践经验,比如微软公司Visual Studio + Team Foundation Server方案、AWS和Google基于云的DevOps模块化组件、其他公司自研搭建的DevOps链。
华为推出的DevCloud的侧重点是一站式的解决方案,用于帮助企业在软件开发的过程中提升效率和质量。DevCloud的中文名称为“华为软件开发云”,即面向的目标群体是团队规模在10-50人的中小团队,如中小企业的软件开发者、众包开发团队、个人开发者、高校软件/计算机类的大学生。

0
0
查看评论

当今主流敏捷软件开发工具PK,哪个更好用?

面对严酷的小团队、新团队技术创业现实,在开发人员素质参差不齐的情况下,必须依靠工具辅助开发全流程,补齐创业团队短板,提高研发竞争力。对比大企业的自有自研工具,中小企业多靠第三方工具实现,我们比较了ThoughtWorks、Teambition、Trello、Slack、DevCloud主流敏捷软件开...
  • devopscsdn
  • devopscsdn
  • 2017-12-04 13:46
  • 284

敏捷和精益的升华 - DevOps

DevOps,从2009年的提出,到现在相关的各种工具集和服务的涌现,其方法理念、支撑工具以及业界经验都在不断的完善和日趋成熟。那应该如何全面的理解DevOps呢?我们可以根据why-what-how的原则来逐项叙述。 Why - 为什么要关心DevOps,DevOps能解决什么问题 到今天为止...
  • wanyuxiang
  • wanyuxiang
  • 2015-05-07 10:57
  • 1361

敏捷和DevOps词汇表

本词汇表是旨在说明敏捷与DevOps中各种术语。 由于敏捷与DevOps存在紧密的联系,在讲述DevOps时需要引用到大量的来自敏捷的词汇,因此本文试图做些整理 词汇名称 对应英文 说明 重构 Refactor 指保持某个对象的外在行为不变,优化其内部结构。代码重构是重构的一...
  • zhangmike
  • zhangmike
  • 2016-11-23 22:39
  • 2553

DevOps落地实践:普元:PRIMETON DEVOPS

普元发布了PRIMETON DEVOPS的5.0版本,其愿景定位为”打造新一代软件生产线, 快速提升IT运营质量与效率”。结合普元官方提供的资料,我们来围观一下其围绕DevOps的打法与路线。
  • liumiaocn
  • liumiaocn
  • 2017-09-07 20:27
  • 879

DevOps落地三部曲:如何归责?用啥工具?往哪里去?

(获取任发科演讲完整PPT,请看完本文章底部信息) 讲师介绍 任发科,网名常新居士,曾任职唯品会、会唐网、亚马逊、ThoughtWorks,有十余年软件开发、架构和管理经验。曾参与多个电商相关系统的研发工作,近年主要关注DevOps工具链的设计与实现,以及高效研发...
  • English0523
  • English0523
  • 2017-12-13 13:38
  • 592

DevOps落地问题

1、业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验。K歌亭在客户端有VOD、微信和Web共三个交互入口,业务复杂度较高,如长连接池服务、用户系统服务、商户系统、增量更新服务、ERP等。对于服务端的稳定性要求也很...
  • xiangxizhishi
  • xiangxizhishi
  • 2017-09-02 14:10
  • 188

论敏捷开发的优缺点

踏入软件开发行列时间不算短了,也使用过很多项目管理软件和方法,但是在使用过程中多多少少都会遇到一些问题吧,同行们或多或少也会有相应的体验。近期试用了一下华为最新推出的项目管理工具-华为软件开发云,接触了敏捷开发,产生一些想法。以下是使用体验,仅供同行们参考。 一、敏捷开发技术的几个特点和优...
  • devopscsdn
  • devopscsdn
  • 2017-06-20 14:39
  • 1294

品(AngularJS深度剖析与最佳实践)一书的体会

最近在AngularJS中文社区群中群主等三人的书出版了。于是我也抱着跟其他成员一样的思想:‘这可是大神写的书,而且从书的目录也看出这书是值得一看’。在京东买了本,呵呵!在这里说个实话我基本都不买书的。最近做项目也是用angular开发,之前关于angular方面的知识都是百度各种查,群里各种问。偶...
  • u012138137
  • u012138137
  • 2016-01-27 15:21
  • 2445

DevOps和容器:本地or云端,如何选择?

本地or云端的争论由来已久,Docker和DevOps的兴起更是将这场辩论引入一个新的层面。对于采用容器的企业而言,在本地or在云端,这二者各有什么利弊?不同类型与规模的企业,在做出选择时各应该考虑哪些不同的因素?
  • RancherLabs
  • RancherLabs
  • 2017-03-24 10:22
  • 500

《Web安全深度剖析》笔记(一)

第一章。Web安全简介 C段渗透:攻击者通过渗透同一网段内的一台主机对目标主机进行ARP等手段的渗透   第二章深入HTTP请求流求 HTTP请求方法 GET请求时,、若请求资源为动态文本(非HTML),那么返回文本是WEB容器解析后的源代码,而不是源文件   HE...
  • yalecaltech
  • yalecaltech
  • 2017-04-07 23:49
  • 831
    个人资料
    • 访问:39659次
    • 积分:1200
    • 等级:
    • 排名:千里之外
    • 原创:83篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条