字节跳动云原生

火山引擎应用韧性增强服务 ARES 正式邀测!

Image

近日,应用韧性增强服务( Application Resilience Enhancement Service,简称 ARES)在火山引擎公有云正式开启公测,为更多云上用户系统稳定性保驾护航,现诚邀企业用户免费体验。

来源 | 字节跳动 STE 团队

应用韧性增强服务( Application Resilience Enhancement Service,简称 ARES)是一款遵循混沌工程实验原理并融合字节跳动内部多年业务实践的产品,通过提供一站式服务如:可视化演练、强弱依赖分析、故障注入、演练编排、故障结果分析、流量模拟等功能,涵盖从研发、测试再到运维全流程的解决方案,帮助分布式系统提升容错性和韧性。

产品历程

产生背景

随着云原生技术的发展,微服务、DevOps等技术在企业中得以大量的实践与落地,大幅度地提升了服务的研发效率和交付效率。

技术的发展带来便利性的好处时,也带来了一定负面性的影响,比如服务数量的暴增及其引起更为复杂的系统架构和服务依赖关系,一旦在依赖链路上某个微服务或者组件出现故障,在缺少完善的容错架构设计时会造成的比较大的故障爆炸半径。特别是在分布式架构体系中,故障发生的随机性和不可预测性都大大增加了,业务面临更为严峻的稳定性考验。为了更好地应对生产环境中的稳定性风险,混沌工程应运而生。

混沌工程是一套提倡在分布式系统生产环境中进行实验,主动找出系统中薄弱环节的方法学。通过实验性的方法提前暴露系统风险,从而帮助开发者打造更具韧性的系统,同时可以更透彻地掌握系统运行时的各种行为规律,从而为用户树立运行高可用分布式系统的信心。

产品发展

在字节跳动,近年来随着业务飞速发展,庞大的微服务体量和繁杂的调用关系为稳定性建设带来巨大挑战:

  • 微服务已超过 10w,且规模仍在持续增长

  • 公司百万台主机全面启动容器化进程

  • 编程语言不统一,存在 NodeJS、Python、Java、C++、Rust、Golang 等多语言应用服务,增加了排障的难度

  • Service Mesh 全面落地且在快速迭代,服务调用和治理的复杂度提高

微服务和云原生技术应用使得系统复杂度指数级倍增,2018 年开始,字节跳动正式启动混沌工实践。混沌工程平台在字节跳动总共经历了三代,从最初的容灾平台到 1.0 再到 2.0,该平台在自动化指标分析、故障注入、平台业务场景等方面进行了迭代优化,期间支撑了抖音、西瓜视频、飞书等业务数百万并发的故障演练,保障了高日活业务各种大型活动的稳定开展。

2021 年初,应用韧性增强服务(ARES)正式在火山引擎私有云上发布商业化 1.0 版本,并在汽车、金融等领域收获客户的认可。今年 7 月,应用韧性增强服务(ARES)正式启动火山引擎公有云版本建设,为了让更多用户体验混沌工程带来的易用、灵活、稳定的产品体验,近日,应用韧性增强服务(ARES)正式启动邀测,诚邀企业用户试用。

技术方案

应用韧性增强服务(ARES)为客户提供全流程的混沌演练能力:丰富的故障原子、跨集群的故障注入和管理、灵活的实验编排、多维度的指标统计、全方位的演练报告等;此外,平台还提供操作审计、演练资源管理、专家经验库等功能,帮助用户更好地落地故障演练,提升系统韧性。

Image

丰富的故障类型:平台支持网络延迟/拒绝/丢包等网络故障;CPU/内存突增、磁盘空间不足等系统故障;支持 Java 调用延迟/内存溢出、C++ 修改返回值/修改变量等代码故障;重启/宕机/时钟漂移等系统故障。同时,还支持数据库、消息队列、缓存、服务发现等中间件故障,如 MySQL、Oracle、RocketMQ、Kafka、Redis、ElasticSearch 等。

灵活的场景编排:实验场景是指把一个或多个同类资源作为一组故障目标,可对目标配置一个或多个故障,同时可配置观测指标、稳态等参数;实验流程是对实验场景的串并行编排,可满足大型复杂演练的需求。

演练资源管理:平台支持客户自有 Kubernetes 管理、自有主机管理、火山引擎 VKE 集群、火山引擎 ECS 等演练资源管理,可随时安装或卸载 agent、升级 agent 版本,还支持更细粒度的演练权限管控,可精确到具体服务实例。

专家经验库:平台支持在演练经验库完成实验编排,构建一套完整的面向特定演练场景的经验,平台也提供官方的专家经验,供用户在编排演练时参考,此外,还可把实际演练中优秀的实验场景/流程沉淀为经验。

团队空间:用户可以在平台创建不同的团队空间,隔离不用的演练资源或数据信息,供不同团队演练使用;用户还可进行空间权限管理,以空间来推动团队演练。

演练大盘:平台支持全局维度、空间(部门)维度、个人维度查看演练数据,可展示高频演练资源与故障等信息,可按月、周、天等维度统计演练执行等情况,供用户审计、复盘。

架构可视化演练:架构感知模块为用户展示出集群内,机器内的节点进程等信息以及服务之间的调用关系,用户可基于架构视图直接选中演练目标并进行故障编排,也可查看对应资源的演练次数、状态等。

产品优势

火山引擎应用韧性增强服务(ARES)同时支持公有云与私有化部署,具有以下优势:

  • 支持混合云演练:平台支持混合云演练场景中的各类故障目标,除了支持对火山云上资源VKE、ECS演练外,还包括自建 Kubernetes(Pod、node)、单机(物理机/虚拟机、单机容器、单机进程)、中间件(自建中间件、云中间件)等。

  • 实验安全保证:无侵入探针可按需安装与卸载,平台支持故障生效与恢复的验证,支持在稳态假设未通过的场景下自动停止故障,支持手动控制最小化爆炸半径与细粒度的演练权限管控。

  • 功能丰富:平台除支持混沌演练全流程外,还提供丰富的故障原子能力,支持架构可视化演练、演练计划与审批、演练空间与资源管理等,随机执行与定时触发,可满足不同场景的演练需求。

  • 简单易用:提供灵活的故障和场景编排,细粒度的团队空间管理和权限管控,一站式的实验结果与实验报告,上手门槛低,必要时还可提供混沌工程高级专家服务,点对点协助落地最佳实践。

目前,应用韧性增强服务(ARES)支持通过开白账号的方式体验,感兴趣的企业用户可以通过报名问卷(文末【阅读原文】)或长图二维码联系我们,获得免费试用和体验平台能力的机会!

Image

- END -
相关文章

[1] 火山引擎混沌工程之云原生场景实现

近期活动

时间:10 月 21 日

地点:北京市海淀区大钟寺广场 1 号楼(字节工区)

Image