37、DevOps背后的基本原则是什么?
DevOps的关键原则
DevOps的关键原则是将质量管理技术(如W. Edwards Deming的“休哈特循环”或“精益制造”)应用于Web系统管理。它还涉及打破部门壁垒,消除阻碍组织从开发到运营交付周期的瓶颈和风险,使变更能从规范快速可靠地流向面向客户的环境。此外,其价值观和原则包括:
- 注重关系
- 集成
- 自动化
- 连续改进
38、瀑布式开发环境与DevOps开发环境有何不同?
开发环境对比:瀑布式开发 vs. DevOps开发
瀑布式开发环境
- 系统管理员仅参与软件部署,之后负责运维和满足正常运行时间要求
- 几乎无法影响软件开发以满足自身需求,与开发者接触少
- 开发者和系统管理员各自为政,彼此不了解对方的关注点,看不到全局
- 通过临时解决方案来改善运维,卓越的运维效率、性能和正常运行时间受到阻碍
- 采用瀑布式方法,各步骤由不同团队孤立完成,信息单向流动,运营需求在后期才被考虑
DevOps开发环境
- 开发者和系统管理员共同承担满足正常运行时间要求的责任,共同承担值班职责
- 开发者参与创建运维策略,运维人员与开发者密切合作提供实施和开发建议
- 开发和运维由一个团队处理,团队成员参与所有阶段并对最终结果共同负责
- 强调人员和流程,使运维与业务和客户需求紧密结合
- 让整个组织参与解决可用性问题,注重跨组织的协作和优化
39、为什么DevOps不被设计为一个职位头衔?
因为DevOps是一种 文化和实践的结合 ,是一个 包容性的运动 ,强调 整个组织 内的协作与优化,涉及 系统管理员、软件开发人员和网络运营人员 等多方面人员共同参与,并非某一个 特定岗位 可以涵盖,所以 不能作为一个职位头衔 。
40、描述敏捷实践和DevOps实践之间的关系。
DevOps与敏捷实践
DevOps是软件开发方法论“敏捷”和“持续交付”实践的自然产物。
敏捷的原则可直接应用于DevOps实践,为DevOps思维提供坚实基础。
41、在DevOps协作中,至少哪些人的参与至关重要?
以下是调整为 Markdown 格式的文本内容:
开发者、发布经理、系统管理员和经理的参与至关重要,他们需要密切协作,以实现高度可靠且持续改进的服务这一共同目标。
42、列举三项发布工程的最佳实践。
持续构建、持续测试、自动化部署
43、将一个流程转换为 DevOps 涉及哪些基本步骤?
转换为 DevOps 的基本步骤
第一步:开发与运维的协作
- 根本原因分析 :与开发人员共同对问题或故障进行根本原因分析。
- 问题识别与解决 :识别反复出现的问题并合作解决。
- 产品知识融入运维 :
- 邀请开发人员参加关键运维会议。
- 设置涉及开发人员下班后可联系的升级路径。
- 运维知识贯穿项目阶段 :
- 让运维人员参与日常或每周状态会议。
- 参与产品待办任务优先级确定和规划会议。
第二步:开启 DevOps 关系
- 面对面交流 :从开发、产品经理或产品团队其他成员开始。
- 选择合适对象 :选择易接触且有一定融洽关系的人。
- 讨论协作改进 :讨论共同问题及紧密协作带来的改进。
- 项目选择 :选择对开发团队有明显好处的项目作为起点。
- 定期会议 :定期与开发和产品团队开会。
- 持续推进 :完成起始项目后确定新的协作项目。
第三步:管理层支持
- 接受 DevOps 理念 :让管理层理解并接受 DevOps 理念。
- 推动转换 :在业务层面推动 DevOps 转换。
44、描述你的发布流程(从代码提交到在生产环境中运行)。识别手动步骤、团队间交接,以及定义不明确或有问题的步骤。基于 DevOps 的三条原则,可进行哪些改进?
发布流程概述
发布流程通常为:
- 代码提交到代码库
- 接着进行单元测试
- 打包
- 集成测试
- 最后部署到生产环境
手动步骤
手动步骤可能存在于:
- 测试环节的部分人工检查
- 部署时的手动配置等
团队间交接
团队间交接可能发生在:
- 开发团队提交代码给测试团队
- 测试团队交付给运维团队部署等环节
定义不明确或有问题的步骤
- 测试环节缺乏清晰标准
- 部署时未明确责任
基于 DevOps 的三条原则可进行的改进
- 确保每个步骤可重复进行,避免随意和临时的操作
- 尽早进行测试,避免将缺陷传递到下一步
- 避免局部优化损害整体性能
- 分析并提高工作流程的效率
45、描述服务交付平台构建阶段的步骤。
服务交付平台构建阶段的步骤包括:
- 开发(Develop)
- 提交(Commit)
- 构建(Build)
- 打包(Package)
- 注册(Register)
46、为什么构建阶段和部署阶段是分开的?
阶段划分说明
构建阶段
- 目的 :将源代码转化为软件包
- 关注点 :创建软件包
部署阶段
- 目的 :将软件包部署到特定环境中
- 关注点 :在环境中运行软件包
环境划分
- 测试环境
- 用途 :测试服务
- 生产环境
- 用途 :为客户提供服务
划分优势
- 让测试更有意义
- 避免未测试的更改进入生产环境
- 提高服务可用性
47、为什么测试和生产需要分开的环境?
开发者自己的环境通常控制没那么严格,在这样的环境中测试可能会遗漏一些问题。将版本直接从开发者测试转移到生产环境,或者没有用于测试配置管理系统的环境是不负责任的。
为合适的测试环境投入

最低0.47元/天 解锁文章
1321

被折叠的 条评论
为什么被折叠?



