实体店倒闭,开源却「慷慨」:微软开源Python库Lumos用于自动监视web程序

简介: 近日,微软又开源了一个Python库,用于自动监视网络应用程序,节省了团队65%至95%的开发时间,并且将误报率降低了90%以上。近年来,微软在开源上做出了卓越贡献。

微信图片_20220109132346.jpg


尽管微软所有实体店都倒闭了,但这家成立的快50年的大企业还是热衷于「做慈善」。

 

最近,微软的「开源版图」又增添了一抹新的色彩:Lumos库也开源了。Lumos是一个Python库,用于网络应用程序中的度量回归的自动检测与诊断。


Lumos魔咒:Python库来自动监视web应用程序


Lumos这个单词最早起源于J.K罗琳的小说《哈利波特》,意思是发光,也表示了一种魔咒。


        微信图片_20220109132349.jpg

 

常规情况下,利用随时间跟踪关键性能指标(KPI)来监视在线服务的运行状况。但这种回归需要进行后续跟踪,从而导致工作量增加。另外,跟踪每个KPI回归的根本原因很耗时,因为单个异常可能需要几天或几周的时间进行调查。

 

微软的这个Lumos利用A / B测试的原理来比较成对的数据集。每个数据集都是表格数据集,其中行对应于样本,列值包括相关指标,并提供诊断度量回归的假设。

 

Lumos首先验证数据集之间的度量回归是否具有统计显着性。然后进行总体误差检查和误差归一化,以说明两个数据集之间的总体变化。


如果在对数据进行归一化后,指标中没有统计上显着的回归,则指标的回归可以用总体的变化来解释。但是,如果度量标准中的增量具有统计意义,则根据要素对目标度量标准中的增量的贡献来对要素进行排名。

 

    微信图片_20220109132351.png      


微软研究人员说,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旗舰店」的模式宣告失败。

 

但是这家极富公信力的科技企业在开源方面可谓是异常「慷慨」。过去几年来,微软一直在开源方面做出了持续的贡献


       微信图片_20220109132353.png      


编程语言方面, 微软从拥抱 Rust 到开发基于 Rust 的安全编程语言,并将其工程开源。

 

自 2004 年以来,微软安全响应中心(MSRC)对所有的微软安全漏洞进行了分类,根据他们的统计数据,微软打的补丁中约有70% 是内存安全漏洞的修复程序。

 

内存安全漏洞这么多是因为 Windows 和大多数其他微软产品主要使用 C 和 C++ 编写,这两种「内存不安全」(memory-unsafe)的编程语言容易造成安全方面的错误,而 Rust 正是解决这个问题的良药。

 

后来,微软决定拥抱Rust,而且还开发了基于Rust 的新编程语言 Verona,从根本上杜绝内存安全方面的问题。现在微软也在尝试用Rust重写各种产品,并给大家分享了用Rust开发windows组件的体验。


      微信图片_20220109132354.png      

而为了更好的构建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上装笨重的虚拟机了。


      微信图片_20220109132356.gif

 

除此以外,还有加入 OpenJDK 项目,开源全新终端应用 Windows Terminal等。在开源方面,微软不愧于「大慈善家」的名号。

 

不知道下半年,我们还能看到微软哪些精彩的开源项目呢?


参考链接:https://venturebeat.com/2020/06/29/microsoft-open-sources-lumos-a-python-library-for-automatically-monitoring-web-app-metrics/


相关文章
|
7天前
|
调度 开发者 Python
Python中的异步编程:理解asyncio库
在Python的世界里,异步编程是一种高效处理I/O密集型任务的方法。本文将深入探讨Python的asyncio库,它是实现异步编程的核心。我们将从asyncio的基本概念出发,逐步解析事件循环、协程、任务和期货的概念,并通过实例展示如何使用asyncio来编写异步代码。不同于传统的同步编程,异步编程能够让程序在等待I/O操作完成时释放资源去处理其他任务,从而提高程序的整体效率和响应速度。
|
3天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
13 4
|
3天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
15 2
|
3天前
|
API 数据处理 Python
探秘Python并发新世界:asyncio库,让你的代码并发更优雅!
在Python编程中,随着网络应用和数据处理需求的增长,并发编程变得愈发重要。asyncio库作为Python 3.4及以上版本的标准库,以其简洁的API和强大的异步编程能力,成为提升性能和优化资源利用的关键工具。本文介绍了asyncio的基本概念、异步函数的定义与使用、并发控制和资源管理等核心功能,通过具体示例展示了如何高效地编写并发代码。
12 2
|
6天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
18 1
|
2天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
6天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
9天前
|
文字识别 自然语言处理 API
Python中的文字识别利器:pytesseract库
`pytesseract` 是一个基于 Google Tesseract-OCR 引擎的 Python 库,能够从图像中提取文字,支持多种语言,易于使用且兼容性强。本文介绍了 `pytesseract` 的安装、基本功能、高级特性和实际应用场景,帮助读者快速掌握 OCR 技术。
28 0
|
28天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
87 3
|
10天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
88 44