后Linux时代: 国产服务器操作系统面临历史性机遇

DSC_9251-1

Nexedi首席执行官 Jean-Paul Smets

 “mesh 计算”突破性产品的竞赛已经拉开大幕,找到新的产品和市场是国产mesh操作系统得到国际化认可采用的关键。

俄罗斯 [1], 中国 [2], 印度 [3], 土耳其 [4], 法国 [5] 都正在开发或者计划开发自己国家的操作系统,从而减少对美国软件统治的依赖。 这些计划将会成功吗?

Unix: 一个国际化的国产OS

“国产OS”战略本身并没有问题。它甚至可以变得非常成功。

Unix 和 POSIX 是非常有说服力的,由美国国家利益提供经费让”Linux”, 一个创建于芬兰的开源版本,走向成功的例子,解决了供应商和硬件之间相互合作的问题。 ADA language [6]– 一个服务于航天工业的国家通用语言 – 事实上是为嵌入系统提供更好的类型检查而在法国设计的,现在在美国的使用率却比其他地方更高。

国际化和带来重大且没有阻碍相互合作的创新似乎是使”国产OS”成功的秘诀。还有什么问题是像Debian这样成熟且显然非常完美的GNU/Linux发行版都不能解决的?

 

虚拟化: 用错误的方法解决目前操作系统的实际问题

近十年来,人们已经在云计算中投入了许多努力。让我们从”操作系统”的设计视角来分析一下这些尝试并归纳出一个云方案试图在POSIX操作系统中解决的难题列表。

难题 1. 目前POSIX操作系统不能在作为进程实施的服务之间提供强大的隔离功能。云方案使用CPU虚拟化来提供进程隔离。

难题 2. 目前POSIX操作系统不能支持同一服务的多种版本。云方案使用多重虚拟磁盘映像运行同一服务的多种版本。

难题 3. 目前POSIX操作系统不支持”同类服务多重示例”的范式。云方案使用多重虚拟磁盘映像运行同类服务的多重示例。

难题 4. 目前POSIX操作系统不支持多重相互关联服务的配置。云方案使用网络虚拟化或编制来连接多重虚拟磁盘映像或容器。

难题 5. 目前POSIX操作系统不支持远程服务部署。云方案使用虚拟磁盘映像的远程部署来远程执行服务。

难题 6. 目前POSIX操作系统不进行服务的本地监测。云方案使用的是通常在云架构之外运行的专署监测服务。

难题 7. 目前POSIX操作系统不支持服务使用资源的财务和记帐。云方案使用专署的第三方应用来提供财务和记帐应用,它们通常是在云架构之外运行的。

我们列出的这七个难题都是国产OS可以在当前GNU/Linux发行版上改进的。

这些改进并不是全新的:在40年的时间里,大型计算机的操作系统已经把这七个问题解决的不错了。这些改进也和近20年将Unix变成完全的分布式操作系统的努力息息相关,但是至今仍未成功。

单系统映像: “一切都是分散式档案”

OpenSSI [7] 以及后来的MOSIX [8] 在1977年提供了第一个将Linux变成分布式操作系统的解决方案。1998年,Kerrighed [9] 紧跟而上,接着是2006年的 XtreemOS [10] 。 在”单系统映像” (SSI)的术语之下, 是将多重Linux服务器像一个整体一样用拍字节RAM和成千上万的处理器聚集起来的理念。在一个服务器上开始工作的处理器可以透明地转移到另一个服务器上,以便在无需用户操心的情况下优化硬件资源。

MOSIX没有持续很长的时间 [11]. 在长达16年的研究开发后,对Kerrighed的稳定性还是有所质疑 [12]。尽管单系统映像(SSI)理论是最优雅的,可似乎也没有准备好投入生产。它也没有解决在传统POSIX操作系统中发现的许多问题,例如对多重版本和一个服务多重示例的本地支持。

另一个重要的理论起源于1987年 —— Plan9和它的续集Inferno —— 证明了它是可以基于Unix理念”一切都是档案”设计出一个先进的分布式操作系统的。但是由于Plan9 打破了与POSIX 代码库的兼容而且仅仅解决了所列出的七个难题中的一部分,Plan9 也没有在研究项目例如 Akaros [13] 之外得到大量的运用。

Mesh 计算: “一切皆服务”

近期浮现出了新一代的专注于软件包及服务而非文档的操作系统。在近期的一个会议上,惠普的CTO把它们称为“mesh” [14]。其中有两个理念值得关注:NixOS 和 SlapOS.

NixOS, 开始于2004年, 考虑到软件包管理是先进操作系统的最重要的组件。NixOS 软件包管理创新设计能够解决以上列出的七个难题中的四个。

NixOS 软件包管理使用声明式领域专属语言代表软件包, 它们的相依性和它们的配置。它可以在一个单独的操作系统上安装同一软件的多种版本,无需集合或虚拟化。它提供持续的软件包集的原子升级和降级。NixOS 支持分布式软件包管理和配置,采用了符合引导其功能理念源头的声明式模型和垃圾回收机制。在2012年, NixOps 已经介绍了支持远程部署服务的云扩展,它与本地部署软件包使用同样的方法和声明式语言。但同时, NixOps 已经开始介绍一些背离其原始理念的命令式编程及集合。

SlapOS 开始于2010年,带着用最少的成本,在分散式结构上完全自动化多重示例和任何服务版本的操作。正如NixOS 和 Disnix, SlapOS 依靠的是声明式语言来描述软件结构,部署和在分布式基础架构上的配置。SlapOS 也描述了同样的声明式语言:监控,备份,恢复,财务和记帐服务。SlapOS 已经使用于一些大型企业用于部署ERP应用:Airbus(德国), SANEF(法国),Kyorin(日本)。

SlapOS 提供了一些在POSIX中独有的理念并解决了以上列出的七个难题。它的核心设计是一个紧致ERP模型。用户可以向一个分布式软件目录(例如一个数据库服 务)要求任何数量的软件服务, 就如同从一个网上商店购买物品。SlapOS 提交被请求的服务给用户,监测,记录资源使用和管理票据。SlapOS中的所有对象都可以由一个网页URL代表,这个URL提供了唯一的命名和分享资源的 分布式管理。安全性依赖于一代X.509证书,包含了所有的服务,软件,计算机,IPv6地址和每个用户的分布式公开密匙基础建设(PKI)。进程之间的 二进制隔离通过来自以色列的ZeroVM技术 [15]实现。SlapOS的隔离属性已经经由French Atomic Energy Research Center [16] 通过唯一正式的证明验证。

通过新产品战胜应用上的挑战

重塑目前操作系统的形象未能给创新上的空缺带来更多的牵引。安全性能的扩展由国家军队赞助 —— 例如在 SE Linux [17]Kylin Linux [18]中 —— 总会产生对被其他国家添加后门的怀疑。生产国产操作系统唯一合理的办法是获得广泛的采用,即注入市场上重大的创新科技。Mesh 计算就是国产操作系统的一个理想候选技术。

但是一个技术的伟大,例如mesh计算 —— 或之前的Plan9 ——并不能满足应用的需要。本地的编配,更高的恢复性和更低的操作成本还不足以说服保守的开发者从目前他们喜欢的环境上转移一点点努力到应用上。近期能够发现的尝试,例如在CoreOS [19]里几乎不用成本的顺利整合集合[20]并编配到一个Linux发行版,尽管它都没能解决七个挑战中的大部分问题,但也吸引了许多的注意。

如果我们追溯操作系统的历史,MacOS 曾经被所有的IT专家所拒绝。感谢当时的市场组成:用PageMaker [21]的桌面出版和用4D [22]的快速应用程式开发(RAD),不接受的新产品,它最终得到了采用。DTP或RAD的新用户根本不在乎在一个单独的线程操作系统上使用鼠标和窗口,即文档有两个所谓的“forks”[23]是否好用。他们只在乎他们可以让工作做的又好又快又便宜。

找到新的产品和市场也许就是国产mesh操作系统得到国际化认可采用的关键。网络中立地位的终结可以是比如基于mesh 计算为私有CDN产品创立一个市场。数据的指数式增长和对隐私的关注可以吸引来即插即用,基于mesh计算的自行编配的大数据产品。对不同派别希望在智能 传感器上部署软件的需求,需要的是一个用一点点开支就可以支持安全资源分享的新操作系统。为了更高的恢复性,为了对抗硬件后门,在不同的基础架构 (ARM, x86等) 上运行同样的二进制应用的能力是一个能够简化企业IT并终结英特尔统治的针对敏感应用的典型产品。

第一个关于”mesh 计算”突破性产品的竞赛现在正式开始了。

本文是Nexedi首席执行官Jean-Paul Smets在IT经理网的独家专栏文章,转载需征得作者本人同意,并保留本文原始链接。

英文版本  English Version
参考
[1] 俄罗斯将开发自主操作系统减少Windows依赖 – http://tech.sina.com.cn/it/2010-10-28/08474800078.shtml
[2] 中国政府采购对win8说不, 国产操作系统被寄予厚望 – http://news.163.com/14/0521/08/9SONC5MK00014JB5.html
[3]DRDO:开发属于印度人自己的操作系统 – http://www.ifanr.com/news/221832
[4] Linux无处不在!让我来告诉你它到底在哪!- http://linux.cn/article-2480-1.html
[5] Montebourg serait favorable à la création d’un OS “made in France” – http://www.zdnet.fr/actualites/montebourg-serait-favorable-a-la-creation-d-un-os-made-in-france-xptdr-39801597.htm
[6] Ada – http://zh.wikipedia.org/wiki/Ada
[7] OpenSSI – http://en.wikipedia.org/wiki/OpenSSI
[8] MOSIX – http://en.wikipedia.org/wiki/MOSIX
[9] Kerrighed – http://en.wikipedia.org/wiki/Kerrighed
[10] XtreemOS – http://en.wikipedia.org/wiki/XtreemOS
[11] openMosix Project Ends – http://sourceforge.net/p/openmosix/news/2008/02/openmosix-project-ends/
[12] Kerlabs – http://www.societe.com/societe/kerlabs-492287552.html
[13] Akaros – http://akaros.cs.berkeley.edu/akaros-web/news.php
[14] Complement The machine with a distributed mesh cloud, welcome to the future – http://h30507.www3.hp.com/t5/Cloud-Source-Blog/Complement-The-machine-with-a-distributed-mesh-cloud-welcome-to/ba-p/165020#.U8e4Jv5mK00
[15] ZeroVM – http://en.wikipedia.org/wiki/ZeroVM
[16] Formal Verification of the Runtime of ZeroVm, a Sandbox Technique Based on NaCl – http://sebastien.bardin.free.fr/seminaire.html
[17] SE Linux – http://zh.wikipedia.org/wiki/%E5%AE%89%E5%85%A8%E5%A2%9E%E5%BC%BA%E5%BC%8FLinux
[18] Kylin Linux – http://zh.wikipedia.org/wiki/%E4%B8%AD%E6%A0%87%E9%BA%92%E9%BA%9F
[19] CoreOS – https://coreos.com/
[20] Docker – http://en.wikipedia.org/wiki/Docker_%28software%29
[21] PageMaker – http://zh.wikipedia.org/wiki/Adobe_PageMaker
[22] 4D – http://www.4d.com/solutions/develop/design.html
[23] HFS – http://fr.wikipedia.org/wiki/Hierarchical_File_System

第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom

   

除非注明,本站文章均为原创或编译,未经许可严禁转载。

相关文章:


关于作者

Jean-Paul Smets是上海外高桥自由贸易区的纳宇软件科技公司的CEO。纳宇软件科技经营着一个HTML5应用程序商店 (www.officejs.com)并发布了开源的ERP和CRM产品(www.erp5.com).