50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

使用混沌工程增强 API 的可恢复性

  • 2018-05-28
  • 本文字数:1343 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Gremlin 团队在博客上给出了一种简单的混沌实验,可用做验证一个组织的API 是否具有可恢复性的方法。与适当地使用此领域中涌现的商业和开源工具一样,使用混沌工程的原则以及运行“游戏日”(可看成是IT 系统和人员的消防演练)等技术同样可体现出自身的价值。

在这篇由Gremlin 首席站点可靠性工程师 Tammy Butow 撰写的博客帖子中,一开篇就指出,尽管很多组织通过基于 Web 的 API 提供自身的服务(以及提供核心商业价值),但是从作者的经验看,这些 API 及相关的架构常被看成是“二等公民”。随着组织规模的扩张,这种方式存在着一些风险,例如可导致用户体验降级的 API 层失败,甚至是非常严重的事故。在与之相关的运行模式中,增加API 的使用将会增大相关后台系统的压力,并且由请求数量增加而产生的负载可能并非与性能和可靠性呈线性关系。因此,工程师应该制定并运行一些试验,了解负荷增加、系统退化和基础设施失效的影响情况,并最终设计出可降低风险的系统。

Butow 建议,使用“混沌工程”原则和“游戏日”是形成上述理解并设计实验的最好方式。对于不熟悉“游戏日”概念的读者,Adrian Cockcroft 在QCon 旧金山大会将其比喻为“ IT 领域的消防演练”。出乎意料的应用行为或架构失败,常会导致工程师的人为介入,这会使情况变得更糟。在日常生活中,消防演习可训练人们接受如何应对火灾,进而在真正发生火灾的情况下挽救生命,IT 游戏日发挥了同样的作用。

该 Gremlin 博客帖子中,给出了一个针对典型 API 网关重度负载情况的例子脚本,并介绍了如何使用 Gremlin 的“可恢复服务”SaaS 商业平台实现在运行 API 网关的计算实例上注入失败(例如,高 CPU 或内存使用率,或者完全终止)。Butow 在博客帖子中强调指出(她同样也曾在先前的 QCon 伦敦大会演讲中提及),在开始运行混沌实验之前,对监控和可观察性的需求是至关重要的。

“在着手测定 API 可恢复性之前,你应该做的一件事情就是在一致的基础上运行混沌实验。确保你具有良好的可见性(监控),并增加回退覆盖率,所有这些将有助于强化你的系统。”

混沌工程原则正逐渐被主流大众所采纳。这一方面是在 Gremlin 等商业混沌工具和服务业务的驱动下,另一方面的驱动力也来自于一些该领域的先驱者(例如 Netflix ,早期 chaos monkey 的创立者)、一些由社区牵头的工作(例如 Chaos Toolkit )以及一些企业组织(例如 Expedia 和 Bloomberg。后者发布了专用于 Kubernetes 的开源混沌工具“ PowerfulSeal ”)。

随着混沌工程日渐广为采用,这正引导组织考虑是否应构建或购买相关工具,Gremlin 团队推荐工程师应在一些权衡上做出考虑,包括:构建自身混沌实验平台的TCO(总体拥有成本,Total Cost of Ownership)、将内部系统暴露给外部SaaS 平台的能力(以及可取性),以及团队当前技能集及团队在平台路线图方面对控制的需求。一些领域引领者,例如Adaptive Capacity Labs 的联合创始人 John Alspaw ,也提醒说不应忽视可恢复工程中人的因素,这事实上要比相关的工具更为重要。

更多信息,提供在 Gremlin 官方网站上,首届混沌大会将于2018 年9 月28 日在旧金山举行。

查看英文原文: Increasing the Resilience of APIs with Chaos Engineering

2018-05-28 15:402105
用户头像

发布了 391 篇内容, 共 155.3 次阅读, 收获喜欢 257 次。

关注

评论

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

绘画手残党的福音:涂鸦线稿秒变绝美图像

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

FL Studio2024最新中文版本水果编曲工具

茶色酒

FL Studio21

企事业单位通用版招采系统(SRM),招采全过程闭环流程

金陵老街

GaussDB(DWS)网络流控与管控效果

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

电商广告营销中常见公式和优化手段

邴越

广告 营销 电商 信息流

共享电单车的未来市场如何?值得做吗?

共享电单车厂家

共享电单车投放 本铯共享电动车 共享电动车生产厂家 共享电单车发展趋势

Spartacus cart id 存储在浏览器 local storage 里面

汪子熙

angular SAP Hybris Spartacus 三周年连更

MySQL 分区

潜水员

MySQL 分区

Java:如何加密或解密PDF文档?

在下毛毛雨

Java 加密 PowerPoint 解密

2023年厦门等保二级备案办理流程

行云管家

等级保护 等保备案 厦门

Tuxera NTFS2024Mac专业NTFS驱动软件

茶色酒

Tuxera NTFS2023

EasyRecovery2024最新版电脑数据恢复软件

茶色酒

EasyRecovery Photo16

AntDB数据库受邀参加第六届上海人工智能大会,分享AIGC时代核心交易系统升级方案

亚信AntDB数据库

AntDB AntDB数据库 企业号 5 月 PK 榜

基于ArkUI框架开发——图片模糊处理的实现

OpenHarmony开发者

Open Harmony

Prompt 技巧指南-让 ChatGPT 回答准确十倍!

Zilliz

openai ChatGPT

传感器接线方式详解

鸿蒙之旅

OpenHarmony 三周年连更

免费堡垒机选择开源还是商业免费版好?

行云管家

开源 堡垒机 安全运维 免费堡垒机

群星闪耀,众志成城 | 2023年4月《中国数据库行业分析报告》精彩抢先看

墨天轮

数据库 云原生 opengauss 国产数据库 AI4DB

工赋开发者社区 | 装备制造企业数字化转型总体框架

工赋开发者社区

浏览器管理脚本用什么软件?

真大的脸盆

Mac Mac 软件 脚本管理 管理脚本 浏览器脚本插件

软件测试/测试开发丨Pytest 测试框架学习笔记

测试人

软件测试 自动化测试 测试开发 pytest

从集成工具到集成资产,企业数智化底座亟待升级

用友BIP

如何在Github参与开源项目的建设

骑牛上青山

GitHub 开源 PR

定档5.14 | 2023宿迁市网络安全大会暨第三届LINKUP+网络安全峰会开放报名中!

权说安全

软件开发全文档获取(精华版)

金陵老街

可观测性平台-数据洞察(2)-网站性能探究

Yestodorrow

前端 可观测性 网站性能

无需nms,onnxruntime20行代码玩转RT-DETR

Openlab_cosmoplat

基于Java的ES全文检索,Neo4J,activiti审批流的知识库管理系统

金陵老街

Java Vue ES

Reactive响应式编程系列:解密reactor-netty如何实现响应式

大步流星

Reactive响应式编程系列 reactor-netty reactor-netty原理

使用混沌工程增强API的可恢复性_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章