matlab 混沌_释放混沌猴子

正如我在本系列的介绍性文章中提到的那样,Amazon.com的CTO Werner Vogels遵循一个简单的原则:“一切都会一直失败。” 我经常说过,在软件方面,您永远不应承担任何责任。 如果您不断为所管理的所有资源(无论是硬件还是软件)中的故障做好准备,那么成功的可能性就更大。 这种悖论是各种工具的核心,这些工具会随机禁用或终止生产资源以测试并确保自动恢复机制是基础结构的一部分。

这些工具中最引人注目的是Chaos Monkey (请参阅本主题和其他工具的参考资料),该工具由Netflix技术团队开发,并于今年早些时候开源。 在本文中,我介绍了将Chaos Monkey整合到您的基础架构中的原则和步骤,以确保它可以处理不可避免的故障。

诸如Chaos Monkey之类的工具是基础设施商品化,虚​​拟化和云计算所带来的向短暂环境(在上一期中讨论)发展的结果。 过去,基础架构(包括物理机,网络交换机,防火墙,负载平衡器,软件服务器和其他资源)是工程师团队一次手动设置的。 然后,他们将监视其使用情况,不断进行手动调整以修改配置,提高性能并执行其他活动。 这不再被认为是一种好习惯,并且对于任何规模不大的基础设施而言,这简直是做不到的。 诸如Chaos Monkey之类的工具可以对基础结构进行监视,诊断,随机化和破坏,以确保工程师应用自动化来限制发生大问题时用户所受到的影响。

寻找和摧毁

构成用于持续测试基础结构的环境的过程的步骤的高级列表包括:

  • 启动实例 :启动一些计算实例。
  • 创建自主基础设施 :配置一个基础设施,推出新的实例(基于同一模板)时,基础设施识别不健康的情况下(参见IBM在上自主计算门户网站相关主题 )。
  • 应用自动测试以确保自动恢复 :在工程师准备做出React并修复时,请在几个小时内运行测试。
  • 学习和预防 :当确实发生故障时,做出React并防止故障再次发生。

持续测试和自我修复的基础架构的信念是:

  • 基础架构将失败。
  • 当工程师有空时,您需要测试生产中的这些故障。
  • 当故障再次发生时,您的基础架构必须自动从中恢复,而用户不会注意到。

在许多方面,它是完美的技术实现真正致力于不断改进或持续改善组织的(参见相关主题 )。

总之,这种新型的弹性工具和随附的基础架构具有以下功能:

  • 监视 :守护进程不断运行以诊断错误。
  • 诊断 :诊断工具是系统监视的一部分。
  • 破坏 :通过关闭实例和其他破坏性活动来故意破坏基础架构。
  • 随机化 :为了防止预期的结果和行为,将中断随机应用于基础结构。
  • 自我修复的基础结构 :尽管不是弹性工具的一部分,但预期的结果是团队将继续应用和改进能够在不引起用户注意的情况下从服务中断中恢复的自主基础结构。

混沌猴子

Netflix大量利用云基础设施将电影流传输到用户,以及其他功能。 据报道,2012年7月,Netflix用户在2012年6月的流媒体播放时间超过10亿小时。 它大规模使用它。

GitHub上的快速入门指南,作者:Netflix的技术团队(请参阅“快速入门指南混沌猴”在相关主题 )描述的步骤要经过得到混沌猴和运行。 以下列表为您提供了有关Chaos Monkey使用的工具的更多信息。 请确保运行指南中描述的命令以删除所有未使用的资源,否则您将继续收取使用费用。

  • Auto Scaling :Auto Scaling是Amazon Web Services的一项特定功能,使您可以通过定义的规则根据需求上下扩展计算能力。 尽管它是特定于AWS的功能,但是您可以使用私有或公共云基础架构来创建这种类型的可扩展环境。 Auto Scaling具有两个关键组件:启动配置和Auto Scaling组。 启动配置定义如何启动Auto Scaling组中的实例。 Auto Scaling组是要对其应用特定启动配置的实例的集合。
  • SimpleDB :SimpleDB是一个NoSQL数据库,可用于持久存储数据。 您需要定义一个SimpleDB域。 混沌猴子使用它来存储状态。
  • Gradle :Gradle是一个构建工具。 它用于构建Chaos Monkey和启动Jetty应用程序容器。
  • 属性文件 :您需要使用凭证和其他可配置信息来修改simianarmy.properties文件。
  • Jetty :内存中的Jetty服务器运行Chaos Monkey来随机破坏您的基础架构。

猿猴军

混沌猴子是Netflix技术团队的猿猴军的第一部作品。 在表1中,我列出了Netflix提议的构成猿猴军的其他工具(请参阅参考资料 ):

表1.猿猴军队
名称 描述
混沌大猩猩 模拟整个可用区的中断
整合猴子 关闭不遵循最佳做法的实例
猴子医生 执行运行状况检查(例如CPU)
看门人猴子 搜索未使用的资源并进行处理
潜伏猴子 在人机对话中造成人为延迟
安全猴子 查找安全漏洞,例如配置不正确的安全组

这些只是一些想法。 在基于云的生产环境中,将监视,诊断,测试和故意破坏相结合的其他方式的可能性是无限的。

释放愤怒

在本文中,您了解了您可以真正地开始创建能够借助诸如Chaos Monkey和云环境之类的工具自我修复的自主基础结构。

在下一篇文章中,您将了解测试驱动的基础结构。 在其中,您将学习如何使用Cucumber之类的工具将测试驱动的开发技术(开发人员通常用于应用程序代码)应用到您的基础架构中。


翻译自: https://www.ibm.com/developerworks/java/library/a-devops4/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值