微软:Linux 是今天 Azure 上的顶级操作系统

微软:Linux 是今天 Azure 上的顶级操作系统

2001年,当时的微软首席执行官史蒂夫·巴尔默抱怨说:“Linux是一种癌症。”这位未来的洛杉矶快船队老板指的是Linux的开源许可证——通用公共许可证——要求所有基于它的软件也必须转化为开源。

他的担忧有些夸大其词,但也有预见性,只是可能他自己都没有意识到这一点。

二十年后的今天,是Linux而非Windows成为了微软Azure上使用最广泛的操作系统。但促使Linus Torvalds的项目在微软云中崭露头角的是客户需求,而不是理查德·斯托曼的严厉批评。

如今,根据微软Azure Linux平台组的两位项目经理杰克·阿布特布尔和克鲁姆·卡珊在今年早些时候在Linux基金会开源峰会上的演讲,微软投入大量精力确保Linux在Azure上的运行尽可能顺畅。

“Linux是Azure上排名第一的操作系统。”阿布特布尔说道。

Azure Marketplace中有超过60%的产品基于Linux,总数约为20,000项服务,而且超过60%的虚拟机核心也是基于Linux构建的。

“我们最初是一个Windows平台,而今天Linux是在Azure上运行的第一大操作系统。”

——微软的杰克·阿布特布尔。

所有这些都必须得到微软用户期待的支持。因此,微软Linux平台组的存在至关重要,该团队为内部客户和Azure客户提供Linux支持。

如今,这两位工程师解释说,微软对如何大规模运行Linux了解得和其他人一样多。

超大规模下的Linux

这一切并非一蹴而就。当微软在2008年推出Azure(代号“红狗”)时,其目的是提供一个.NET平台即服务,主要用于运行Web应用程序。然而,客户不断询问微软是否提供LAMP堆栈托管服务,到了2014年,在CEO萨提亚·纳德拉(“微软❤️Linux”)的批准下,Azure首次提供了运行Linux的虚拟机(VM)。

微软:Linux 是今天 Azure 上的顶级操作系统2

截至目前,有数百种Azure和基于Azure的服务在Linux上运行,包括Azure Kubernetes服务(AKS)、OpenAI、HDInsight以及许多其他数据库服务。

“支撑一切的基础架构中很多都是运行在Linux上的。”阿布特布尔说道。

“到处都在运行着各种版本的Linux。”阿布特布尔说道。

为了运行这些服务,微软维护了自己的内核,即Azure Linux,并于2023年发布了自家版本的Linux,名为Azure Linux。

但是Azure Linux只是在Azure上运行的所有Linux版本的一小部分,微软必须与其他版本合作以提供支持。

总体而言,Azure市场上大约有20,000个第三方软件即服务(SaaS)包依赖于某种Linux发行版。出现问题时,Azure服务工程师会收到求助工单。

公司有一套认可的Linux发行版,其中包括红帽企业版Linux、Debian、Flatcar、Suse、Canonical、Oracle Linux以及CentOS(由OpenLogic而非红帽管理)。

阿布特布尔解释说,认可并不意味着推荐,但每个发行版都有自己的忠实用户群。

“如果一个发行版要获得认可,我们必须确保确实有人想要使用这个发行版。”阿布特布尔说道。

一旦某个发行版获得认可,微软就必须投入一些工程时间来确保它在Azure上运行良好。微软与发行商建立合同关系。定期地,微软会与这些公司会面,向他们通报即将发生的变化和持续存在的问题。

最后,微软通过Azure镜像基础设施竭力确保及时更新软件包。

“我们希望确保当[用户]需要软件包更新时,它就在那里,位于与您的计算资源相同的网络中。”阿布特布尔说道。

Linux来宾操作系统开发生命周期

微软:Linux 是今天 Azure 上的顶级操作系统3

总体而言,仅从这些认可的合作伙伴处,公司每月就能收到大约1,000个镜像。许多发行版都有多个镜像(例如,Suse有一个标准版和一个高性能计算版)。

“我们面临的最大挑战是时间安排。每个发行版都有自己的发布周期。”阿布特布尔说道。其中一个,Oracle Unbreakable Linux甚至没有固定的发布时间表。