【原创稿件】 云计算改变了服务构建和交付的模式,从最初饱受争议到万千宠爱,扮演着越来越重要的角色,为业务创新和价值交付奠定了基础。
以此同时,在软件行业中,随着移动、社交、大数据、IoT、人工智能等众多新技术的快速发展,颠覆式创新和跨界竞争加剧,企业急需快速而且持续的创新能力,传统研发能力越来越难于满足新型研发的要求,软件生产力正在6个方面发生巨大变革:
·研发场景
据业界预测,到2025年,80%企业应用将运行在云中,100%应用将在云中开发,软件的开发、测试、部署、运维都在云中进行。研发工具本身将服务化、云化,并将和企业云平台进行集成,简化软件部署、发布和运维。
·编程语言
Go、Scala、R、Node.js、Python等新型编程语言不断涌现,新型编程语言需要新型研发工具提供更加友好的支撑(编码调试、代码静态分析、多语言并行构建、部署)。
·软件架构
基于容器的微服务化架构、Cloud Native云原生应用代表着分布式软件架构的演讲方向,这对软件研发提出了新的要求。
·研发工具
研发工具正向着轻量化、服务化、云化、容器化、社交化、智能化的方向发展。
·研发模式
DevOps成为继敏捷、精益之后被企业广泛接受的新型研发模式,软件服务化、云化对DevOps提出了更加强烈的诉求。
·交付模式
软件交付正在从包交付向着工程化交付转变,随着容器技术的广泛应用,软件交付将逐步标准化,未来交付给客户的可能是很多的容器(Container)或者Docker File。客户只要在自己的云平台上加载即可运行,不需要安装、部署和配置。
华为软件开发云正是在这样的背景下应运而生,并迎合这些发展趋势而设计,加速软件生产力变革,释放软件生产力,致力为企业提供智能高效的研发平台,打造开放的云端研发生态,让企业轻资产运行,专注核心业务创新,为企业提供源源不断的研发动力。
3月22日,华为以“云智软件,众享未来”为主题的软件开发云上线大会在青岛成功举办。记者针对华为软件开发云如何实现DevOps落地的问题专访华为软件开发云产品总监徐峰与华为软件开发云CTO宋勇。
DevOps在云端的特性体现
DevOps实际是促进开发与运维的交流与合作的条件下,以自动化工具与流程为基础,更快速、高效、和稳定的实现环境搭建,应用测试、软件发布的一种文化和趋势。在DevOps管理中,华为软件开发云还原到项目管理的本质,通过提供重点的服务(需求管理和缺陷管理),来体现云端管理的重要特征。
在传统的CMM阶段,项目通过大版本来运作,在传统的模型中,基本是从版本的基线生长出来。徐峰认为,通过规划新的产品特性、研发过程传递。到了敏捷后,项目管理产生新的变化,随着在交付过程中插入需求,项目管理来支持迭代研发的过程。
项目管理产品架构
DevOps是一种典型的敏捷研发过程,在管理过程中始终会采用迭代来管理需求。DevOps的新增能力会随着管控相应的环境资源、部署中产生的需求和任务,不同的研发模式来增强。
因此,华为软件开发云全面承载持续交付和DevOps的先进研发模式,实现开发、测试、运维的跨地域协同和同步迭代,支撑运营数据驱动开发,快速交付,快速反馈;实现开发测试环境、类生产环境、生产环境的一致性,简化并实现软件部署的标准化。
软件开发云的故障保证
软件开发云的设计除了敏捷外,较为看重的安全性和稳定性,华为软件开发云CTO宋勇表示,从技术和管理两个方面,前端机房的规划、选址、设计到云平台的设计开发和部署等等,都需要深思熟虑。比如,华为在这方面考虑AZ的布局以及整个集群的冗余设计机制。像在数据中心的选址过程中,需要考虑当地的供电稳定程度,需要建立全网的监控中心来密切监控运行情况,在管理上,也需要寄哪里一些异常情况下的紧急处理机制等。
一个完整的体系,没有单点的技术或者方案可以解决,需要通过建立完整的保障体系,最大限度的保障云服务的安全稳定运行。
华为多年在服务质量和可靠性、安全性方面投入重金,华为软件开发云研发中同样有非常重要的安全流程,在产品设计之初就有专业技术专家帮助解决安全和可靠性问题。对于各种工具类型以及它所需要的安全研讨在产品的设计阶段就已经融入,并进行过非常多的安全领域测试,对每一块的安全都做了多重保障。在稳定性方面,通过集群的技术和各种备份的能力保障客户数据的稳定和安全。
软件开发云的业务架构
当前,云时代来临,业务敏捷性及可用性成为软件开发行业新的聚焦点。华为软件开发云的发布,给开发者提供了一站式云端 DevOps 平台,未来,开发技术在迅速发展的同时必将带动国内开发环境的日益成熟 ,受益更多企业级客户及开发者群体。
DevOps如何来保障华为技术成为主流
针对主流的研发模式,徐峰认为,对于软件工程领域,没有一样东西可以适应所有,不同的软件形态适用于不同的开发模式。DevOps是云时代产生的主流研发模式,并不适用航天领域。航天系统需采用传统的瀑布模式,反复进行设置和验证。但是随着现在云时代的到来,互联网的业务需要更快适应市场的变化和需求,要更加敏捷才能够更快适应时代的发展。
敏捷实践打破了原有实践。后来发展到持续交付模式,持续交付自动化能力使产品的版本交付时间更短。云时代随着软件形态的变化,服务变得力度更小,微服务模式也因此产生。对小服务的开发、测试、部署和升级,演变成DevOps模式。徐峰认为,对于华为,每一次变化都是紧跟前沿。从最早的CMM软件工程方法,随着进一步相应的需求,后续推动了持续交付的发展,现在随着微服务时代的到来,华为把整个研发流程进一步向后延展后,出现了DevOps,并集成了三十年积累的软件工程的经验,以及先进的工具和实践。
Gartner 技术走向
通过上图,我们能够看出微服务对目前是非常主流的技术,它不仅仅是技术架构,更是一种文化和自改进的交付模式,DevOps就是微服务的基础。所以,在云时代主流的项目管理应该融合敏捷设计理念,其中需要包含以下几个功能:
· 多项目管理
通过关注置顶项目,省却项目查询操作;支持一键切换项目,用户可以从一个项目快速切换至其他项目;涂鸦化项目卡片风格,有效提升项目辨识度。
·敏捷迭代开发
支持敏捷迭代开发,迭代计划和时间线清晰展现项目进展。
·多层次项目看板
提供个人级、项目级看板,直观呈现进展与风险;树表、任务墙视图满足不同用户使用习惯。
·文档管理
提供基于项目/需求的文档管理服务,支持多种类型的文件上传,确保项目经验固化及传承。
·社交化协作
社交化协作,多角色跨地域协同开发效率高。
·多维度统计报表
项目统计报表,企业项目统计报表展现企业级宏观进展;
事务趋势图、完成度、分模块需求等统计报表展现项目级微观进展。
多层次项目看板
最后,徐峰希望把这样的一系列能力进行云化,作为一种服务开放给更多的开发者,同时也提升华为云化的能力,让软件开发变得更加的高效、简单。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为】
欢迎关注公众号: