敏捷开发专家一席谈:云原生技术下的华为云devops实践之路

华为云开发者社区 华为云开发者社区     2023-02-04     121

关键词:

摘要:听华为云DevCloud首席技术布道师徐毅讲述云原生下的DevOps实践。

本文分享自华为云社区《敏捷开发专家一席谈:云原生技术下的华为云DevOps实践之路》,作者:华为云社区精选 。

DevOps最早在2009年被人提出,愿景非常美好,但真正实施起来困难重重。

随着近几年微服务、容器等技术的兴起,使得企业对DevOps的需求更加迫切,实施变得更加容易,DevOps越来越被接受和重视。

同样,为了应对业务的敏捷发布,应用平台的弹性诉求,商业环境的变化,云原生时代已到来,云原生技术已经应用到企业核心业务。

云原生与DevOps是什么关系?其技术优势如何与DevOps结合,才能更加高效便捷的实施呢?云原生时代下,DevOps的落地会遇到哪些困难?华为云是否有一些实践方案去应对?

华为云社区邀请到了华为云DevCloud首席技术布道师徐毅,听他讲述云原生技术下的DevOps实践,深入了解集华为30年研发经验的华为云DevCloud是如何践行DevOps理念的。

从需求侧、平台侧、商业侧等方面来看,云原生产生的业务背景是什么?

众所周知,很多变革都始于技术。技术经由积累产生势能,这些新的技术释放出很强大的生产力并带来创新,满足用户和客户新需求的爆发,从而需求驱动技术的迅速普及和优化,最终带来商业的繁荣。

云原生应该是云化的延伸。在云的发展初期,并非所有的产品技术都是云原生的,随着云计算技术的不断发展,云原生的应用和系统能够更好的满足需求侧在功能和非功能各方面的诉求。从云到云原生这个过程来看,在当下创新加速的VUCA时代,也带来了一系列的变化:

  • 需求变化快,但方向暂不清楚,这就需要IT信息化支撑业务创造的过程更灵活、反应更快速;
  • 在业务板块创造出来之后,会面临着业务使用的强度和频率是不固定的,所以就需要支撑业务供给的灵活性和快速响应的速度;
  • 当下的用户需求和业务的颗粒度,随着市场发展越来越小,所以能够迅速把握市场动态、完成业务创造、提供业务这个全过程周期的速度也变得非常重要,还需要能够拉通整个组织。但不同职能组织都有自己的不同目标,无法做到说改变就改变。

云原生技术的发展,使得各个职能组织去支持、去改变的难度越来越低、投入越来越小,大家更愿意拉通和协作,从而在商业侧能够给企业带来更大的竞争优势。

云原生时代,在享受架构解耦与云端弹性带来的便利同时,对软件研发与交付模式提出了更高的要求,如何才能真正做到云原生下价值交付的的成功?

首先要掌握架构解耦、云端弹性等相关技术,具备研发能力,这是第一要素。

第二,把技术能力运用起来在平衡中去解决业务问题,不能太过于完美主义。例如面对一个遗留系统,是一步到位解耦完毕还是循序渐进呢?分析业务现状的问题并针对性地应用云原生技术能力去解决,去创造价值,是第二个关键要素。

第三是团队通力协作的能力。作为团队的基础,团队的每个成员都具备充分的技术能力,这样团队的能力可以等同于团队成员的合力。团队成员之间通过协作能够产生的化学效应,不只是1+1=2的效果,它将会带来乘数甚至指数级的效应。

第四是组织变革能力。新组织可以直接招募具备云原生技术的成员组建团队,这样带来的好处就是大家没有遗留系统,理解业务即可。如果是一个现成的组织,那么团队成员既要边学习和掌握新技能,边继续发展业务,就如同“给行驶中的汽车换轮子”。这时就需要一种软实力来打消大家的顾虑,推动往云原生的交付模式转变。

云原生与DevOps的关系是是什么?普通DevOps与云原生的DevOps有何不同?

按照CNCF的说法,容器、微服务等被认作是云原生技术。DevOps主要是指一种工作方式或模式,它帮助拉通整个价值创造过程中各环节的人和组织,通力协作缩短价值创造的周期时间。在这个过程中,就需要从人、工具和流程方法三个维度去改变。

如何区分普通DevOps和云原生DevOps,主要看一个组织在应用DevOps的过程中,是否使用云原生技术开发应用或者系统。 举例来讲,DevOps开发一个传统的单机应用,不需要开发人员掌握容器或微服务等技术,对部署和发布的自动化要求也不高,或许也不需要灰度发布、应用监控等功能,往往只需应用几个DevOps工具就能够满足需求。

当然,它是被定义为DevOps,所以代码提交之后的编译构建、测试、打包、安装启动等,都要能够以全自动化的方式完成,无需人工干预,那这个应用的研发过程就是一个普通的DevOps。

云原生模式严格意义上来说,是整个应用的生产过程都在云上, 需求在云端的系统上管理,代码存放和评审、测试用例都在云上进行,甚至日常交流、开会等方面也都在云上进行,这就是比较彻底的云原生DevOps。这时就需要一个可以拉通各个环节的云原生DevOps工具的平台,我们称之为一站式云原生DevOps平台。

云原生的DevOps对于开发者来说,意味着什么?如何尽快在实际工作中实践?

应该说是未来的趋势。个人开发者可以利用云厂商提供的便利,以极低的成本,去学习和实践云原生DevOps开发的全过程,掌握运用各种云原生技术,去创造价值。同时,开发者要从自身的长远发展出发,自己的未来自己做主,不要仅仅依赖于工作中实践,可以考虑去主动的投资学习。毕竟自身能力的提升是带来更大回报的最常见手段,其他手段都依赖于能力的提升。

在云原生2.0的趋势下,越来越成熟的云原生技术化解了开发者的诸多难题,开发者突破个人职业瓶颈的核心关键是掌握1+N关键能力,就是1个DevOps平台加上N套技术栈,再配合云原生提供的开发能力,开启第二曲线。想了解更多,可以直击文章《云原生开发者须具备的1+N技能,开启第二曲线》中做了详细的解读。

DevOps新挑战:如何解决实际开发运维中的问题

要说DevOps如何解决实际开发运维中遇到的问题,首先我们应该先分析当下开发运维会遇到哪些问题,简单列举几个点:

第一个问题:现在市场需求变化很快,产品要快速响应,频繁的进行版本更迭。

当下很多项目都在使用微服务框架,其中一个好处是可以减少变更影响的范围,但微服务其实对运维的要求相对变高了,因为之前你只负责一个单体服务的发布,现在你要负责多个微服务的发布,传统组织结构以及运维方式很难满足,这其实也是促使DevOps诞生的一个主要因素。DevOps是可以通过一系列的自动化工具,将很多以前需要手工操作的流程变成自动化的。比如发布包的构建、部署任务参数配置等等,然后对各个服务按照不同场景,做出不同的发布策略,进行自动化的发布,加速产品新特性的上线。

第二个问题:产品上线后,数据运营和分析。

这点容易被忽略,很多人认为DevOps就是自动化工具链,其实数据分析、运营也是DevOps中很重要的一部分。 DevOps文化中,度量是很重要的一环,这个度量不是说向老板汇报用的,而是通过数据去了解各个服务的运行情况、用户的使用情况等,然后根据分析结果对产品进行优化改进。传统的运维模式很难建立这种反馈机制,不搞清楚市场或者用户群体感受的开发,很容易闭门造车,而DevOps则是提倡在运营环节建立反馈机制来解决这个问题。

其他方面问题:比如基础设施、网络、场地等方面的投入,相当于把资源托管,让开发者更多的聚焦于新特性的交付。以上这些其实都是DevOps解决实际生产中的问题的例子。

有调查显示开发者在DevOps整个软件开发生命周期中,测试阶段遇到的延迟最多,华为云是否有一些实践方案去应对?

测试阶段遇到延迟的问题是说很多时候安全测试在整个软件生命周期中做的比较晚,导致很多漏洞之类的没有测出来。这个问题其实很好解决,首先可以从单元测试入手,在新特性开发之前,根据验收标准写好单元测试,等到功能开发完成直接进行单元测试,这样就会减少测试的延迟。

DevOps也主张将测试环节尽可能地嵌入到流水线中,华为云DevCloud提供了代码检查功能,检查代码的漏洞。还有就是现在很多项目都在用微服务框架,微服务框架中服务与服务之间是通过API进行交互的,那我们也可以将接口测试作为一个主要安全管控手段,将他纳入到持续交付流水线中,每次执行流水线时,自动进行接口测试。

华为云云原生DevOps的升级是否分阶段,每个阶段的路径是什么?

华为云积极地参与业界相关标准和能力模型的共建共创,作为重要参考来构建DevOps相关产品。业界主流是根据DevOps的自动化程度将它划分成三个阶段:

1、保证代码时刻可以进行构建的持续集成;

2、将代码自动化部署到类生产环境进行测试的持续交付;

3、将最新的代码直接自动化部署至生产环境的持续部署;

其中,持续集成自动化程度相对会低一些,持续部署自动化程度是最高的。但更多的时候需要结合业务场景去选择是持续集成、持续交付或是持续部署,并不是所有的场景都必须做到持续部署。如果条件允许的话,一定是自动化程度越高,就意味交付频率越快。

华为云是否有云原生的DevOps体系框架、落地实践案例等?

华为云提供的云原生DevOps体系框架叫做HE2E,即华为端到端(End to End)DevOps框架。是结合了华为30年研发经验并集合了业界先进的实践所形成的一套可操作可落地的敏捷开发方法论。HE2E围绕一个名为凤凰商城的电商平台项目,按照DevOps方式完成从提交代码到流水线部署上线的全过程,项目使用了微服务、容器等多种云原生技术,其中DevOps部分依托于华为云DevCloud

在这个实践中,开发者可以通过华为云DevCloud的项目管理功能进行敏捷项目管理。项目的示例代码也是通过华为云DevCloud的代码仓库codehub,项目使用微服务架构,前后端分离,并且可以通过华为云DevCloud进行云端构建实现持续集成,将前后端打成Docker镜像放到云端镜像仓库,供部署使用。

从集成到部署,还可以通过DevCloud的流水线功能串联起来,在流水线中配置构建、部署任务实现云原生的DevOps,这个流程和现在很多企业的实际开发场景也吻合。

最后,对于开发者来说,DevOps是神秘的,自己可能没有精力或资源搭建DevOps工具链,其实这部分可以通过H2E2——相当于是用华为云搭好的一套架子,直接使用华为云DevCloud体验云原生的DevOps。

点击关注,第一时间了解华为云新鲜技术~

华为云专家一席谈:开发低代码,上手低门槛,appcube让人人都是开发者

参考技术A企业在数字化转型过程中,面临着软件开发的不确定性。如开发人员间的沟通、业务的灵活多变、软件工程师技能差异、新技术的出现等,导致软件开发实际成果和人力工作量的投入之间产生很大的差距。让不确定因... 查看详情

应用开发专家一席谈:开发低代码,上手低门槛,appcube使能citizendeveloper,人人都是开发者

...子变为确定性因子,把复杂留给平台,简单留给开发者,是软件开发效率改进一直努力的方向,也是低代码理念的来源。本文分享自华为云社区《应用开发专家一席谈:开发低代码,上手低门槛,AppCube... 查看详情

华为云技术分享测试微课堂devops敏捷测试之道

本文介绍企业在敏捷和DevOps的逐步转型过程中,测试如何应对挑战,有的放矢进行测试,建立适合产品自身发展阶段、产品特点的敏捷测试能力。敏捷和DevOps敏捷和DevOps转型始终是被业务目标和客户需求驱动的。市场竞争环境越... 查看详情

华为云技术分享测试微课堂devops敏捷测试之道

本文介绍企业在敏捷和DevOps的逐步转型过程中,测试如何应对挑战,有的放矢进行测试,建立适合产品自身发展阶段、产品特点的敏捷测试能力。敏捷和DevOps敏捷和DevOps转型始终是被业务目标和客户需求驱动的。市场竞争环境越... 查看详情

课程报名|《六周玩转云原生》-云原生下的devops与持续交付

六周玩转云原生为了让开发者们在这个特殊的时期里可以学习到更多干货,京东智联云开发者特别策划了《六周玩转云原生》系列课程,让我们的开发者可以迅速入门,持续充电。时光倒流到本世纪初,“持续交付之父”、“全... 查看详情

云原生时代一站式devops平台--阿里云效

...#xff0c;通过云原生新技术和研发新模式,快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。云效企业级一站式DevOps解决方案,提供从“需求->开发->测试->发布->运维”端到端的协同服... 查看详情

dtsetechtalk|云原生架构下的数字身份治理实践

...》,作者:华为云社区精选。DTSETechTalk是华为云开发者联盟推出的技术公开课,解读云上前沿技术,畅聊开发应用 查看详情

秦俊:开放devops敏捷开发套件,助力开发者驰骋云端

...云DevOps产品总监秦俊表示,腾讯云将陆续开放TAPD(腾讯敏捷研发平台)、TGit(腾讯Git源代码管理)、CCI(持续集成服务)、SODA(游戏持续集成)、织云(云端运维)等DevOps相关产 查看详情

华为云iot专家直播——构筑智慧路灯实战分享

...用,是当前物联网平台面临的关键挑战之一。那么,伙伴开发者如何基于华为云提供的IoT云服务,快速完成一款解决方案的开发和上线呢?物联网领域涉及的开发技术范围较广,那么华为云的IoT云服务提供了哪些能力帮助设备开... 查看详情

深度解读华为云智能企业云应用平台

...新保驾护航。一个应用底座:全栈云原生应用开发与管理,敏捷高效,快速DevOps全栈云原生应用开发与管理包括容器、微服务框架、云中间件、压测、APM等系列产品,涵盖应用开发、编译、构建、部署、测试、发布、上线、运维等应... 查看详情

阿里巴巴的云原生与开发者

...生已经成为下一代技术发展的趋势。在?2019?杭州云栖大会开发者峰会上,阿里巴巴资深技术专家李响就为大家分享了阿里巴巴的云原生技术与开发者的那些故事。为什么选择云原生?云原生的本质目标就是充分释放云计算带来 查看详情

阿里云云效技术专家分享:云原生开发调测及可靠发布解决方案

简介: 高效开发、稳健发布。在云原生环境中,基于Kubernetes的工具链一方面简化了开发者的许多日常琐碎,另一方面也带来了许多新的概念和工作方式的改变。本篇文章将聚焦于云原生基础设施,谈谈如何在面... 查看详情

云原生时代一站式devops平台--阿里云效

云原生以原生开源技术构建的云环境是当前互联网行业的根基命脉DevOps以云原生为根基,则可快速成长为参天大树主流DevOps技术栈目前互联网行业甚至传统行业都有自己的DevOps技术栈选型不外乎以下内容DevOps四大平台代码部... 查看详情

云原生时代一站式devops平台--阿里云效

云原生以原生开源技术构建的云环境是当前互联网行业的根基命脉DevOps以云原生为根基,则可快速成长为参天大树主流DevOps技术栈目前互联网行业甚至传统行业都有自己的DevOps技术栈选型不外乎以下内容DevOps四大平台代码部... 查看详情

容器云原生devops学习笔记——第一期:devops微服务容器服务(代码片段)

...Ops技术产生浓厚的兴趣。希望通过DevOps技术进行企业经济开发转型,提高交付效率,通过自动化降低交付成 查看详情

云原生关于devops,你是否也有这些误区?

...。DevOps是一种文化,它为软件开发带来了许多急需的敏捷性。但它也被误解了:DevOps真的意味着开发人员除了开发之外,还应该在复杂的系统管理工作中表现出色吗?本文将讨论开发人员和平台运维方之间技能的... 查看详情

云享专刊开源遇上华为云,ocp架构变身“云原生框架”

...华为云社区精选。OpenStack、Docker、K8S、Hadoop……这些都是开发者耳熟能详的开源技术。开源技术的应用,正不断推动新兴技术和产业的发展。作为国内知名开源托管平台Gitee上面的优秀开源项目,open-capacity-platform微服务能力开放... 查看详情

容器云原生devops——第一期:devops微服务容器服务(学习笔记)(代码片段)

...习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带你玩转容器云原生DevOps公开课开始系统的学习DevOps,所以根据学习视频整理出以下学习笔记希望分享给更多对此感兴趣的同学&#x 查看详情