新智元报道
编辑:白峰、舒婷
【新智元导读】近日,微软又开源了一个Python库,用于自动监视网络应用程序,节省了团队65%至95%的开发时间,并且将误报率降低了90%以上。近年来,微软在开源上做出了卓越贡献。
尽管微软所有实体店都倒闭了,但这家成立的快50年的大企业还是热衷于「做慈善」。
最近,微软的「开源版图」又增添了一抹新的色彩:Lumos库也开源了。Lumos是一个Python库,用于网络应用程序中的度量回归的自动检测与诊断。
Lumos魔咒:Python库来自动监视web应用程序
Lumos这个单词最早起源于J.K罗琳的小说《哈利波特》,意思是发光,也表示了一种魔咒。
常规情况下,利用随时间跟踪关键性能指标(KPI)来监视在线服务的运行状况。但这种回归需要进行后续跟踪,从而导致工作量增加。另外,跟踪每个KPI回归的根本原因很耗时,因为单个异常可能需要几天或几周的时间进行调查。
微软的这个Lumos利用A / B测试的原理来比较成对的数据集。每个数据集都是表格数据集,其中行对应于样本,列值包括相关指标,并提供诊断度量回归的假设。
Lumos首先验证数据集之间的度量回归是否具有统计显着性。然后进行总体误差检查和误差归一化,以说明两个数据集之间的总体变化。如果在对数据进行归一化后,指标中没有统计上显着的回归,则指标的回归可以用总体的变化来解释。但是,如果度量标准中的增量具有统计意义,则根据要素对目标度量标准中的增量的贡献来对要素进行排名。
微软研究人员说,Lumos是用于监视多种功能的指标,涵盖呼叫、会议和公共交换电话网(PSTN)服务等。实际应用中,Lumos是基于Apache Spark的大数据分析服务的,在Azure Databricks上运行,并根据优先级,复杂性和指标类型配置了多个任务。任务是异步完成的,因此只要检测到异常,就会触发Lumos工作流程。Lumos确定其为合法问题之后会生成故障单。
研究团队声称Lumos节省了团队65%至95%的开发时间,并且将误报率降低了90%以上。
同时,Lumos已经被应用在Skype和Microsoft团队的开发人员团队的数百万次会话中,从而使工程师能够检测到数百项指标变化。
Lumos开源地址:https://github.com/microsoft/MS-Lumos
「大慈善家」微软的开源版图
微软在2020年的情况也不容乐观,前几日刚官宣关停所有的线下实体店,这就意味着微软想要复制「APPLE旗舰店」的模式宣告失败。
但是这家极富公信力的科技企业在开源方面可谓是异常「慷慨」。过去几年来,微软一直在开源方面做出了持续的贡献。
编程语言方面, 微软从拥抱 Rust 到开发基于 Rust 的安全编程语言,并将其工程开源。
自 2004 年以来,微软安全响应中心(MSRC)对所有的微软安全漏洞进行了分类,根据他们的统计数据,微软打的补丁中约有70% 是内存安全漏洞的修复程序。
内存安全漏洞这么多是因为 Windows 和大多数其他微软产品主要使用 C 和 C++ 编写,这两种「内存不安全」(memory-unsafe)的编程语言容易造成安全方面的错误,而 Rust 正是解决这个问题的良药。
后来,微软决定拥抱Rust,而且还开发了基于Rust 的新编程语言 Verona,从根本上杜绝内存安全方面的问题。现在微软也在尝试用Rust重写各种产品,并给大家分享了用Rust开发windows组件的体验。
而为了更好的构建Linux生态,2019 年微软直接在 Windows 中安上了一颗“Linux 内脏”,这颗 Linux 内脏其实是今年 5 月份在 Windows 10 上推出的全新版本 WSL(Windows Subsystem for Linux),新版本 WSL 2 使用了全新的架构,这是一个真正的 Linux 内核,它改变了 Linux 二进制文件与 Windows 和计算机硬件的交互方式。
2019年5月,微软在 Windows 10 上推出了全新的WSL(Windows Subsystem for Linux),这时的WSL相当于Win的一个子系统,而稍后推出的WSL 2使用了全新的架构,实现了真正的linux内核,你再也不用windows上装笨重的虚拟机了。
除此以外,还有加入 OpenJDK 项目,开源全新终端应用 Windows Terminal等。在开源方面,微软不愧于「大慈善家」的名号。
不知道下半年,我们还能看到微软哪些精彩的开源项目呢?
参考链接:https://venturebeat.com/2020/06/29/microsoft-open-sources-lumos-a-python-library-for-automatically-monitoring-web-app-metrics/