Netflix刚刚开源了他们那被人惦记好一阵子的“Chaos Monkey”,这是一套用来故意把服务器搞下线的软件,可以测试云计算环境的恢复能力。Netflix专门开发的一系列捣乱工具,已经有不少被拿出来和技术社区自由分享,现在Chaos Monkey也加入了这个行列。
Netflix团队让Chaos Monkey亮相的时间,最早是在2010年12月的一篇官博文章,文章内容是他们在AWS云上托管其热门视频流服务所得到的经验教训。文中总结了一点,叫做“避免失败的最好办法是经常失败”,反映Netflix通过主动破坏自身环境来发现弱点的做法。
我们的工程师在AWS上最早建立的系统之一叫Chaos Monkey。这猴子的工作是随机杀掉架构中的运行实例和服务。如果我们不经常检验自己战胜挫折的能力,那么在最需要的时候,遇到意料之外的故障事件的时候,能力很可能使不出来。
Netflix技术团队在2012年7月20日的官博文章上宣布,Chaos Monkey作为开源项目公开。文中解释了Chaos Monkey的设计意图和运营中的注意事项。Netflix声称软件可以成功运行在在AWS以外的云上,主要给用户检测自身环境中的失败条件。考虑到有人会担心在数据中心里随便放跑猴子,不知道会闯出多大的祸事,Netflix预设了一些配置选项作为防备。首先,Chaos Monkey可以被设定为只在支持人员现场待命,准备救灾的时候才运行。
服务具有可配置的执行计划,默认只在非假日的周一到周五上午9点至下午3点执行。一般来说,我们的应用设计可以保证一两个实例下线不至于导致服务中断,但万一有什么特殊情况,我们还是希望边上有人能解决问题和吸取经验。根据这样的思路,我们设计只有在预料警报会被工程师发现并作出响应的有限时间段,才把Chaos Monkey放出来。
第二,用户可以决定Chaos Monkey对新应用的攻击强度。Netflix喜欢让Chaos Monkey对所有的应用无差别攻击(除非应用负责人明确选择退出),但一般用户不需要完全照学,可以养一只温顺点的猴子,叫它只跟特定的应用过不去,还可以把彻底搞死实例的几率设得低一些。
不是所有的应用都能把实例下线不当回事。有时候恢复实例必须拿人力去填,说不定还要折腾备份。简化回复流程,加快恢复速度,最终实现自动化,这些都需要时间。对于禁不起下线的应用,Chaos Monkey允许自主退出。Chaos Monkey中止实例的几率也是可调的。
比Chaos Monkey还早一点点喜迎开源的是另一个重要项目:Asgard。Netflix团队在另一篇文章中说,Asgard是用于部署和管理AWS环境的一套web界面。AWS本身的管理控制台提供了完整的服务器规划能力,不过Netflix团队觉得它缺少了“应用”的概念,所以打算让Asgard填补空缺。
当一个面向服务的架构中充满了巨量云对象的时候(如同Netflix所面临的情况),让用户从中找到与特定应用关联的全部对象,是很重要的一件事情。Asgard依靠存放在SimpleDB里的应用登记表和命名约定,把应用和相关的云对象联系到一起。
另外,Asgard将AWS Auto Scaling Groups聚合为“clusters”对象,更便于在部署失败的时候回滚。Asgard之所以设计“应用”和“集群”的概念,以及支持自动化部署任务,都是为了简化AWS的管理,减少人为出错。
Netflix正在积极的开源其软件,惠及更大的社群,Chaos Monkey和Asgard只是其中的一小部分而已。在他们的Github页面上可以看到Netflix全部开源项目。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
谷歌云业务CEO描绘谷歌云计划 收购传言四起
行业观察人士猜测,新任谷歌云首席执行官Thomas Kurian将通过大规模收购来获取市场份额,并与竞争对手A […]
-
Workday公司继续在亚太地区大举投资
随着亚太地区(APAC)地区越来越多的企业转向云计算来拓展其数字业务,Workday公司跻身为全球发展最快的云 […]
-
华为“一云一湖一平台”架构助力客户加速智能化进程
在第十五届华为全球分析师大会上,秉承“智IT,慧未来”的理念,华为IT产品线分享了IT基础设施在数字化转型过程 […]
-
云计算可移植性的来龙去脉
目前云计算提供商都是按不同的方式构建其产品,这造成典型的“缺乏标准、以创新为导向以及供应商锁定”的局面。 但供 […]