44、为什么金丝雀发布流程失败如此严重,以至于在找到原因之前要停止开发?
因为失败的金丝雀发布意味着测试流程遗漏了某些问题。
金丝雀发布是防止意外不良版本发布的保险措施,而非检测不良版本的方式。
这种失败应该极为罕见,一旦发生,就需要停止开发,投入资源确定问题所在,并增加额外测试以防止未来再次出现此类失败。
45、在新服务推出时,如何使用暗发布技术进行容量规划?
在新服务推出时,可使用 暗发布技术 来弥补知识差距,进行准确的容量规划。具体做法如下:
- 为新功能创建软件开关和暗发布开关;
- 创建一个样本交易并保存到虚拟区域;
- 修改现有交易,使其在暗发布开关开启时表现不同;
- 使用资源回归分析技术查看与新功能相关的资源成本,进行初步容量规划;
- 逐步增加样本暗发布交易的百分比,直到达到实际使用可能出现的水平,并留出一定余量;
- 关闭暗发布,为客户开启新功能。
在暗发布期间,可修复发现的错误,并根据需要调整容量。
46、什么是持续部署,它有哪些好处?
持续部署
持续部署是指每个通过测试的版本都会自动部署到生产环境的过程。它需要持续集成和持续交付,以及自动化任何其他测试、审批和代码推送流程。
好处包括:
- 通过自动化和频繁操作降低风险、改进流程;
- 创建可重复的部署流程;
- 使用面向服务的架构,可对特定子系统进行持续部署;
- 将一些难以判断的因素转化为可衡量的指标,用于自动禁用自动部署;
- 能确保部署的内容满足基本功能要求;
- 促使找到问题的根本原因并解决,而不是简单打补丁。
47、什么时候你会使用脚本语言而不是编译语言,为什么?在哪些情况下你会使用编译语言进行自动化?
使用脚本语言与编译语言的情况及原因
使用脚本语言而非编译语言的情况及原因
- 脚本语言适合快速开发,常用于系统编程,如 Perl、Python 和 Ruby。
- 它们比 shell 脚本更灵活、通用,更具表现力。
- 能更好地组织代码、扩展功能。
- 鼓励现代编码实践。
- 有更好的测试工具和更多预编写库。
- 能更轻松访问网络、存储和数据库。
- 具有更好的错误检查。
- 虽然执行速度比编译语言慢,但在自动化中速度并非总是关键因素:
- 若程序受磁盘 I/O 等因素限制速度,语言速度就不重要。
- 对于规模不大的项目,脚本语言是合适选择。
使用编译语言进行自动化的情况
- 编译语言适合大规模自动化。
- 用编译语言编写的自动化通常比用脚本语言编写的扩展性更好。
- 编译语言通常是静态类型,能在编译时捕获更多错误。
- 常用于系统管理的编译语言有 C、C++ 和 Go。
48、值班系统的主要设计元素有哪些?
值班系统的主要设计元素
- 从服务的SLA出发 ,反向创建值班SLA,再设计满足值班SLA的值班方案。需针对不同服务进行计算,也可按响应时间划分服务类别简化流程;
- 制定值班人员名单 ,涵盖合格的运维人员、开发人员和管理人员。新员工要接受值班技能培训;
- 建立自动化系统检测问题并向值班人员发出警报 ,制定轮班表,明确主值班人和副值班人,提前做好值班安排;
- 编写处理警报的“操作手册” ,记录每种警报的技术描述、业务影响和解决方法,并不断完善;
- 针对所有故障制定应对措施 ,频繁激活的措施实现自动化,不常激活的措施定期自动演练;
- 实现系统自动扩展和缩减 ,系统过载或性能下降时自动切换使用更少资源的算法。
49、在你的组织中,担任值班职责的先决条件是什么?
值班职责先决条件
人员方面
- 值班名单组成 :由合格的运维人员、开发人员和管理人员组成
- 所有运维人员均应在名单中
-
开发人员也应在名单中
-
新入职运维人员培训
- 培训计划聚焦于掌握值班所需技能
- 通常三到六个月应能承担值班职责
准备工作方面
- 值班轮班准备清单
- 值班人员需在轮班开始前通过清单确保自身准备就绪
-
清单项目用于验证以下内容:
- 可达性 :警报通知系统正常工作
- 可发送测试警报进行验证
- 访问权限 :具备响应警报所需资源
- 如VPN软件正常、笔记本电脑电池充满、能清醒执行操作等
-
问题处理
-
若发现问题需及时解决
-
清单启用时间
- 清单应提前适当时间启用
- 目的:以便有时间协商延长当前值班人员轮班或寻找替代人员
50、事后分析报告包含哪四个要素,每个要素需要哪些细节?
事后分析报告结构
事后分析报告包含以下四个主要组成部分:
1. 事件描述
- 应说明受影响的对象(如内部客户或外部客户)
- 应说明受影响的服务
2. 事件时间线
- 在事后重建
- 明确实际发生的事件顺序和时间
3. 促成条件分析(CCA)
- 详细说明事件发生的原因
- 包括可能促成事件的任何重要背景信息(如高峰服务时间、重大负载)
4. 防止未来发生此类事件的建议
- 包括列表中每个建议的工单或错误 ID
51、随时间推移,值班系统应如何改进运营?
值班系统改进建议
值班系统可通过以下方式改进运营:
-
数据驱动的决策与容量预测
- 持续收集交易处理时间、内存使用等数据
- 利用这些数据支持运营决策,并预测未来的容量需求 -
问题的早期检测与修复
- 通过测量数据及时发现并修复内部问题
- 避免问题扩大至影响用户体验 -
警报处理的操作手册
- 针对各类警报制定详细的“操作手册”
- 不断优化手册内容,提升应对效率 -
对策的定期演练
- 对于不常激活的应对措施进行周期性自动演练
- 确保在实际需要时能够有效执行 -
警报处理的闭环管理
- 值班人员在解决警报后进行分类、标注和记录
- 撰写事后分析报告,提交修复请求

最低0.47元/天 解锁文章
1052

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



