写点什么

微软将开源其对抗云网络中断的秘密武器

  • 2018-08-28
  • 本文字数:1605 字

    阅读完需:约 5 分钟

完全复制或模拟云网络是不可能的,因为很明显——云网络的规模太大了。但是微软攻克了这个难题。

8 月初,微软的研究人员在微软研究院 Faculty Smmit 上接受采访时称,他们设计了一款开放网络模拟器(Open Network Emulator,简称 ONE),可以通过模拟整个 Azure 网络基础架构,来查找最终导致网络中断的错误,故障和其他恶意软件。并且!微软打算开源这项技术

近一年来,微软一直利用 ONE 模拟器测试将要被部署到生产中的更改。研究人员说,微软的网络工程师在使用过程中,从这些更改中找到了数百个 bug,防止了可能出现的重大中断错误。

计算机网络是复杂的玩意儿,因为这样的复杂性也变得很脆弱:网络规模越大,单个错误造成的损害就越大。

回想一下之前各大公有云服务的故障,给用户带来的影响,这样的一款模拟器如果能稳定投入使用,应该能防止不少问题的发生。

ONE 能在软件中模拟所有组成网络的硬件和软件设备,以及它们相互连接的方式。它在 Docker 容器和虚拟机中运行,其构建目的是为了防止变更引起的网络崩溃,在网络变更投入生产之前对它们进行测试和检查。其工作原理是对整个网络进有效的复制。当网络工程师和运营商进行更改时,它们实际上只是对模拟器进行更改,而不是对底层网络进行更改。

“因为它对底层网络的模仿程度如此惊人,以至于你无法区分,”微软研究院移动性和网络总监 Victor Bahl 解释说。如今,当 Azure 网络工程师进行更改时,这些更改首先被应用于 ONE 模拟系统,但是实际上,他们也不知道自己是否对网络做了更改。因为实际上被改变的是模拟器。ONE 能惟妙惟肖地模拟底层的网络,让人无法区分它们。

“我们认为,这个对每个人都那么重要的资源,如果只是为我们所用,那不是一件正确的事。因此,我们想让整个社区都能使用它。”Bahl 在 8 月初的采访中这样说道。

Bahl 解释说,让公众得以接触该技术不仅有助于大型企业提高网络正常运行时间,而且也给学生和研究人员提供了一种工具,他们可以用ONE来模拟超大规模网络,比如微软、谷歌和亚马逊已经建立的网络,并在不访问实际网络的情况下进行创新

同时,这也将给网络产品供应商们提供一种大规模测试新的控制平面软件的方法。

微软还未透露何时开源 ONE。在 GitHub 上搜索 ONE 还没有任何结果。

去年,在 ONE 投入使用 6 个月之后,微软首次对外披露了这个系统 ( https://www.microsoft.com/en-us/research/event/faculty-summit-2018/ )。在当时,它被称为“CrystalNet”,寓意是可以显示网络未来的水晶球。

微软的研究人员当时就已经暗示在考虑向公众发布这项技术。他们于今年 6 月的 Sigcomm 大会上确认以 ONE 的名字将该系统进行开源。

微软的研究人员在提交给 Sigcomm 的 ONE 的描述中提到:“我们的网络是庞大的、异构的、复杂的,并且一直在变动。在这样的环境中,那些由设备故障触发的小问题、错误的设备软件、配置错误、未经证实的管理工具和无法避免的人为错误都会很快引发大型中断。因此,在生产环境中部署更改之前对每个更改的影响能力进行验证,这对维护和提高我们网络的可靠性是至关重要的。”

根据 Sigcomm 的论文所述,到目前为止,Azure 网络工程师已经使用 ONE 超过了一年的时间。他们已经“在 ONE 模拟器上花了数百万小时,并且在变更中找到了数百个错误,防止了可能出现的重大中断。”

2018 年微软 Azure 云计算服务的收入强势增长了 89%,在 Gartner 2018 年的云基础设施魔力象限中占据领导者地位,紧跟 AWS 排第二,并且与 AWS 的差距在缩小。

随着各家公司对云服务的依赖日益增加,确保这些云服务不宕机比以往更重要。但是,无论系统设计地多好,运行它们的工程师有多聪明机警,人类总是偶尔会犯错。而在超大规模网络更改的过程中出现的细微错误会导致大型中断。在超大规模网络中,像这样的中断会影响数百万人,Bahl 说:“我可不希望成为这种灾难的源头。”

如果在模拟系统中,更改没有造成任何错误,就会自动传播到生产网络。

感谢张婵对本文的策划及审校。

2018-08-28 12:322331
用户头像

发布了 199 篇内容, 共 89.7 次阅读, 收获喜欢 295 次。

关注

评论

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

Kubernetes HPA 基于 Prometheus 自定义指标的可控弹性伸缩

张晓辉

Kubernetes 弹性 HPA

React Fragment介绍与使用

编程江湖

React

做了一份前端面试复习计划,保熟~

CRMEB

云效x钉钉:让研发工作更简单

阿里云云效

阿里云 云原生 钉钉 研发 云钉一体

奥运吉祥物——冰墩墩太难抢了,Python给你画一个

王小王-123

Python

恒源云(GPUSHARE)_社区大佬的论文小记(Flooding-X)

恒源云

深度学习 计算机视觉

探秘 k8e:极简 Kubernetes 发行版

张晓辉

Kubernetes 云原生

优秀程序员的30种思维--行为准则篇(11/100)

hackstoic

推荐系统基础结构总结 | 社区征文

张浩_house

推荐系统 大数据开发 新春征文

盘点冬奥会上的那些“黑科技”,你也可以掌握它!

博文视点Broadview

面向推理训练一体化的 MNN 工作台

阿里巴巴终端技术

端智能

Lazada D11 体验升级技术实践

阿里巴巴终端技术

ios android 客户端开发 移动端 体验优化

Moviepy+OpenCV-python结合进行音视频剪辑处理 | 社区征文

老猿Python

音视频 Moviepy 数字图像处理 新春征文 OpenCV-Python

如何用建木CI导入导出Redis数据

Jianmu

DevOps CI/CD Redis 数据结构

如何帮助金融客户“用好云”?

阿里云云效

阿里云 运维 云原生 云平台 阿里云混合云

新思科技BSIMM评估为安全团队提供“他山之石”

InfoQ_434670063458

汽车 新思科技 软件定义汽车 软件安全 BSIMM评估

你在央视春晚抢红包,京东云却在后台玩起了“剧本杀”

脑极体

网易传媒Go语言探索

月读

golang 开源治理

人手一个数字人还有多远?百度吴甜做客央视《对话》

百度大脑

sql 学习笔记

孙青

零代码技能平台技术实践探索

OPPO小布助手

人工智能 低代码 零代码 智能助手 对话系统

vivo 评论中台的流量及数据隔离实践

vivo互联网技术

mongodb 中台 分布式

aPaaS将如何改变软件行业?

华为云开发者联盟

云计算 软件 软件开发 SaaS aPaaS

一文读懂 Serverless 的起源、发展和落地实践

Serverless Devs

2月月更

渗透测试之中间件漏洞复现

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

辩论这件事,其实不止奇葩说

小鲸数据

金融云原生漫谈(七)|云原生时代:从传统运维到智能运维的进阶之路

York

容器 云原生 金融科技 智能运维

监控治理有效性评价体系

焦振清

监控治理 评价体系

如何让代码代码管理变的更安全更高效 | 云效开发篇

阿里云云效

阿里云 DevOps 云原生 代码管理 Codeup

卷起来了!软件开发正在越来越快……

飞算JavaAI开发助手

Spring Boot Serverless 实战 | Serverless 应用的监控与调试

Serverless Devs

微软将开源其对抗云网络中断的秘密武器_微软_Yevgeniy Sverdlik_InfoQ精选文章