DevOps工程师该懂些什么?
极客时间编辑部
讲述:初明明大小:3.33M时长:03:39
你好,欢迎收听极客视点。
DevOps 工程师们应该懂点什么,又该会做些什么?DevOps 资深专家安德鲁·S(Andrew S)整理了一份 DevOps 工程师的技能清单,当然列举的可能不完整,只涵盖工程师们应当具备的部分核心技能。
1. 敏捷开发原则
这也是现代开发世界中最重要的技能之一,特别是在远程协作开发场景之下。其中不仅包括区分 Kanban 与 Scrum 间的差异,同时也要求我们能够与团队顺畅沟通、了解客户价值、跟踪时间进度,以及整理出易于理解的工作日志、独立报告与清晰说明文档的能力。
2. 自动化 + 万物即代码
你应该尽快摆脱手动操作的困扰。时至今日,几乎一切日常工作都对应着自动化工具。如果找不到现成的工具,你也可以使用 Python 及 Bash 自行编写。例如,如果需要创建虚拟机镜像,请使用 Packer。如果需要配置 10 台以上的主机,请使用 Ansible。如果你在 Google Cloud Platform 中创建 Kubernetes 集群,或者需要在 Amazon 上使用 CDN,请使用 Terraform 以简化操作流程。总而言之,从通过网络加载新的裸机服务器到在现有集群中部署新容器,一切都应以自动化方式进行。另外,你编写的代码应该具有可复制性与幂等性,提交内容必须经过跟踪程序的审核,且严格遵循以上要求。
3. 云与混合架构
目前,我们发现大多数企业都不会只使用一家云服务供应商(为了避免供应商锁定问题)。没错,一切不该简单粗暴地交给云方案处理,我们可以将服务中的不同部分运行在 AWS、Heroku 以及其他 IaaS、PaaS 与 SaaS 之上。请努力找到最理想的解决方案,并保证能够在特定时段内完成不同平台之间的服务迁移。另外,也别忘了之前提到的自动化原则,自动化程度越高、迁移难度就越低。
4. 可扩展性与高可用性要求
最重要的是意识到企业能够在特定时段内承受怎样的停机与数据丢失影响。明确这一点之后,你会发现长达 24 个小时的资源停机假设将毫无意义。另外,资源哪怕只宕机一个小时,造成的损失就可能高于一整年的完整热备份服务使用成本。借助云服务与容器化技术,扩大系统规模变得愈发轻松。但是,基础设施与服务本身也需要为这种灵活扩展能力做好准备(这里再次向本地对象存储开炮,这简直就是麻烦的终极根源)。
5. 监控与警报
为了及时做出回顾、预测与响应,我们当然有必要收集系统、应用程序及业务中的一切可用指标。这些指标就像团队的眼睛,而且无法通过单一监控解决方案全面实现。每种云服务或平台都提供自己的一组可用指标与警报,但大家还需要结合需求使用 Librato 或 Datadog 等外部系统,或者在 Prometheus 上构建自定义监控服务。总之,一切选择都应该以合理的预算、时间及任务需求为基础。
6. 安全性
安全保障确实不是 DevOps 工程师的核心职责。但是,大家必须掌握相关安全基础知识。端点上部署 SSL,策略中没有 * 号,不存在公开或可写入的存储桶,分区需要进行加密,注意部署封闭的防火墙、安全组以及多因素验证等等。另外,DevOps 还应该与安全部门合作,在实现流程自动化的同时快速在服务中应用新的安全策略。
以上就是 DevOps 工程师们应该懂的 6 个核心技能,希望能给你带来参考价值。
原文链接:DevOps 工程师的必备技能清单
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论