年度十佳 DevOps 博客文章(后篇)

 新葡亰计算机网络     |      2020-01-30

近日,有专业人士针对 Stack Overflow Jobs 上的招聘趋势数据进行了整理,分析出了2017年企业对开发者的招聘需求趋势。

如果说 15 年你还没有将 DevOps 真正应用起来,16 年再不实践也未免太落伍了。在上篇文章中我们了解到 15 年十佳 DevOps 博客文章的第 6-10 名,有没有哪一篇抓住了您的眼球,让您有所收获呢?接下来让我们来看一看排名前五的文章,究竟是不是妙笔生花,鞭辟入里!

年度十佳 DevOps 博客文章(后篇)。自2015年以来,企业指定招聘目标/类型增长最快的是 ReactJS、Docker、Ansible 和 Apache Spark,其次是系统管理和 QA 。

本文是「年度十佳 DevOps 博客文章(前篇)」的后半部分,译自 Hasan Yasar 的文章 the Top 10 Devops Posts of 2015.

图片 1

2015 年 8 月,DevOps 博客 推出了自己的平台。DevOps 博客针对越来越多采用 DevOps 的企业(自 2011 年来占比高达 26%),提供各种指南、实用建议和教程。根据近期研究,这些企业变更代码的速度比传统企业快 30 倍。尽管 DevOps 的优势显而易见,很多企业仍然不敢欣然采用,因为这不仅需要转变观念,还要改变文化和技术要求,后者对孤立的竖井式企业而言,是极大的挑战。考虑到这些障碍,CERT 研究人员的文章主要集中介绍 Amazon 和 Netflix 的 DevOps 成功案例,以及 Fabric、Ansible 和 Docker 等流行 DevOps 技术的教程。本文则介绍了 2015 年 10 篇最受欢迎的 DevOps 文章中的第 1-5 名(倒序)。

具体来看,定位到 ReactJS 开发人员的工作包括有全栈 Web 开发人员、前端 Javascript 工程师和高级 UX 开发人员等;Docker 的包括高级自动化工程师、高级基础设施工程师和 DevOps 工程师等;针对 Ansible 的有数据团队管理、云操作工程师和 Linux DevOps 工程师等;Apache-Spark 的工作包括有大数据架构师、数据开发人员和工程总监……

5.DevOps 案例分析:Netflix 和 Chaos Monkey

DevOps 经常被用在 敏捷 开发、自动化和 持续交付 等实践中,但 DevOps 的精神却可以应用在很多方面。在这篇博文中,C. Aaron Cois 剖析了另一个影响深远的 DevOps 思维案例分析 - Netflix 的开箱即用方式。

下面是这篇文章的摘录:

对于 DevOps 来说,Netflix 是一个奇妙的案例,因为 Netflix 软件工程过程显示了对 DevOps 思维本质的深刻理解和通过自动化辅助过程对质量属性的关注。DevOps 从业者信奉以一种注重质量属性的驱动满足业务需求,充分利用自动化过程实现一致性和高效率。

Netflix 的流媒体服务是一个托管在 AWS 上的大型分布式系统。众多组件必须一起工作,才能为使用各种设备的客户提供可靠的视频流。过去, Netflix 工程师需要同时重点关注服务器和客户端组件这二者的可靠性和鲁棒性等质量属性。简而言之,他们 得出结论,正确应对失败的唯一方法是不断失败。为了实现确实符合 DevOps 风格、预期的信赖水准和质量水平,Netflix 工程师开始采用自动化故障方案。

阅读原文: DevOps 案例分析:Netflix 和 Chaos Monkey

需求减少的

4.用 Docker 进行开发

在用 Docker 进行开发 这篇文章中,Joe Yankel 分享了一份利用 Docker 在软件开发通用环境中进行开发的入门教程:启动一种数据库容器 (MongoDB) 和一种网络服务容器(一款 Python Bottle 应用),然后对二者进行通信配置,形成实用的多容器应用。

下面是这篇文章的摘录:

如果您还不了解 Docker 的基本知识,请先点击 此处 学习 Docker 的官方教材再继续阅读本文。

入门前,您需要有一台 虚拟主机 或其他兼容 Docker 的主机。根据下面的操作说明来创建演示程序所需的源文件。

为方便起见,请从 我们的 github 资源库 下载所有源文件,然后跳转到演示部分。我们的源代码包含一份 Vagrant 配置文件,可在适用环境下运行演示。请点击 此处 查看我们对 Vagrant 的介绍。

阅读原文:用 Docker 进行开发 & 推荐文章 为什么 Cloud Insight 要支持监控 Docker

数据还显示对 Ajax、jQuery 和 WordPress 等相关技术的需求正在减少。 

3.DevOps 的持续集成

人们首次展望 敏捷 软件开发模式时,核心原则是:更快地实现软件更改迭代、通过探索确定适当的路径,本质上来说,就是力求“故障快速修复 (fail fast)”并将正确性作为基本项目目标进行迭代。有人认为,由于对客户认识不足以及无法预期客户不断变化的需求,在项目开始时开发人员缺少正确定义长期项目要求的必要信息,因此,敏捷过程应运而生。近期的研究 继续凸显出软件开发周期中规划、设计和执行阶段之间的断层问题,为这一结论提供了有力证明。在 DevOps 的 持续集成 这篇文章中,C. Aaron Cois 强调需要进行持续集成以避免断层,从而降低软件开发项目的风险。

下面是这篇文章的摘录:

持续集成 (CI) 是 DevOps 的基石。持续集成技术由 Grady Booch 开发并命名,可持续合并来自团队所有开发人员的最新源代码并形成共享主线。持续的合并可以防止其他成员新增代码时开发人员的软件项目本地复本偏离主题过远,从而避免灾难性的合并冲突。实际应用中,CI 会有一台中央服务器,在开发人员提交新的源码或从头构建软件应用时,这台服务器会持续地纳入所有源码的修改情况,并将此过程中的任何故障告知团队。如果发现故障,开发团队应该重新将精力集中在故障修改,直到修复完成才能提交新的代码修改。虽然看起来有些混乱,但实际上 CI 使开发团队专注于单一的稳定性指标:行之有效的软件自动构建。

DevOps 方法的关键要素是消除理解断层和影响力断层,企业必须派遣一位或多位相关专家与开发团队展开全面交流,巩固域中心观点。要消除开发和 维护 之间的断层,DevOps 从业人员一开始就将开发团队中的 IT 运维专业人员视为团队正式成员。同样地,为了确保软件质量,在整个项目周期内质量管理人员都必须作为团队成员。换句话说,DevOps 意识到,确保高质量开发需要与多位技术专家(包括质量管理专家和运维专家)持续交流并积极听取专家意见,继而以敏捷为原则扩展示其应用范围。

阅读原文