diff --git "a/\347\254\254\344\270\211\347\253\240 \345\274\200\346\272\220\351\241\271\347\233\256\345\217\221\345\261\225\347\216\260\347\212\266.md" "b/\347\254\254\344\270\211\347\253\240 \345\274\200\346\272\220\351\241\271\347\233\256\345\217\221\345\261\225\347\216\260\347\212\266.md" index 0bca4d6f35133c85a66e30583a3aa318122c5f23..c90cb7d81fe962364a1cade89d063fc41b096d71 100644 --- "a/\347\254\254\344\270\211\347\253\240 \345\274\200\346\272\220\351\241\271\347\233\256\345\217\221\345\261\225\347\216\260\347\212\266.md" +++ "b/\347\254\254\344\270\211\347\253\240 \345\274\200\346\272\220\351\241\271\347\233\256\345\217\221\345\261\225\347\216\260\347\212\266.md" @@ -178,5 +178,119 @@ ChatGPT和GPT-4的成功证明,模型架构是决定大规模预训练语言 -加大政策支持,考虑由政府部门、企事业单位、行业协会等共同出资,依托开源联盟设立区块链开源基金会,为高质量开源项目提供资金支持,同时通过举办开源比赛、高校宣讲等形式普及区块链开源知识,吸引更多人加入开源社区。 +## 一、国内DevOps领域的发展现状 + +DevOps 是 Dev 和Ops 的组合词,是开发和运营维护的总称,是目前已经收到国内外公认的确保高效研发运维流程的方法。 随着技术的发展,高效敏捷安全的研发诉求使得DevOps领域持续受到国内外开发者的关注。在GitLab 发布的《2023 Global DevSecOps Report Series——What’s next in DevSecOps》(GitLab 2023 DevSecOps 报告)提到这样一些数据:调研报告采访了5010 名开发者,其中有56% 的开发者正在使用DevOps 或 DevSecOp的方法论,比2022年的47%有所增加。而相较于同样的进行敏捷开发的方法论,只有DevOps/DevSecOps 是唯一有所增长的。 + +![在这里插入图片描述](https://gitcode.net/Beckyame/copu/-/raw/master/image%20(1).png) + +图来源:《2023 Global DevSecOps Report Series——What’s next in DevSecOps》 + +这也正说明了DevOps (包含DevSecOps)的受重视程度稳步上升。 + +另一方面,中国信通院领衔联合超50家企业,其中超五成的问卷受访企业资产规模在5千万元以上,覆盖全国32个省级行政区近90个城市,发布了《中国DevOps现状调查报告(2022)》梳理国内DevOps实践现状,洞察中国DevOps转型新趋势,助力企业DevOps落地实践,促进全行业DevOps演进与变革,也印证了国内对于DevOps行业的关注。 + +## 二、国内开源的DevOps 项目综述 + +国外的DevOps 生态工具链百家争鸣,而且功能丰富: + +**一、版本控制&协作开发** +1. 版本控制系统 Git +Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 +2. 代码托管平台 GitLab +GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 +3. 代码评审工具 Gerrit +Gerrit是一个免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。 +4. 版本控制系统 Bazaar +Bazaar 是一个分布式的版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows、GNU/Linux、Unix 以及 Mac OS 系统。 + +**二、自动化构建和测试** +1. Apache Ant +Apache Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。 +2. JMeter +JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100% 的用 java 实现。 +3. Gradle +Gradle 就是可以使用 Groovy 来书写构建脚本的构建系统,支持依赖管理和多项目,类似 Maven,但比之简单轻便。 + +**三、持续集成&交付** +1.Jenkins +Jenkins 的前身是 Hudson,它是一个可扩展的持续集成引擎。 +2. Fabric +fabric8 是开源 Java Containers(JVMs) 深度管理集成平台。有了 fabric8 可以非常方便的从 UI 和 UX 一致的中央位置进行自动操作,配置和管理。fabric8 同时提供一些非功能性需求,比如配置管理,服务发现故障转移,集中化监控,自动化等等。 +3. Travis CI +Travis CI 是一个基于云的持续集成项目, 目前已经支持大部分主流语言了,比如:C,PHP,Ruby,Python,Nodejs等等。 + +**四、部署工具** +1. Docker +Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 +2. Chef +Chef 是一个系统集成框架,为整个架构提供配置管理功能。 +3. Ansible +Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。 + +而在国内同样也有同样的DevOps 工具链生态: + +**一、DevOps 一体化平台** +1. 极狐GitLab +极狐GitLab不是GitLab的中文版本,而是GitLab 版本基础上融合了本土功能的中国发行版,集成了代码管理、CI/CD、项目敏捷管理、安全监控、效能管理等覆盖软件研发全生命周期的 DevOps能力,公司在中国独立运营。 +2. CODO +企业多混合云、自动化运维、完全开源的云管理平台 + +**二、CI/CD(持续交付、持续集成)** +1. JIANMU(建木) +建木自动化平台以触发器、流程编排、任务分发等功能为平台核心,可以应用在各类使用场景下,包括但不限于,CI/CD、DevOps、自动化运维、多业务系统集成等场景的自动化。 +2. flow.ci +采用三端架构,服务端、Web、 Agent,支持服务端的负载均衡以提高稳定性。所有任务运行在 Agent 上,并可以配置任务主机来自动调度 Agent 提升构建速度。 + +**三、项目管理** +1. 禅道 +禅道是一款专业的国产开源研发项目管理软件,集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,完整覆盖了研发项目管理的核心流程。 + +**四、测试可观测性** +1. Metersphere +一站式的开源持续测试平台,遵循 GPL v3 开源许可协议,涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付。 +2. Datakit +一款开源、一体式的数据采集可观测Agent + +国内的DevOps项目虽然不及国外开源项目种类丰富数量众多,但数量还是在稳步上升。 + +## 三、发展的趋势:DevOps 向 DevSecOps 迈进 + +DevSecOps 是DevOps的下一个阶段,其目的就是为了把安全性注入到持续集成和持续交付 (CI/CD) 管道中,使开发团队能够以 DevOps 的速度应对当今所面临的一些非常紧迫的安全挑战。 + +![在这里插入图片描述](https://gitcode.net/Beckyame/copu/-/raw/master/image__2_.png) + +DevSecOps帮助软件供应链更上一个台阶,帮助开发者和研发将安全方案集成到整个软件开发交付流程。 + +面对日益复杂的开发环境,GitLab 对DevOps行业的发展有这样的趋势预测: + +**预测一:保护供应链安全将是最高优先级** + +安全依旧是整个组织的责任,未来将进一步 “左移”,并从集成开发环境(IDE)扩展到生产环境。安全左移的目的是加强软件供应链安全。 + +同时软件供应链安全将朝着以下三个方向发展。 +- 一线工程师将在日常运维中承担更多的威胁管理职责。为了完成这一工作,开发人员需要在软件开发生命周期的每个阶段,实时了解漏洞情况和修复策略,降低生产环境中发生严重事件的可能性。 +- 安全和合规团队将把软件安全保障策略融入代码,避免因耗时的手动安全审查,拖累开发速度。 +- 一些引人瞩目的安全事件进一步凸显了软件开发风险。组织将建立审计流程,更好地评估和报告 SDLC 风险。这就要求组织设计好如何交付工件,以证明其开发工具链各方面部署的控件具有不变性。 + +**预测二:安全将深入DevOps教育** + +加速 DevOps 向 DevSecOps 的演进,将安全视为 DevOps 培训和教育课程的重要部分,组织提供培训。 + +**预测三:AI/ML 将贯穿 SDLC** + +AI将成为提高生产力的关键, DevOps 团队将数字化转型和业务分析与AI相结合,才能让数字化转型真正发生。 AI/ML将进一步助力研发加速、安全修复和提高自动化测试以及可观测性。 + +**预测四:价值流分析将在组织中发挥更大作用** + +价值流分析将拓宽过去的开发工作流程,从而更全面地了解组织向其用户(内部和外部)提供的价值。 + +**预测五:可观测性将左移,以实现高效的 DevSecOps** + +可观测性将在 SDLC 中进一步左移,在提高 DevSecOps 工作流效率方面发挥重大作用,包括 CI/CD、基础设施成本分析和趋势预测,以实现更好的容量规划。 + +预估中国围绕DevOps生态的开源软件提供软件也会往预测的几个方向发展。 + +