移动端仍可深度探索的领域有哪些?点击看业内代表性技术方案及案例>> 了解详情
写点什么

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

  • 2014-01-07
  • 本文字数:1002 字

    阅读完需:约 1 分钟

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

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

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

对Mitchell 来说,这个问题由于目前诸如 Puppet Chef 等配置管理工具而愈加明显。由于包依赖、网络可用性或环境描述中的变更(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

2014-01-07 09:07891
用户头像

发布了 256 篇内容, 共 59.2 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

linux之man命令

入门小站

【校招/社招】面试字节,写了一份硬核简历!

小傅哥

Java 面试 小傅哥 招聘 简历

机器学习:真正的底层是什么?

海拥(haiyong.site)

5月月更

模块五作业

HZ

架构实战营 #架构实战营

在线TSV转HTMLTable工具

入门小站

工具

架构训练营-毕业总结

默光

架构训练营5期

docker可视化管理工具之shipyard

乌龟哥哥

5月月更

函数计算 HTTP 触发器支持异步,解放双手搭建 Web 服务

阿里巴巴云原生

阿里云 云原生 函数计算

java内存模型之双重检查锁定与线程安全的延迟初始化

周杰伦本人

5月月更

Hadoop Java api操作hdfs(一)

Emperor_LawD

hadoop 5月月更

Go Web 编程入门:创建动态 HTML 和文本文件

宇宙之一粟

Web Go 语言 5月月更

从这些云原生企业身上,我看到了数字化创新者该有的样子

阿里巴巴云原生

阿里云 云原生 实战案例

六大应用场景解决方案重磅发布,华为开发者联盟助力开发者商业成功

最新动态

在线HTML文本提取URL链接工具

入门小站

工具

目标检测的算法

黎燃

5月月更

SAP GUI 一些实用技巧分享

Jerry Wang

router 客户端 SAP GUI 5月月更

C语言_数组的查找、替换、排序、拼接

DS小龙哥

5月月更

[Python] 题集 ②

謓泽

5月月更

面向对象的系统分析

奔向架构师

信息系统 5月月更

JAVA为什么需要泛型?

源字节1号

软件开发 后端开发 小程序开发

浅谈Java中的Math.random

秋名山码民

java 5月月更

OpenYurt 开源之夏开始申请啦

阿里巴巴云原生

阿里云 云原生 开源之夏

算力免费,还奖钱,OpenI日常激励活动“我为开源打榜狂”来袭

OpenI启智社区

开源 我为开源打榜狂

网站开发进阶(四十五)浅谈XML与HTML的区别

No Silver Bullet

html xml 5月月更

kubernetes下的Nginx加Tomcat三部曲之一:极速体验

程序员欣宸

Java tomcat Kubernetes 5月月更

网站开发进阶(四十九)由JS报“未结束的字符串常量”引发的思考

No Silver Bullet

作用域 5月月更 解析引擎

cdn日志文件导入mysql进行分析,核心用到 Python

梦想橡皮擦

5月月更

Flink CDC Meetup · Online,5.21 开讲!

Apache Flink

大数据 flink 编程 流计算 实时计算

java内存模型之happenbefore原则

周杰伦本人

5月月更

Bigdata 作业第九周

Pyel

面试突击46:公平锁和非公平锁有什么区别?

王磊

Java 面试 java常见面试题

运营将来时:不可变基础设施与内建故障恢复_DevOps_Manuel Pais_InfoQ精选文章