Gremlin 公司发布了 Gremlin,一种基于 SaaS 的“恢复能力即服务”(Resilience as a Service)平台。Gremlin 支持企业通过“按需破坏系统”开展混沌(Choas)实验,这样有助于在应用发生停机故障前预防问题的发生。
Gremlin 使得企业可以在所管理的基础设施中注入一些受控的资源、网络和状态故障,以便工程师查看在此类故障条件下系统的运作行为。Gremlin 还提供了一个“撤销”按钮,一旦出现问题即可自动清除注入故障。
自去年以来,混沌工程和恢复能力测试的理念日益流行,而 Netflix 等先驱对此已摇旗呐喊了相当长的时间。Netflix 的 Chaos Monkey,以及相关的 Simian Army 系列工具,已经成为相当主流的工具。
此外,最近也有不少会议演讲是以混沌为主题。但是要使用混沌技术,通常需要高层级的基础设施和操作技能、实验的设计和执行能力,以及一些可用的资源,并且由于混沌工程不能破坏生产环境,因此还需要以受控方式手动编排故障场景。
Gremlin 平台提供了一种基于 Web 的 GUI,用于在已安装 Gremlin 守护进程(代理)的计算设备上执行和管理混沌实验。在 Linux 上,守护进程可以使用 Debian 和 RPM 软件包安装。对于那些在容器中运行应用的企业,Gremlin 还提供了用于 Docker 的安装选项(附带对 Kubernetes 的支持)。
Gremlin 的 Web UI 支持以受控的方式运行,发布一系列针对基础设施的故障“攻击”,其中包括:
Resource Gremlins:CPU,对一到多个 CPU 内核生成高负载;内存,分配指定数量的 RAM;IO,对磁盘等 I/O 设备进行读写压力测试;磁盘,通过写文件,占满一定比例的磁盘空间;
Network Gremlins:黑洞,丢弃所有匹配网络流量;延迟,对所有匹配的出口网络流量注入延迟;包丢失,对所有匹配的出口网络流量加入网络包丢失;DNA,阻止对 DNS 服务器的访问;
State Gremlins:关机,支持用户开展主机操作系统的重启或关闭测试。例如,当一到多个集群内机器失联时,系统的行为如何?时间旅行,更改主机的系统时间,可用于模拟调整夏令时,以及其它与时间有关的事件。杀掉进程,一种杀掉特定进程的攻击,可用于模拟应用或依赖崩溃的情况。
攻击可以是即席的(ad-hoc)、程序化的或按计划执行的。攻击也可以被安排在特定日期和特定的时间窗口内执行,并可设置计划生成的最大攻击次数。
Gremlin 提供了一个“撤消”按钮,一旦出现问题,会自动清除攻击测试。安全是“完全重新建立的”,其中使用了最低的权限、多重身份验证、审计和基于角色的访问控制(RBAC)。
Gremlin 的核心价值主张在于,允许工程师启动、控制和观察系统在攻击可引发的各种故障情况下的行为。Gremlin 并不提供自动化金丝雀测试(Canarying),例如类似于 Barometer 提供的功能,也不提供自动故障检测,例如类似于 LightStep 提供的功能。
它所提供的是一组全面的故障原语,可用于设计实验,并观察故障在一个复杂分布式系统中的影响情况。Gremlin 不需要修改部署流水线,也不需要修改网络基础架构,因此更便于在一系列的基础架构和部署范例中使用,例如裸机、云 /IaaS 或容器等。
近期,InfoQ 与 Gremlin 公司的首席执行官兼创始人 Kolton Andrus 进行了一次座谈,讨论了混沌工程在软件系统中的作用、可恢复性测试的价值所在,以及 Gremlin 平台的未来。
InfoQ:您能做一个简单的自我介绍吗?最好能简要阐述一下您在混沌工程中的背景。
InfoQ:当前混沌工程看上去是一个“热点话题”。该话题具有大量的博客帖子,也出现在 Nora Jones 的 AWS re:invent 大会主题演讲中。但是它并非一个全新的话题,Netflix 和 AWS 讨论它已有一段时间了。您为什么认为混沌现在广为使用了?
InfoQ:那么混沌工程或恢复能力测试的最大优点是什么?它们是否仅适用于那些具有专有基础设施团队的大型企业?
InfoQ:您认为企业在寻求实现混沌工程中所面对的最大挑战什么?
InfoQ:Gremlin 产品的使用情况如何?您能向我们分享一些成功的案例吗,或对如何有效地使用该工具稍作解释?
InfoQ:您能向我们阐述一下 Gremlin 的路线图吗?混沌工程的未来如何?
InfoQ:感谢您今天接受我们的采访!您还有什么希望能与 InfoQ 读者分享的吗?
Gremlin 公司最近获得了 750 万美元的 A 轮融资,它的早期客户包括 Expedia、Twilio 和 Confluent。关于 Gremlin 的更多信息,可以在公司的网站上看到。关于混沌工程原理的更多信息,可以在混沌社区的网站上看到。
查看英文原文: Gremlin Release "Resilience as a Service" SaaS Platform to Enable More Effective Chaos Engineering
「细说云计算」是 InfoQ 旗下关注云计算技术的垂直社群,投稿请发邮件到 editors@cn.infoq.com,注明“细说云计算投稿”即可。