本文根据高效运维系列微信群的群友投稿整理而成。“高效运维”公众号作为本系列群的官方唯一公众号,原创并独家首发。

欢迎关注“高效运维”公众号,以免费参加「运维讲坛」每月一次的线下交流活动;并抢先赏阅干货满满的各种原创文章(详见文末)。

编辑

  • 王鹏(翻译)

  • 高浩淼(整理&发布)

引言

【编者按】近日,国外有技术专家在 SEI 攥文盘点了当下流行的 DevOps 思想和工具,其中包括Fabric、Ansible、Docker、Chaos Monkey等。本文系OneAPM与高效运维联合编译整理:

在2014年年底,SEI 博客发表了一系列有关 DevOps① 的博客文章,提供指南,实用的建议和教程。这些帖子针对越来越多的采用 DevOps 的企业(2011年以来,高达26%)。

根据最近的研究②,这些组织部署变更代码比传统的方式快30倍。

尽管 DevOps 的好处显而易见,但是许多企业仍不敢采用 DevOps,因为这需要转变心态、文化和技术要求,对于传统企业是非常大的挑战。

鉴于这些障碍,CERT 研究人员的文章主要集中在介绍 Amazon③Netflix④ DevOps 的成功案例,以及一些 DevOps 流行技术的教程,如 Fabric⑤Ansible⑤Docker⑥

我们将介绍2015年过去的六个月,10个最流行的 DevOps 相关文章(根据访问次数排序)。本文介绍前5篇文章,后续有文介绍后5篇文章。点击文末的“阅读原文”即可欣赏本文的英文出处。

1. DevOps技术:Fabric与Ansible

这篇博客文章中,作者重点描述了使用 DevOps 部署过程相关的情况,包括评估资源需求、设计生产系统、配置和生产服务器的配置、同步代码等等。

以下为摘录:

部署代码的工作流程几乎和代码本身一样古老。有许多与部署过程相关联的用例,包括评估资源需求、设计一个生产系统、配置和配置生产服务器、同步代码等等。

在这篇博客文章中,我将会专注于配置一个远程服务器上的软件包和必要的软件来执行您的代码。这个用例可以使用许多不同的,相互竞争的技术完成:

如:Chef、Puppet、Fabric、Ansible、Salt、Foreman,这些只是少数你可能已经听到过的有关 DevOps 自动化运维之路的技术。

所有这些技术都有提供仓库,可以提交脚本到仓库,并完成任务。这篇文章更深入的探讨了Fabric 和 Ansible。要了解更多关于其他基础设施即代码的解决方案,看看关于 Docker 的文章⑥关于 Vagrant 的文章⑦

Fabric 和 Ansible 之间的一个区别是,Fabric 会让你在几分钟内看到结果,而 Ansible 需要付出更多的努力去理解。通常来说,Ansible 是更强大的:

因为它提供了更深入和更复杂的多层架构模型的语义,如 Web 和数据库主机阵列。

从运维的角度看,Fabric 具有更直接和基本 API,可以使用 Python 编写,而 Ansible 使用 YAML,提供了丰富的操作(我以后再讨论这篇文章)。我们将通过这篇文章中的例子来说明。

阅读完整的文章,DevOps 技术:Fabric 与 Ansible,请访问
http://blog.sei.cmu.edu/post.cfm/devops-technologies-fabric-or-ansible

2. DevOps 之 Docker

阅读完整的文章,DevOps 之 Docker,请访问
http://blog.sei.cmu.edu/post.cfm/devops-docker-015

3.使用Docker做开发

Docker 这些日子在 DevOps 社区是相当火爆,这有很好的理由。Docker 容器使开发和部署应用软件达到可控制的、隔离的、灵活的和高度可移植的基础设施。

在这篇文章中,作者介绍了使用 Docker 开发和部署软件应用程序的可扩展性,资源效率,以及弹性。

以下为摘录:

Linux 容器技术(LXC),为 Docker 的建立提供了基础,然而这并不是一个新想法。LXC 早已出现在 Linux 内核2.6.24版本中,当控制族群(或 cgroups)正式被集成时。

实际上谷歌早在2006就使用了 Cgroups 技术,因为谷歌一直在寻找,在共享硬件上进行资源隔离和运行的方式。

事实上,谷歌承认每周会启动200万个容器,使用自己发布的 LXC 容器imctfy ⑨。

不幸的是,这种技术并不容易被采用,直到 Docker 来简化容器技术,使它更易于使用。

在没有 Docker 的时代,开发者很难访问,实现,更不用说要理解 LXC 的优点。DotCloud⑩创始人、现任首席技术官 Solomon Hykes 发现 Docker 的潜力,在2013年三月份Docker作为开源项目被发布。

Docker的易用性是由于其高层次抽象的API以及文档。这使得 DevOps 社区充满力量,并创建 Docker 教程、官方化应用程序和许多其他的技术。通过降低进入容器技术的门槛,Docker 已经改变了开发人员共享、测试和部署应用程序的方式。

在这篇文章使用 Docker 开发⑪中,Yankel 描述了如何开始使用 Docker 在一个普通的软件开发环境开发相应的软件,通过启动一个数据库容器(MongoDB),一个 Web 服务容器(Python Bottle APP),并配置它们可以互相访问。这是一个多容器应用程序。

阅读完整的文章,使用 Docker 开发,请访问
http://blog.sei.cmu.edu/post.cfm/development-with-docker

4.DevOps 示例:Amazon AWS

经常阅读 DevOps 博客的读者会发现这个系列中会反复出现的主题:

DevOps 本质上是通过精心的构建组织过程、加强沟通和工作流程来提升质量。

本文⑫中,主要分享了 Amazon DevOps 的经验。

阅读完整的文章, DevOps 示例:Amazon AWS, 请访问
http://blog.sei.cmu.edu/post.cfm/devops-casestudy-amazon-aws-036

5.DevOps示例:Netfix的Chaos Monkey

DevOps 经常被运用在如敏捷开发、自动化和持续交付,DevOps 的精神可以应用在很多方面。在这篇博客中,作者分享了另外一个具有开创性的 DevOps 案例研究,Netflix⑭的一些开箱即用的方式。

以下为摘录:

Netflix 是一个奇妙的案例研究,因为他们的 DevOps 软件工程过程,展示了一个对 DevOps 本质的了解,专注通过 DevOps 自动化辅助过程来达到质量要求。

DevOps 从业者信奉一种注重质量属性的驱动来满足业务需求,利用自动化过程实现一致性和效率。

Netflix 的流媒体服务是一个托管在AWS的大型分布式系统。由于这么多组件一起工作,为各个地区的客户提供可靠的视频流,Netflix 工程师需要侧重于服务端-客户端组件质量属性的可靠性和鲁棒性的。

总之,他们得出结论认为,处理失败的唯一方法是不断实践失败。

为了实现如此可信赖的,质量达标的水平,使用 DevOps 的风格,Netflix 公司的工程师开始使用自动化故障方案。

阅读完整的文章,DevOps 示例:Netfix 的 Chaos Monkey,请访问
http://blog.sei.cmu.edu/post.cfm/devops-case-study-netflix-and-the-chaos-monkey

说明

后 5 篇文章也是非常的精彩哦。敬请期待。

每两周,SEI 会发布一篇新的博客,为那些尝试采用 DevOps 的组织提供指南,实用的建议和教程。我们欢迎您对本系列文章提供反馈,以及对未来内容的建议。请在下面的评论部分反馈意见。

① http://blog.sei.cmu.edu/post.cfm/what-is-devops-324
② http://readwrite.com/2014/02/11/devops-future-diy-it-gartner-nosql
③ http://blog.sei.cmu.edu/post.cfm/devops-casestudy-amazon-aws-036
④ http://blog.sei.cmu.edu/post.cfm/devops-case-study-netflix-and-the-chaos-monkey
⑤ http://blog.sei.cmu.edu/post.cfm/devops-technologies-fabric-or-ansible
⑥ http://blog.sei.cmu.edu/post.cfm/devops-docker-015
⑦ http://blog.sei.cmu.edu/post.cfm/devops-technologies-vagrant-345
⑧ http://www.sei.cmu.edu/about/people/profile.cfm?id=yankel_15790
⑨ https://github.com/google/lmctfy
⑩ https://www.dotcloud.com/
⑪ http://blog.sei.cmu.edu/post.cfm/development-with-docker
⑫ http://blog.sei.cmu.edu/post.cfm/devops-casestudy-amazon-aws-036
⑬ http://aws.amazon.com/
⑭ http://www.netflix.com/

如何一起愉快地发展

“高效运维”公众号(如下二维码)值得您的关注,作为高效运维系列微信群(国内领先的运维垂直社区)的唯一官方公众号,每周发表多篇干货满满的原创好文:来自于系列群的讨论精华、运维讲坛精彩分享及群友原创等。“高效运维”也是互联网专栏《高效运维最佳实践》及运维2.0官方公众号。

提示:目前高效运维两个微信主群仅有少量珍贵席位,如您愿意,可添加萧田国个人微信号 xiaotianguo 为好友,进行申请;或申请加入我们技术交流群(技术讨论为主,没有主群那么多规矩,更热闹)。

重要提示:除非事先获得授权,请在本公众号发布2天后,才能转载本文。尊重知识,请必须全文转载,并包括本行及如下二维码。

[转载] DevOps年中盘点:国外最受欢迎的10篇技术文章的更多相关文章

  1. 国外最受欢迎的十大社交APP网站

    国外最受欢迎的十大社交APP网站 2016-11-01 09:34悠悠国外网     有哪些好的国外社交软件你知道吗,想使用国外流行的社交应用来体验不一样的社交么,想和外国友人交朋友么.本期悠悠国外网 ...

  2. [TOP10]最受欢迎的10个Metasploit模块和插件

    很多人都想知道最受欢迎的10个Metasploit模块和插件是什么(TOP10),事实上这是一个很难回答的问题,因为什么才叫"Top"?我想每个人都有每个人的看法.于是我们通过调查 ...

  3. Python和Flask真强大:不能错过的15篇技术热文(转载)

    Python和Flask真强大:不能错过的15篇技术热文 本文精选了 Python开发者 11月份的15篇 Python 热文.其中有基础知识,机器学习,爬虫项目实战等. 注:以下文章,点击标题即可阅 ...

  4. 转载 DevOps的基本原则与介绍

    转载原地址:  http://www.cnblogs.com/wintersun/p/3339047.html DevOps的基本原则与介绍 DevOps这个术语是developer与operatio ...

  5. [转载]DevOps发展的四个重要阶段

    DevOps是敏捷开发的延续,它将敏捷的精神延伸至IT运营(IT Operation)阶段.敏捷开发的主要目的是响应变化,快速交付价值.以2001年的敏捷宣言发布这个里程碑为起点,开始几年内企业主要在 ...

  6. [转载]DevOps在传统企业的落地实践及案例分享

    内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...

  7. [转载]DevOps建立全生命周期管理

    全生命周期管理(ALM)领域作为企业DevOps实践的总体支撑,应该说是DevOps领域中最为重要的实践领域,也是所有其他实践的基础设施.现在很多企业都非常重视CI/CD自动化工具的引入和推广,但是对 ...

  8. 国外最受欢迎的15个BT下载网站

    1.EYH.BIZ 海盗湾(The Pirate Bay)现在在中国成立的一个分部 www.eyh.biz 一个提供BT种子文件和链接,以方便使用BT协议的对等文件共享网站.该网站于2003年在瑞典创 ...

  9. 【年度盘点】最受欢迎的5大Java练习项目

    5. SSM + easyUI 搭建简易的人事管理系统 当前学习采用 SSM + easyUI 来开发一个比较简易的人事管理系统,让大家能够通过实际项目掌握 SSM 项目的开发.项目当前学习人数:16 ...

随机推荐

  1. js 判断某个对象是不是dom对象

    <script type="text/javascript">//首先要对HTMLElement进行类型检查,因为即使在支持HTMLElement的浏览器中,类型却是有 ...

  2. java从命令行接收多个数字,求和之后输出结果

    设计思想:获取输入数的个数,然后将要相加的数字转换成为浮点型进行相加,最后进行输出 源代码: package Add; import java.util.Scanner; // 严羽卿   2015. ...

  3. 杭电1013-Digitai Root(这是一道考研编程题-天大2015)

    Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  4. js 表单操作

    order.aspx 订单页-  order-detail.aspx订单确认页-  操作:order.aspx提交订单@1,跳转到order-detail.aspx页面,确认页面操作:返回上一步@2- ...

  5. SlickGrid example 5:带子项的展开收缩

    带子项的展开收缩.   代码: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Ty ...

  6. 【Unix环境编程】select、poll、epoll机制的联系与区别

    在linux设计并发网络程序,主要有如下几种模型:Apache模型(Process Per Connection, PPC).TPC(Thread Per Connection)模型,select机制 ...

  7. 更新yum源

    见地址: http://www.cnblogs.com/lightnear/archive/2012/10/03/2710952.html 163的不好用,执行失败,用alibaba的没有问题,如下: ...

  8. Unix网络编程--卷二:进程间通信

    Unix网络编程--卷二:进程间通信 本书是一部Unix网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机网络应用程序的必要条件.本书从对Po ...

  9. 干净的卸载Oracle

    一.在oracle11G以前卸载oracle会存在卸载不干净,导致再次安装失败的情况,在运行services.msc打开服务,停止Oracle的所有服务. 二. oracle11G自带一个卸载批处理\ ...

  10. Mysql-学习笔记(==》存储过程 九)

    1.存储过程概念在大型数据库系统中,一组为了完成特定功能的sql语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. 2.建立存储过程delimit ...