Chaos Engineering的历史.原则以及实践https://www.infoq.cn/article/chaos-engineering-the-history-principles-and-practice/ 以毒攻毒:谷歌.亚马逊.奈飞如何用混沌工程控制系统风险|界面新闻 · JMediahttps://www.jiemian.com/article/2857619.html AWS云上混沌工程实践之启动篇 | 亚马逊AWS官方博客https://aws.amazon.com/cn…
在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定.而混沌工程,是通过注入一些“不确定”因素,象放进了一群淘气的猴子,在系统资源.可用性.安全性.延迟.压力等方面进行捣乱,而此过程中,要求系统可以毫无影响的提供服务,用户无感知. 这其实对系统的自愈能力,健壮性都有很高的要求.故障注入一般是指比较受控的一些实验条件,通过注入一些相对极端的异常场景,为系统提供可靠性测试的过程. 整体来说,混沌是一种故障注入规则,强调了一些不确…
这个月的8号.9号,个人很荣幸参加了China.NET Conf 2019 , 中国.NET开发者峰会,同时分享了技术专题<.NET技术架构下的混沌工程实践>,给广大的.NET开发小伙伴介绍混沌工程和高可用性改造实践.会后大家伙聚餐的时候,陈计节老师建议大家将各自的议题分享到社区,分享给大家.因此,今天和大家分享我的技术专题<.NET技术架构下的混沌工程实践>. 整个专题主要分为四个部分: .NET分布式.微服务架构下的高可用性挑战 混沌工程简介 .NET混沌工程的实践和成果分享…
一.背景 最近容器组在开发云平台的监控.报警功能. 大致的实现策略是: 1.云平台页面上配置告警规则 2.Prometheus完成监控数据的聚合 3.当Prometheus聚合后的监控数据满足告警规则,触发钉钉告警 二.过程 1.告警规则配置,一般情况下,业务服务的服务类型为deployment.告警规则:Pod内存使用率大于50% 2.步骤1中创建告警规则时,会同步在Prometheus上创建一个相同规则的Alert任务 3.复制Alert任务的聚合表达式,可以在Graph中实时查看到内存的占…
作者 | 肖长军(穹谷)阿里云智能事业群技术专家   导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力.ChaosBlade 工具可以通过声明式配置执行混沌实验,简单高效.本文将会重点介绍 ChaosBlade 以及云原生相关的实验场景实践. ChaosBlade 介绍 ChaosBlade 是阿里巴巴开源的一款遵循混沌实验模型的混沌实验执行工具,具有场景丰富度高.简单易用等特点,而且可以很方便的扩展实验…
减少故障的最好方法就是让问题经常性的发生.在可控范围或环境下,通过不断重复失败过程,持续提升系统的容错和弹性能力. 那么,实施一次高效的混沌工程实验,需要几步呢? 答案:2 步. ① 登陆 ChaosBlade ② 下载 release 版本,打造故障演练专属工具 高可用架构是保障服务稳定性的核心. 阿里巴巴在海量互联网服务以及历年双11场景的实践过程中,沉淀出了包括全链路压测.线上流量管控.故障演练等高可用核心技术,并通过开源和云上服务的形式对外输出,以帮助企业用户和开发者享受阿里巴巴的技术红…
在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战.在可控范围或环境下,使用 ChaosBlade 工具,对系统注入各种故障,持续提升分布式系统的容错和弹性能力,以构建高可用的分布式系统. ChaosBlade 是什么? ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最佳创意和实践,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具.…
chaostoolkit 目标是提供一个免费,开放,社区驱动的工具集以及api 以下为一张参考图 一些已经的扩展 基础设施/平台 Fault Injections: [chaostoolkit-kubernetes][chaoskube]: Kubernetes activities [chaostoolkit-cloud-foundry][chaoscf]: Cloud Foundry activities [chaostoolkit-aws][chaosaws]: AWS activitie…
https://github.com/chaosblade-io/chaosblade…
https://mp.weixin.qq.com/s/0monDPkAlMk7Yhq9swW7gQ 原创 郭彦梅 InfoQ 2020-11-17  …
作者介绍: 杨波,拍拍贷基础框架研发总监.具有超过 10 年的互联网分布式系统研发和架构经验,曾先后就职于:eBay 中国研发中心(eBay CDC),任资深研发工程师,参与亿贝开放 API 平台研发,携程旅游网(Ctrip),任技术研发总监,主导携程大规模 SOA 体系建设,唯品会(VIPShop),任资深云平台架构师,负责容器 PaaS 平台的调研和架构   前言 近日和下属一起吃晚饭,期间聊到Netflix技术那些大胆的创新,事后觉得有必要总结一下,给团队分享,让大家了解世界较高级的技术组…
今天我们来玩一下混沌工程的开源工具chaostoolkit . 它的目标是提供一个免费,开放,社区驱动的工具集以及api. 官方源码链接:https://github.com/chaostoolkit/chaostoolkit 要想了解这个工具就必须知道混沌工程原则中提到的要点.如下所示: 记往这里提到的第一个要点,建立稳态假设. 在运行这个工具之前,我们先来看一下它的架构. 简单来解释一下,就是ChaosToolkit通过Drivers来操作你的被测系统. 它的功能点包括如下部分: 下面我们把…
国内: 管理科学与工程: 管理科学学报 A+   (匿名审稿,绝对牛刊,不比一般的SCi期刊的质量差) 系统工程理论与实践 A   (实名审稿,关系稿很多,尤其是挂编委的文章很多,但质量尚可)系统工程学报 A   (匿名审稿,侧重方法论多写,编辑部的老师特好)中国管理科学 A   (实名审稿,因大约投稿一年才真正外审,稿源相对同类期刊较少,但质量尚可) 管理工程学报A-   (版面费太高,稿源质量有下降的趋势)系统管理学报A- 运筹与管理B+ 导师推荐,方向比较对口管理科学B+ (非主流的管科类…
Engineering Management 工程師面對工作或挑戰時,可應用以下法則一步一步把工作規管和實施. 1.      Planning 計劃 2.      Organization 組織 3.      Control 控制 4.      Leading 帶領 Planning 計劃 凡事起頭難,皆因摸不清方向或不知從何入手.靜下來,用5-10分鐘,問一下自己兩個問題: 1. 目的是什麼? 2. 完成這個目的(或目標)須要什麼方法或方向? 圍繞以上,大概估算需要的資源,人力.物力.…
http://www.infoq.com/cn/news/2018/01/netflix-engineering-culture 在技术圈儿,Netflix 是一家非常有特色的互联网公司.他们信奉“自由与责任”的企业文化,鼓励工程师发挥自己的爱好与特长:特别开放,很多内部系统都开源了:所有业务都运行在云上,随之而来,有很多自己的工具,特色的运维文化. 在明年 4 月 20-22 日的 QCon 北京 2018 上,我们有幸邀请到 Netflix 工程总监 Katharina Probst,她将分…
前言 为满足 C++ 应用系统故障演练,阿里妈妈安全生产团队开源了 C++ 混沌实验执行器,填补了 C++ 应用混沌工程实验的空白,其遵循<混沌实验模型>,可通过 ChaosBlade 工具直接执行.项目详情点击这里! . 本文重点介绍该执行器的架构图.支持的实验场景,并以 Demo 为例介绍具体的使用方式,附录介绍了阿里妈妈内部混沌实验流程. 新版本 chaosblade 下载地址在这里! 实验场景 目前支持的 C++ 混沌实验场景如下,具体使用方式可详见下文: 针对某个方法,或者某行代码注…
svn更新代码后,打开xcode工程文件,会出现  xxx..xcodeproj  cannot be opened becausethe project file cannot be parsed. 因为.xcodeproj工程文件冲突了,然后还是会强制更新,内部文件出现了冲突,所以解析不了文件. 会出现这样的冲突消息 <<<<<<< .mine 9ADAAC6A15DCEF6A0019ACA8 .... in Resources */, ======= 52F…
svn更新代码后,打开xcode工程文件,会出现  xxx..xcodeproj  cannot be opened because the project file cannot be parsed. 因为.xcodeproj工程文件冲突了,然后还是会强制更新,内部文件出现了冲突,所以解析不了文件. 会出现这样的冲突消息 <<<<<<< .mine 9ADAAC6A15DCEF6A0019ACA8 .... in Resources */,======= 52F…
1.monkey命令格式 直接adb shell进入后输入monkey [options] <eventcount> 或者每次输入adb shell monkey [options] <eventcount> 2.monkey -help 列车简单的用法 3.monkey x 随机操作x次 1)-v :用于指定信息级别总共有三级,默认是0级.提供测试启动.完整.最终结果和点击.触摸的操作百分比 2)-v -v :1级,提供较为详细的测试信息,包括每个发送到activity的事件的信…
svn更新代码后,打开xcode工程文件,会出现  xxx..xcodeproj  cannot be opened because the project file cannot be parsed. 因为.xcodeproj工程文件冲突了,然后还是会强制更新,内部文件出现了冲突,所以解析不了文件. 会出现这样的冲突消息 <<<<<<< .mine 9ADAAC6A15DCEF6A0019ACA8 .... in Resources */, ======= 52…
Monkey测试结果分析 一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是monkey里面的哪个地方出错 2. 查看Monkey里面出错前的一些事件动作,并手动执行该动作 3. 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样 一般的测试结果分析: 1. ANR问题:在日志中搜索“ANR” 2. 崩溃问题:在日志中搜索“Exception” 二. 详细分析monkey日志: 将执行Monkey生成的log,从手机中…
monkey是android sdk自带的压力测试工具,简单使用如下: 用adb shell进入adb shell环境后,用下面命令进行测试 monkey -p com.xxx.yyy -v num 参数解释: -p: package,后面跟的是应用包名 -v: 跟一个数字,测试的次数…
IAR和keil两个开发平台都是arm开发当中比较流行的平台,keil4的版本之间,可以兼容,但是版本4和版本5还是不兼容的,但是IAR的兼容性更加差,好像6.30.x之间是能够兼容的吧,没有实测过,以下是网上摘录的,根据其一步步,笔者实际测试成功,只是有一点小小的不一样需要更改. ================================================== 第一步 建立工程 首先建立一个工程,命名选择路径保存 文件名可以随便取第二步加载文件在工程路径下新建三个文件夹,分…
一.常规的稳定性测试 测试背景: 这是一个海外的合作项目,被测程序是Android应用(App).测试希望通过Monkey来模拟用户长时间的随机操作,检查被测应用是否会出现异常(应用崩溃或者无响应). 测试脚本: adb shell monkey -p com.xxx.xxx --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 12358 --throttle 400 --ignore-crashes --i…
1.adb的作用是什么?adb的全称:android debug bridge 安卓调试桥梁,包含在 Android SDK 平台工具软件包中.通过该命令与设备进行通信,以便进行调试adb可以同时管理多个安卓设备2.monkey测试环境搭建1)下载并安装JDK包,设置环境变量2)下载Android SDK包并解压,配置环境变量E:\Android SDK\Adt Bundle\sdk\tools   monkey环境路径E:\Android SDK\Adt Bundle\sdk\platform…
22款让Kubernetes锦上添花的开源工具 http://soft.zhiding.cn/software_zone/2019/0506/3117650.shtml 找时间尝试一下. 至顶网软件频道消息: Kubernetes已经成为大规模部署容器化应用的一个标准方式.但是,如果Kubernetes能帮助我们驯服庞大而复杂的容器部署,那么有什么能帮助我们去驯服Kubernetes呢?Kubernetes也是很复杂.很混乱且难以管理的. 在Kubernetes发展的过程中,一些难题可能会从内部…
前言: ThoughtWorks人酷爱技术.我们对技术进行构建.研究. 测试.开源.记述,并始终致力于对其进行改进-以求造福 大众.我们的使命是支持卓越软件并掀起IT革命.我们创建 并分享ThoughtWorks技术雷达就是为了支持这一使命.由 ThoughtWorks中一群资深技术领导组成的ThoughtWorks 技术顾问委员会(TAB)创建了该雷达.他们定期开会讨论 Thoughtworks的全球技术战略以及对行业有重大影响的 技术趋势. 这个雷达以独特的形式记录技术顾问委员会的讨论结果,…
本文想从技术的角度谈谈我对云计算数据中心 DevSecOps 运维模式中的安全性的理解,和过去几年我在云服务业务连续性管理方面的探索. 现在公有云服务商都不约而同地转向 DevSecOps 模式.DevSecOps 是 DevOps 的另一种实践,它将信息技术安全性作为软件开发所有阶段的一个基本点.安全性,不仅涉及各种层次的隔离和合规性检查,而且涉及从技术层面确保业务连续性.在 ISO/IEC 27001 信息安全管理体系中,“业务连续性管理”是安全管理中非常重要的一环,目的是为减少业务活动的中…
技术实力超群的Netflix,为何没有CTO https://news.cnblogs.com/n/581824/ 投递人 itwriter 发布于 2017-11-05 16:12 评论(2) 有1566人阅读 原文链接 « » 图片来自于网络 1.写在最前面 某天晚上和下属一起吃晚饭,期间聊到 Netflix 技术那些大胆的创新,事后觉得有必要总结一下,给团队分享,让大家了解世界顶级的技术组织在技术.架构.组织和文化方面的创新.让大家在埋头干活的时候,偶尔也可以抬头看看天(大处着眼,小处着手…
作者 | 丁海洋  陈有坤 李鹏  孙健波 业界要闻 阿里巴巴 Kubernetes 技术能力再获 CNCF 认可 CNCF 官网发布博文<Demystifying Kubernetes as a Service – How Alibaba Cloud Manages 10,000s of Kubernetes Clusters>.这篇长文从为什么需要超大数量的 K8s 集群,以及如何高效的管理这些集群出发,系统介绍了 Alibaba 在 Kubernetes 上取得的成绩. GitHub 欲…