当前位置: 首页 > 科技观察

微服务时代如何看华为软件开发云实现DevOps

时间:2023-03-23 10:10:20 科技观察

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