Devops 落地的核心和13条经验总结

Devops 落地的核心和13条经验总结

作者:测试开发Kevin 2021-05-27 08:32:27

云计算 本篇我来介绍一下Devops要想实际落地,那么我们需要解决的问题有哪些。我将从产品需求、开发、测试、运维的角度来分享Devops落地的实际经验。

 前面的文章中介绍了,Devops的概念以及企业应用Devops能够带来的好处,请参考文章:

DevOps究竟能给企业解决什么问题

接下来我来介绍一下Devops要想实际落地,那么我们需要解决的问题有哪些。我将从产品需求、开发、测试、运维的角度来分享Devops落地的实际经验。

核心

部署流水线核心软件开发过程是一个将客户或用户的想法变成一个真实可用的特性的过程。部署流水线是这个过程中的一部分,是指软件从版本控制库到用户手中这一过程自动化的展现形式。这一过程包括编译构建、代码检查、上传制品库、测试和部署等,并且这些阶段的执行都应该是自动执行的。自动化带来的好处是这个流程变得更快、可重复且更加可靠。部署流水线的核心是使用jenkins作为各个节点的串联,然后在各个流程节点中使用一系列的工具来实现流水线的自动化!如下图所示:

13条经验

产品需求

1.产品定义、里程碑规划和用户需求分析

可以使用影响地图、用户故事、看板等方法。

开发

2.代码预检查

代码预检查就是在代码提交到代码库之前对代码进行检查,包括静态检查、Code Review、测试、编译等多种方式。

3.技术债务管理

主要的技术债务包括:

没有文档或者跟版本不同步;

过时的架构设计;

需要重构的代码;

遗留代码缺乏文档和单元测试,无人能改,无人敢改。

注意:未实现的功能需求不属于技术债务。

技术债务管理的核心是:在技术债务产生之前能避免则避免,不能避免的可以借助工具提前发现,对于发现的技术债务尽可能早的偿还掉。

4.第三方组件管理

使用第三方组件,可以不必“重复造轮子”,节约了时间和精力,加快了软件开发的过程。第三方组件已经是软件开发不可或缺的组成部分。然而,使用第三方组件并非易事。主要有以下几方面的问题:

组件会存在缺陷或安全漏洞;

组件的版本会过时;

组件需要额外的维护成本。

通常对第三方组件管理需要关注以下两个方面:

依赖扫描:能够扫描出依赖存在的问题,包括是否存在安全漏洞以及版本是否过时。

依赖管理:制定黑白名单,控制策略和影响范围。黑名单指不允许使用的组件。白名单是可以使用的组件。控制策略指的是当发现组件有问题时采取的措施,如阻断,警告。影响范围指的该控制策略的应用范围,如当前系统,所有系统等。当检测到依赖组件中包含了黑名单中的组件,按照设置好的控制策略对该组件进行处理,比如编译失败,邮件通知负责人等。

5.非功能需求的管理

非功能需求的实现是有成本的,而且它们之间可能彼此排斥,因此我们必须权衡利弊。比如,对安全性要求高的系统往往易用性就不会太好。在实际开发中,考虑到系统的交付时间,系统的总成本,往往会根据非功能需求的实现难度,做出权衡。

6.API管理

API 管理就是有效管理企业内部各服务提供的API 接口和对外暴露的共有接口,管理 API 接口的创建、测试、发布等生命周期,以及 API 接口的版本、并提供 API 开发者门户供开发人员查看。服务的 API 接口在构建时自动地注册到 API 管理平台的 API Gateway 中,其他调用方可以通过 API Gateway 访问这些接口提供的服务,并基于 API Gateway 进行 API 的自动化测试,保证 API 的正确性和健壮性。

7.配置管理

配置管理是指一个过程,通过该过程,所有与项目相关的产物,以及它们之间的关系都被唯一定义、修改、存储和检索。例如,可以基于 Git 的方式,在应用程序部署时提供特定环境的配置文件,实现了代码与配置的隔离,保证了代码的唯一性。

8.持续集成

这里持续的意思并不是“始终,一直”,它的意思是“随时”。比较恰当的频率是:每当有人提交代码,同时集成一次。通常分为即时集成和定时集成。

即时集成:是指团队成员每次提交之后就进行集成,并执行编译、构建、自动化测试等任务来检查个人提交的代码是否可用。这种集成方式要求执行的时间要短,要快速反馈结果,因此只能执行一些简单的测试。

定时集成:类似每日构建(Daily Build),是指每天定时(一般为晚上)自动执行一次集成过程,第二天将执行结果发送给关系人。这种集成方式注重的是检测的全面性和彻底性,对执行时长要求不高。

测试

9.测试数据管理

测试数据管理指对测试数据的自动创建以及销毁。主要包括验证业务基础功能的少量测试数据和验证核心业务性能所需要的大规模测试数据。

10.自动化测试

指对产品的UI测试、服务的接口测试以及代码的单元测试通过测试代码来实现。

运维

11.实时监控

将所有主机加入监控,时刻掌握他们的状态,一旦有指标不正常,触发器触发告警,可通过微信、钉钉、邮件方式进行告警.

12 日志收集

当集群环境壮大之后,某一个模块可能会部署多个节点,再登录到机器上查看某一模块的日志就变得很困难,通常可以通过elk来建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。

13 环境管理

环境管理就是准备部署环境的过程以及部署之后对环境的管控。既能保证准备环境的快速和一致性,又使得部署后的环境能够有效利用。一般环境分为,集成环境、测试环境\类生产环境和生产环境。如果想要高效管理各种环境,必须通过脚本实现环境的创建与部署工作,即一键部署。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/231615.html<

(0)
运维的头像运维
上一篇2025-04-19 19:03
下一篇 2025-04-19 19:04

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注