BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

运营将来时:不可变基础设施与内建故障恢复

| 作者 Manuel Pais 关注 9 他的粉丝 ,译者 李彬 关注 1 他的粉丝 发布于 2014年1月8日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

在上个月伦敦Velocity大会的演讲中,Vagrant的缔造者Mitchell Hashimoto介绍了他对于“未来的运营”的愿景,在其中谈到了“不可变基础设施”与内建的故障恢复。

Mitchell的愿景涉及了可重复的环境(通过配置管理工具)、超快部署时间(通过预建的静态映像)和服务编制时间(通过分散式编制工具)。在这个情景中,配置全新的服务器与更换故障服务器并没有什么不同。

这一愿景是构筑在不可变基础设施的理念之上的。在该理念中,机器在启动时得以配置,并将永远不会进行修改。后续出现的任何环境变更,都会通过部署新机器并取代过时的不可变机器(并出现一些警告,例如复杂的数据库服务器变更,或是诸如CSS修改等小型应用变更)来实现。这一理念曾被一些人视为空想,因为现今在任何系统中都存在大量的外部依赖。

对Mitchell来说,这个问题由于目前诸如PuppetChef等配置管理工具而愈加明显。由于包依赖、网络可用性或环境描述中的变更(Chef的cookbooks或Puppet的manifests),相同服务器的可重复部署难以得到保证。Mitchell认为,可预见性的关键是使用预建并且经过测试的机器映像(二进制)——类似于从源代码编译得来的软件二进制包。

在Mitchell看来,机器映像之所以在过去有着不太好的名声,是因为它们难以维护。但是借助当前的配置管理工具,映像现在易于进化,并且以持续集成的方式构建。Packer等新工具能够基于单一的模板和环境描述集合,为多管理程序(VirtualBox、VMWare等等)构建映像,从而进一步简化了任务。

然而,在映像部署之后(而不是作为部署流程本身的一部分),依旧需要执行服务发现和编制任务(比如建立负载均衡)。Serf是Mitchell开发的另一个用于该领域的工具。他表示,Serf的设计初衷是为了通过松耦合代理和基于流言机制的成员制(新的代理必须与已加入的现有代理联系,才能够加入系统),支持故障探测和恢复。类似地,某个代理探测到故障节点,并向其他代理“传播(gossip)”这一消息——由它们决定是否需要替换该节点。

Mitchell宣称,这一切的主要价值在于机器映像生成过程中的编制速度,以及配置管理流程的简化(只需要配置Serf代理服务,然后Serf将在机器启动的时候自动启动)。

在问答环节,Mitchell还表示,在他看来Docker(用于应用容器)、Packer(用于公共基础设施)和Serf(用于服务编制)的共存毫无问题。

查看英文原文:FutureOps with Immutable Infrastructures and Built-in Failure Recovery

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT