破除软件开辟困局,基于容器平台的DevOps转型实践

打印 上一主题 下一主题

主题 547|帖子 547|积分 1641

本文分享自华为云社区《DevOps赋能行业云原生数字化转型》,作者:云容器大未来。
企业软件开辟困局

随着信息化的进程不断加快,带来的各种业务应用、平台应用等软件资产的复杂度也快速上升。随之而来的信息化底子设施能力与软件工程全生命周期的管理也会变得越来越复杂,数字化转型、云原生、持续交付的标语随之升起。
千行百业都在响应数字化转型的号召以提升业务效率、企业竞争力或是市场竞争力。但是企业在转型的过程中却举步维艰。每每缘故原由有以下几点:

  • 流程固化,牵一发而动全身:原有的流程已经制定多年,相关职员也已经习惯这套流程。忽然的规则转变以及带来的相关风险无人愿意主动承担。
  • 部门墙明显,无法快速协同:在金融等行业中,每个部门的成员每每都是同一职责的。如业务部门,只负责市场运营、项目需求管理等;研发部门,只负责开辟以及测试;运维部门,只负责平台的运维、底子设施的维护等。一个业务软件的版本迭代,需要从多个部门层层流转,但部门与部门之间的沟通又不彻底,出现问题也轻易互相牵扯,最终导致软件需求交付效率的大大下降。
  • 严谨的网络情况管理却又松散的成品管理:网络部门严格管理着各个情况之间的网络访问逻辑,一样平常情况下,开辟职员只能访问开辟情况;而且开辟、测试、准生产以及生产情况之间网络都是不互通的。在没有强有力的政策干预下,可能会出现各个情况都独立一套代码、成品仓库,更糟糕的是,可能不同的软件产品线都独立管理各自的代码、成品仓库。因此在阶段流转时,需要通过传统的拷贝方式去做流转传递,带来了额外的管理成本,也更轻易引入人为风险。
  • 过多的编外职员带来的各种散乱工具链:在软件研发部门可能存在多方外包职员,而每一方外包职员都有各自熟悉的软件开辟工具,代码仓库有些使用Gitlab,有些使用Gitea;成品仓库有些使用nexus,有些使用jforg;乃至构建工具都不能同一,有用Jenkins的,也有本地构建的。这也带来了管理上的巨大麻烦。
显而易见的困局,企业在数字化转型过程中面临流程固化、部门墙明显、成品管理松散和工具链混乱等问题,导致软件需求交付效率下降。需要打破原有流程和部门墙,建立同一的管理体系,加逼迫品管理和工具链整合,以提高软件需求交付效率。
破局之法:DevOps

面对以上重重现状和困难,我们迎来了曙光——DevOps。
DevOps最初诞生于互联网企业。DevOps作为一种文化、哲学和实践的集合,自从诞生以来,就不停在不断地进化和扩展。它的界说以及理念大家都耳熟能详:打破部门墙、精密合作、主动化、小步快跑、敏捷迭代等等。它是一种文化宣言,提及了方法论,每个企业或者行业都能够结合自身实际情况去操作实施。
核心理念:

  • 变更的快速响应:DevOps支持需求的快速更改和新功能的快速部署。通过主动化构建和部署流程,开辟团队可以快速地将代码从开辟情况推送到生产情况。
  • 持续反馈:通过持续集成和持续部署,可以确保在开辟周期的任何阶段捕获问题,以及在生产过程中立刻网络用户反馈,然后快速将这些反馈整合到产品迭代中。
  • 跨功能协作:DevOps鼓励开辟团队、QA团队和运维团队从需求网络的初期就开始精密合作,以确保全方位理解和满足用户需求,并从整个软件交付流程中消除障碍。
  • 原则优化:DevOps的实践着重于主动化和精益原则,包罗尽早消除浪费,确保需求的清楚性和简洁性,以及提供最大的价值。
从核心理念就能够看出,DevOps文化实践需要有同一的软件工程工具链,全部相关职员都能够在DevOps平台上执行各自的工作,实现部门之间通力协作和重复流程的全面主动化。

上图展示了DevOps的相关脚色以及团体工作流程。一个较为完整的DevOps全流程工具链便呼之欲出:从底子设施的管理、项目管理,再到代码管理和持续交付,最后是持续运维。除却文化理念,DevOps的核心是主动化流水线工具,实现了主动化持续交付,而持续交付的核心是持续集成(CI)和持续部署(CD)。CI/CD共同构成了现代软件开辟的核心实践,旨在促进软件的快速迭代和高质量交付。其中,持续集成紧张关注开辟阶段的频仍合并和测试,而持续部署则扩展了这一过程,涵盖了代码从集成到被部署到生产情况的整个流程。两者都是主动化的关键实践,有助于实现DevOps的目标。

遵循理论引导并结合实际情况,我们归纳了针对金融等行业的破局三板斧。
DevOps专业团队指导,打破固有流程

在金融等行业并不缺乏优化现有流程的勇气,只是没有明白的目标以及专业指导。当DevOps的呼声以及发展越来越强大时,国内涌现出了很多专业的DevOps专家咨询团队,他们能够结合企业的实际现状给出最优解,在组织架构不调整的情况下保障以尽可能小的变更达到最大的效果,消除企业顾虑。
同一的DevOps工具链平台,打破部门墙,规范研发流程

我们发现绝大多数企业都无法做到为每一个项目分别全功能团队(从市场、需求到研发、测试最后到运维),每每都是独立的市场部、研发部和运维部。这天然的形成了沟通与阶段流转之间的部门墙,由于更改现状牵扯太大,我们便通过应用DevOps的理念,建立同一的DevOps工具链平台,对当前项目的全生命周期进行管理。针对每一个原始需求,从需求记载、分析、分配到后续的开辟、测试、验证及最终上线,都能被相关职员看到。阶段的流转也能够在相关平台上直接操作和关照,杜绝冗长低效的跨部门流程。我们提倡相关职员使用DevOps平台的同时,梳理最佳实践,进行定期培训,潜移默化的让研发流程变得同一和规范。
在严谨的网络情况内搭建同一的核心资产库

核心资产库的同一有必要性,各个项目构成员,纵然在不同的应用情况下,也不能单独建立。如代码仓库,不能在开辟情况和测试情况各有一套。我们需要同一的核心资产库去践行DevOps的理念。该库需要打通从开辟到生产情况的网络连接,并通过严格的权限控制,来实现安全合规。
行业困局的解决方案

为了满足理论支撑,我们基于华为云UCS作为容器平台底座,结合软通动力应用交付平台来实现行业云原生数字化转型的最佳解决方案。

华为云UCS(Ubiquitous Cloud Native Service)是业界首个分布式云原生产品,为企业构建云原生业务部署、管理、应用生态的全域一致性体验 ,实现客户在使用云原生应用时,感受不到地域、跨云、流量的限制,让云原生的能力进入企业的每一个业务场景,加快千行百业拥抱云原生。
而软通动力应用交付平台是一款持续交付产品,资助企业快速建立稳固软件发布的内部开辟者平台与 DevOps 文化,为开辟者提供云原生应用运行情况,开辟者通过平台的自助服务能力,进行应用的构建、部署、验证、运维等生命周期管理操作,低落应用开辟者使用云原生技术的门槛,提升应用的部署和运行质量。平台支持UCS云原生服务中心快速安装,用户只需要通过页面表单的填写即可快速部署平台,实现开箱即用。
客户通过UCS对多方集群执行同一纳管,从而达到对多个集群的同一治理,实现配置管理、容器迁徙、策略中心、流量治理和容器智能分析。这在网络情况严苛的金融等行业中是非常便利的。
云原生服务中心精选了各种成熟可靠的开源工具,为客户提供了同一便捷的安装体验,其中的多种工具能够和应用交付平台实现集成联动效果,如SonarQube和ArgoCD。他们支持配置对接到应用交付平台的持续集成流水线或安全测试编排中,实现多个工具平台的串联,打破数据孤岛。
团体解决方案中,实现DevOps的核心便是华为云UCS提供的容器底座以及应用交付平台提供的集成和主动化能力,两者相辅相成。原本的应用交付平台得到升华。通过UCS的特性,我们可以实现多集群的同一联邦管理,让快速搭建双活、主备等高可用应用部署架构变得轻而易举。这种架构极大地提升了运维能力,使构建发布过程实现全面主动化,从而提高交付质量、缩短交付周期、保持技术路线一致性以及规范资源使用。
值得一提的是,UCS云原生服务中心的引入使得企业能够快速安装和使用诸如ArgoCD、SornaQube等热门开源工具平台。这不但丰富了企业的技术选择,还增强了企业的灵活性,使企业在快速变化的市场情况中始终保持竞争力。
将UCS与软通动力应用交付平台相结合,企业将获得一套更高效、更可靠的运维解决方案。这套方案可以全面提高企业的运维能力,低落人工干预成本,提高交付质量,并确保技术路线的一致性。在此底子上,通过UCS云原生服务中心的引入,企业还能够快速接入各类热门开源工具平台,进一步提升企业的灵活性。这套解决方案将助力企业在激烈的市场竞争中脱颖而出,实现业务的持续发展。
方案落地实践与价值

某资产管理公司成立10年期间累积了不少软件资产,过于陈旧的研发体系以及日益膨胀的原始需求,使得他们迫切的想要进行云原生改造,实践DevOps来得到交付效率上的提升。
在入场调研的过程中,我们发现其所面临的困境和金融业企业困境如出一辙:各个情况的割裂、没有同一的代码仓库、阶段流转靠U盘拷贝、散乱的依赖管理、缺失主动化构建能力以及没有同一规范的软件研发流程,全靠各个团队自由发挥。
云原生DevOps专家团队面对这种实际场景,针对性的给出了架构设计和迁徙改造方案。
容器化改造

客户原先的系统服务都是假造机部署,一个微服务需要单独规划一台4U8G的假造机,云云配置不易弹性伸缩且有巨大的资源浪费。专家团队顺势提出容器化改造,而且使用业界首个分布式云原生产品华为云UCS作为容器平台底座,同时给出微服务容器化改造的最佳实践,资助客户快速迁徙。
同一代码仓库和成品仓库

令人惊讶的是,客户没有同一的代码仓库和成品仓库,多个团队之间的代码资产各自管理。有些使用Git,有些使用SVN,更有甚者就未使用代码仓库。因此在代码从开辟情况转换到测试情况、准生产情况时,通过U盘拷贝的形式,成品依赖更是云云。以是改造的下一步是同一必备的软件开辟工具。综合考量各种因素后,我们为客户提供了Gitlab代码仓库、SWR镜像仓库以及nexus依赖仓库。
同一的DevOps平台

有了容器平台、代码仓库、镜像仓库等底子设施和软件开辟平台,实践DevOps需要将这些平台结合起来,并提供持续交付的能力。软通动力应用交付平台完美匹配,其灵活的集成管理能力串联了多个研发工具链,给客户提供高效便捷的流水线配置体验。
研发流程优化

当底子配置全部准备完成后,此时需要流程规范和最佳实践进行指导。华为云UCS专家团队结合资产管理公司的组织架构以及业务结构,为客户量身定制了基于新平台的研发流程。从理论出发结合实际为客户实现云原生数字化转型。

经过客户及华为云云原生团队的共同努力,客户业务最终完美的迁徙到容器情况中。经过一段时间的学习、适应和磨合,客户按照DevOps的文化理念进行迭代、同一代码和成品仓库以及配置主动化流水线。据效能统计:人力管理成本平均减少70%、构建部署的频率提升十余倍、更改失败率低落、平均交付周期以及资源使用率都有了巨大的优化,顺遂打破金融等行业的云原生、数字化转型困局。
 
访问链接,体验华为云分布式云原生UCS:https://www.huaweicloud.com/product/ucs.html
点击关注,第一时间相识华为云奇怪技术~
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表