MirageOS 什么鬼?它为什么重要?

如果你平时熟悉使用命令行,那么了解MirageOS的最好办法就是,自己试一试安装操作步骤(https://mirage.io/wiki/install)!

MirageOS是啥东东?为什么它很重要?

在云端运行的应用程序大多数并不是针对在云端运行而经过优化的。它们本身假设需要依附底层操作系统,其中包括安全漏洞和臃肿软件。将大型服务器分隔成一个个小型虚拟机让许多新的公司得以成功创办起来、实现规模化。这对新服务来说是好事,可是那些虚拟机有许多是单一用途的,不过含有基本上整个操作系统,这种操作系统本身像Web服务器那样运行应用程序。这就意味着,占用的一大部分资源没有被使用,也没有必要,这不仅导致成本高昂,还带来了安全风险(归因于更大的攻击面)。

MirageOS俨然是一种新的方法:只包含操作系统的必要组件,连同应用程序一起编译到单一内核(unikernel)。这带来了非常高效、极其精简的软件设备(appliance),同时攻击面要小得多。这种软件设备可以直接部署到云端和嵌入式设备,好处就是降低了成本,提高了安全性和可扩展性。

MirageOS的工作原理如何?

MirageOS是一种“库操作系统”,可用于跨众多云计算平台和移动平台,构建安全的、高性能的网络应用程序。其工作原理如下,将Xen虚拟机管理程序当成一个稳定的硬件平台,让我们可以专注于实施高性能协议,没必要为支持传统操作系统里面的成千上万个设备驱动程序而操心。

可以在Linux或Mac OS X之类的桌面操作系统上使用高级函数式编程语言(OCaml)来开发代码,然后编译到一个完全独立的专用单一内核中。这种单一内核直接在Xen虚拟机管理程序API上运行。由于Xen支持大多数公有云,比如亚马逊EC2、Rackspace云及其他许多云,MirageOS让你的服务器可以在任何基于 Xen的云或托管服务上运行,成本更低、安全性更高、速度更快。

MirageOS基于OCaml这门语言,在编译用于部署到生产环境时,其语法扩展和50多个代码库可以直接映射到操作系统构件。正因为如此,MirageOS包括使用函数式编程全新实施诸多协议的技术,从TCP/IP、DNS、SSH、Openflow(交换机/控制器)、HTTP、 XMPP到Xen虚拟机之间的传输协议,不一而足。

MirageOS在哪些地方很有用?

目前的MirageOS软件设备的一个例子就是这个网站,它完全是一个自托管网站,部署在公有云上,直接在Xen虚拟机管理程序上(这里是亚马逊 EC2上)运行。这类软件设备可以自动配置,并直接部署到公有云(比如Rackspace或亚马逊EC2),也可以推送到嵌入式设备。还有一个例子是http://decks.openmirage.org,其不同的MirageOS软件设备被用来演示会议所用的幻灯片。这两个情况表明了眼下MirageOS在如何得到应用,而下面这几个例子表明了我们在未来可以用MirageOS来做什么。

可自扩展的架构

我们可以创建可自扩展的Web服务器,而且占用的资源非常少。由于体积小巧,这种服务器运行起来其成本低于当前的解决方案,但同时又具有高度弹性。如果流量出现突然激增的情况,Web服务器可以配置成自动创建和部署Web服务器副本,以处理需求。这种自扩展非常迅速地完成,以至于入站连接就能触发新服务器的创建,然后新服务器就能在连接超时中断(大约几毫秒)之前处理该请求。需求再次下降后,这些Web服务器又能自动关闭。由于这些机器启动速度快,我们就能变得更有弹性,可以增减计算容量,毫厘不差地满足要求,因而只有在确实需要计算容量时,才添置实际需要的那部分容量。

部署到嵌入式设备

如果使用MirageOS,我们还能创建可以在嵌入式设备上运行的软件设备。这类软件设备可以部署到家里多个角落的小设备中,比如用来测量湿度的花盆或冰箱里面可以告诉究竟什么食品变质的化学传感器。你可以通过一种Web服务器软件设备,访问来自这些传感器的数据,该软件设备也可以本地部署在家里,部署到Raspberry Pi之类的硬件设备上。将额外的应用程序安装到Raspberry Pi软件设备上是很简单的操作,只要轻松点击一下,你就可以共享你的数据或者比较别人的数据。构建这样一个家庭网络,可以确保你不受到任何上游连接问题的影响,数据仍然在你的控制之下。

同样这个场景可以应用到企业环境:建筑物四周的传感器可以监测环境条件、调整灯光及其他许多工作参数。需要额外的计算资源时,就能在云服务提供商的平台上自动创建更多的软件设备,以满足短期需要。

总的来说,MirageOS在提高效率和安全方面具有显著的好处,用来部署到公有云和嵌入式设备上再理想不过了。结合Irmin和Signpost,MirageOS成为了Nymote/MISO工具箱的一个核心部件,有望支持即将涌现的一大批物联网设备。

本文作者:云头条

来源:51CTO

时间: 2024-09-20 11:36:40

MirageOS 什么鬼?它为什么重要?的相关文章

正在学java 后台传到前台的中文为??? 这是个什么鬼 在线等

问题描述 正在学java 后台传到前台的中文为??? 这是个什么鬼 在线等 后台代码如下: public String paging(){ HttpServletRequest req=ServletActionContext.getRequest(); HttpServletResponse resp=ServletActionContext.getResponse(); int pageIndex=Integer.parseInt(req.getParameter("pageIndex&qu

性能指标都是些什么鬼?

本文讲的是性能指标都是些什么鬼?, 原文地址:Performance metrics. What's this all about?原文作者:Artem Denysov译文出自:掘金翻译计划本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO/performance-metrics-whats-this-all-about.md译者:llp0574校对者:ppp-man,lampui 测量页面的加载性能是一项艰难的任务.因此 Goo

java-cannot find method [*] in action [*]这个问题是什么鬼?

问题描述 cannot find method [*] in action [*]这个问题是什么鬼? 2016-02-16 00:32:16,038 DEBUG (com.opensymphony.xwork2.interceptor.ParametersInterceptor:72) - Parameter [img64] was accepted and will be appended to action! 2016-02-16 00:32:16,039 DEBUG (com.opensy

图片-C语言选择排序,最后一个数字后的三角形是什么鬼??

问题描述 C语言选择排序,最后一个数字后的三角形是什么鬼?? 代码在这: #include<stdio.h> int main() { void sort(int *x,int n); int i,*p,a[5]; p=a; printf("please enter 5 numbers:n"); for(i=0;i<5;i++) { scanf("%d",p++); } p=a; sort(p,5); for(p=a,i=0;i<5;i++)

代理服务器与VPN都是什么鬼 戳完秒懂

相信大多数人看到"代理服务器"这几个字都是满脸懵逼的状态,但是如果笔者不和你聊代理服务器,而是说一说VPN与科学上网,相信你一定就会漏出会心的微笑了.今天,笔者就和大家聊一聊究竟 代理服务器:一个赚差价的中间商 最近很多人都被某广告语"没有中间商赚差价"的反复重复洗脑了,但是代理服务器却很符合商业规则,因为它是一个专门提供服务然后从中赚取差价的中间商. 根据维基百科解释,代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通

windows分磁盘都最后一步提示动态磁盘什么鬼的

问题描述 windows分磁盘都最后一步提示动态磁盘什么鬼的 准备装个装系统,分个盘就这样了 解决方案 对于mbr分区,一个硬盘最多分4个分区,你必须先分成扩展分区,然后创建逻辑驱动器,才能分为更多的分区. 解决方案二: 动态磁盘动态磁盘动态磁盘

6666666-这是什么鬼?????

问题描述 这是什么鬼????? <img src=""/Uploads/product/tilamisu/2016-01-03/prodesc/2016-01-03/568892bc5d9d9.jpg alt="""" /><img src=""/Uploads/product/tilamisu/2016-01-03/prodesc/2016-01-03/568892c288123.jpg alt="

js- JS中返回值为什么鬼???

问题描述 JS中返回值为什么鬼??? 解决方案 应该是一个html的页面吧 解决方案二: 应该是一个html的页面吧 解决方案三: 为什么是空.?是这样么? 好像是同步的问题吧. 用回调吧. 解决方案四: $.post是异步请求,还没执行完,就已经return html了 $.ajaxSetup({ async : false }); 加在$.post之前,或者用非简写的ajax $.ajax({ type : "post", async : false//设为同步执行 解决方案五:

iso-ghost系统到底是个什么鬼?

问题描述 ghost系统到底是个什么鬼? 将一个系统制作成ghost再恢复到其他电脑上,目的电脑的系统是跟你ghost备份的系统完全一样的么?iso镜像呢? 解决方案 ghost镜像是硬盘的镜像,iso镜像是光盘的镜像. 所谓硬盘的镜像,就是目标硬盘上恢复出来的文件.目录全部和镜像的一样.但是计算机的运行,除了相同的文件,还取决于相同或者类似的硬件,复制出来的系统未必运行的和原来的系统一样. 但是ghost备份自己,恢复出来是一样的,好像时间还原到做ghost的时候. 解决方案二: ISO镜像里