写点什么

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

  • 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:322227
用户头像

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

关注

评论

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

国产 etl engine 监控面板 为管理者掌握平台运行情况,决策执行方案提供即时数据支撑

weigeonlyyou

数据库 数据交换 物联网 ETL 云数据迁移

【我和openGauss的故事】在vm中安装openEuler及使用yum安装openGauss

daydayup

一文详述流媒体传输网络MediaUni

阿里云CloudImagine

云计算 视频云

山东布谷科技直播系统源码热点分析:不同芯片实现高质量编码与渲染视频的GPU加速功能

山东布谷科技

NKD:容器云集群与 OS 一体化运维利器

openEuler

Linux Kubernetes 云原生 操作系统 openEuler

选择FastAPI或Flask:Python Web开发框架的终极指南

Apifox

Python flask 框架 web开发 FastApi

SpringBoot3之Web编程

Java 架构 springboot SpringBoot3

【我和openGauss的故事】openGauss集群故障节点替换操作

daydayup

【我和openGauss的故事】SpringBoot连接openGauss项目实战

daydayup

三步建站,两倍性能!云耀云服务器L实例开启简单上云第一步!

平平无奇爱好科技

Java中final、finally和finalize的区别

java易二三

Java 程序员 计算机 final

移动云操作系统改造技术实践分享,跨操作系统云主机迁移优化(一)

openEuler

Linux centos 操作系统 迁移 openEuler

分享实录 | 将 NGINX 打造成功能强大的 API 网关(上)

NGINX开源社区

nginx 微服务 k8s API api 网关

【我和openGauss的故事】openEuler20.03上编译安装opengauss-5.0.0

daydayup

【我与openGauss的故事系列】openGauss 5.0.0全密态数据库应用小试

daydayup

英特尔CEO称AI PC时代于今秋开启 联想将首批发布

E科讯

上云没那么难,华为云云耀云服务器L实例助力中小企业和开发者开启上云第一步

平平无奇爱好科技

【我和openGauss的故事】openGauss 5.0.0企业版两节点CM高可用实践

daydayup

内卷和躺平之外,职场还有其他选择

老张

职场成长

鸿蒙智联再出发,携手伙伴共赢空间智能化,创造无限可能

HarmonyOS开发者

HarmonyOS

GitOps 与 DevOps:了解关键差异,为企业做出最佳选择

SEAL安全

DevOps 运维 gitops 企业号 8 月 PK 榜

Java日记——使用强大的Elastisearch搜索引擎

java易二三

Java 编程 程序员 计算机

BenchmarkSQL 5.0 压测 openGauss 5.0.0 案例分享

daydayup

OpenGauss与NVM

daydayup

明道云联合Kyligence结合示范性场景应用

明道云

云耀云服务器L实例:简单上云,智能不卡顿,性能遥遥领先

平平无奇爱好科技

javascript对象基础

timerring

JavaScript

【我和openGauss的故事】openGauss容灾集群搭建过程代码学习记录

daydayup

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