2018年9月14日-15日,GOPS全球运维大会正式开启,上千位各行业运维者及DevOps的实践者们参会,华为云DevCloud专家受邀参加本次大会, 在主会场分享了华为在大型云平台上的DevOps实践。

践行DevOps理念,DevOps逐步成为企业核心竞争力

DevOps是Development+Operation的组合,旨在促进软件开发、运维和质量保障等部门间的沟通和协作,让软件交付具有5-10倍的TTM和效率优势。据调研数据显示,云在企业的发展成熟度及采用率越来越高,DevOps已经成为被广泛接受的软件交付新模式。95%的企业和组织在使用和评估云,软件服务化、云化是大势所趋,这又对DevOps提出了更强烈的诉求。但是应用上云不是目的,只是技术手段,上云目的是产品竞争力更强,成本更低,资源利用率更高,系统更可靠更安全等。要达到这样的目的,我们需要在4个方面进行转变,开发模式向DevOps转变,应用架构向微服务转变,应用部署要容器化、基础设施要云化。近80%的企业接受DevOps并积极向DevOps转型,但是落地DevOps并不容易,除了研发组织和企业文化带来障碍,缺少智能高效的研发平台也是导致转型困难的重要因素。

华为云DevCloud专家讲到,华为向Cloud Native云原生转型,DevOps是工程基础。Cloud Native是云原生、为云而生的意思,是一种新的系统实践范式,让软件能更好地基于云环境、适应云环境、受益云环境。云原生计算基金会(CNCF)于2015年成立,致力于推广Cloud Native,华为是初创级铂金会员,今年4月,华为和Google一同成为CNCF技术监督委员会TOC成员,决定CNCF社区的技术走向。华为公司也于2017年向Cloud Native转型,所有和云相关的产品都要采用Cloud Native的模式来构建,支撑公司全面云化战略。主要从 3 个方面来落地实践:架构、工程、组织,包括充分利用云基础设施与平台服务,具备微服务架构、弹性伸缩、分布式、高可用、多租户、自动化运维等关键特征的架构实践;建立与系统架构匹配的全功能团队、发展全栈工程师并高度协作的组织实践;采用DevOps、自动化工具,实现微服务持续交付的工程实践。通过架构、工程、组织面向云环境的协同实践,实现Cloud Native系统对外体现的快速、可靠、规模、灵活、高效的价值收益。

华为云DevCloud的DevOps实践

华为在近30年的发展过程中,研发模式、流程、工具也在不断演进。华为在DevOps实践上也进行了积极地探索并取得成果,开放华为30年研发实践打造华为云DevCloud。这样一个产品,我们怎样进行DevOps实践?

首先,以服务为单位组建全功能团队。Conway定律指出:任意一个软件都反映出制造它的团队的组织结构,团队的组织结构和代码架构是紧密相关的。要想产品的架构尽量松耦合,团队的组织结构就要尽量扁平,华为云DevCloud每个服务由一个团队负责,团队人数通常在 10 人左右,就是我们常说的Two pizza团队的规模,团队中有产品经理、架构师、开发、测试、运维等角色。产品经理负责Why&What,负责产品的竞争力规划和构建、产品的设计和体验、产品运营,对产品的商业结果负责 ;开发团队负责What&How,主要关注需求的交付效率和产品质量 ;每个团队采用敏捷Scrum的开发流程,并融入精益的思想,自己管理自己的需求,有自己的流水线和发布流程,这也是一个规模化敏捷的场景 。

很多时候一个产品的成败,取决于我们对用户需求的把握程度。在量子力学中,对关系的定义就是信息,我们和用户关系的好坏,就是对用户信息掌握的多少,你了解用户心中所想,就能更好地把握用户的需求,就更容易做出成功的产品 。不管是敏捷、精益、DevOps,除了要解决快速交付、还要能够快速反馈,通过反馈快速试错,不断验证我们对市场和用户需求的理解和判断,就能不断调整方向,对准用户和市场的需求 。为什么说需求就是竞争力呢,我们做产品最可悲就是没有用户使用,没有人给你提需求,只要有用户使用,不断给我们提需求,陪伴我们一起成长,我们就可以不断完善产品,逐步具备竞争力 。无场景不需求,就是要将需求放在一个场景下,才能更准确地理解需求,用户很多时候表达不清楚他们的需求,要通过深入洞察用户的行为,才能搞清楚用户的真实需求,找到产品爆点。

我们回想一下不同时期的架构方法,EJB、SOA、Web Service、Restful API、微服务等,每个时期出现的架构方法,都要解决一个问题:解耦 。华为云DevCloud早期,整个产品多个服务耦合在一起,一个月发布一个版本,每次发布都很痛苦,各个服务相互等待,效率低,发布流程复杂,要配置的环境参数很多,经常出错;随着架构的不断解耦,各个服务可以独立发布,消除了等待,发布效率大幅提高,达到一周发布一次;随着微服务化的不断深入,各个微服务可以独立上线发布,我们现在可以达到天级交付 。为了保证微服务的接口一致性,以Swagger YAML为中心,自动生成接口框架代码、测试用例框架、API文档、Mock测试桩,并定期反向同步 ,保证了接口的一致性。并通过Mock Server和契约测试,解耦接口依赖,实现API的并行开发、自动化测试和独立发布。

在DevOps中,反馈非常重要,测试其实也是一种反馈,就像代码评审、代码检查、构建、部署等,通过反馈让我们及时发现代码和系统的问题,反馈周期越短,我们就能越早发现问题,成本越低。如果能在其它环节更多地保障质量,那么测试环节的工作量就可以相应减少。华为公司对安全非常重视,任何对外的产品都要通过安全红线、必须通过ICSL安全稽查才能商用、每半年送检一次。

华为云DevCloud专家还分享了流水线、灰度发布模型,多Region同步发布,性能测试,自动化运维,以及APM方面的一些实践。60%以上的生产事故源于人为操作不当,所以我们构建自动化运维平台,大幅减少因人工误操作带来的现网问题。自动化运维平台主要实现 4 部分功能,1)配置自动化:早期,DevCloud在生产环境部署后,经常出问题,问题定位后发现大都是环境参数配置问题,后来用CMDB来管理环境参数,问题就大幅减少了 。2)监控告警自动化: 10 万+监控项,问题提前拦截率达到90%以上 。3)作业自动化:通过自动化脚本固化常用操作,并进行权限隔离,大幅减少操作失误导致的问题 。4)分析自动化:通过日志分析、API调用链分析、问题智能化辅助定位,实现MTTR从 40 分钟缩短到 20 分钟,运维自动化率提升到80%以上 。

一个传统的应用,交付给客户就意味着研发的结束,对云服务来说,上线只是一个开始,后期的运维和运营非常关键。云服务本质上是商业模式的改变,从卖License走向Pay as you go,技术的云化不代表商业的云化。一个新服务从交付完成到GA商用,通常包括邀测、公测和GA3 个阶段,需要产品、运营、运维的紧密配合。

DevOps平台的构建思考和探索

最后,华为云DevCloud专家向与会企业探讨了DevOps平台的构建思考与探索。DevOps工具平台的构建非常复杂,理念和方法论是工具平台的灵魂、主线,工具承载先进理念和方法论,固化流程、经验和最佳实践。华为云DevCloud是华为云的组成部分, 是华为 30 余年研发实践和前沿理念的结晶,为开发者提供一站式全流程安全可信的DevOps工具服务,同时,也是帮助企业修炼内功的一大利器,可以有效支撑企业DevOps落地,实现项目的高效、高质量迭代。未来,华为云DevCloud也将携手各企业各开发运维者,精诚合作互通,及时响应反馈,更好的为广大开发者提供稳定可靠的DevOps工具,助力软件企业专注业务创新。

相关阅读:

采用多云 澳大利亚云计算市场日益成熟

阿里云发布2018网络安全报告 网络安全的重心从本地转移到云上

实施云计算不要“照本宣科”,要因“企”而异

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排 行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2024-05-15 19:24:19
云技术 Akamai持续深耕云服务, 三大价值收获广告科技行业青睐
一家广告交易所改用Akamai云平台后,总体云成本降低了60%。 <详情>
2024-05-13 15:52:32
国内资讯 大事故!谷歌云一键“删库”,800亿美元资产一周惊魂
这一事件给我们的启迪,不是如何谨慎的应对技术,如何完善系统,而是:在这个充斥着草台班子的世界里,做好备份,并且是多重备份和跨平台备份。 <详情>
2024-04-09 14:41:00
市场情报 安全稳定可信赖 亚马逊云科技如何构建可靠的云服务
确保云上业务的连续性即云的韧性对企业来说就越来越重要。 <详情>
2024-03-28 16:21:48
市场情报 Akamai最新SOTI 报告:APJ 地区制造业遭受的 API 网络攻击数量高居榜首
由于API 能够使软件、系统和设备之间进行通信并有助于提升员工和客户的体验,因此对于大多数企业而言 API 都至关重要。 <详情>
2024-03-21 18:02:02