EN
返回档案库

档案库 · 开发与企业工具 · 技术决策 · 2013

Ansgar Grunseid的Arc:押注浏览器内的Linux虚拟机以削减服务器成本

在Dirpy每月1万美元的托管账单之后,Grunseid推出了Arc——每个网站客户端都运行一个Linux虚拟机——使得网络应用能在浏览器中运行原生Python和C语言。

Arc (arc.io)

它在赌什么浏览器应该为每个网站托管一个Linux虚拟机,让网络应用在客户端运行原生Python和C语言——原生性能加上网络分发,无需服务器扩展。已上线

做的是什么生意

Arc (arc.io) is a beta platform that gives websites a Linux virtual machine on every client: web pages open Arc apps through arc.js, and existing Linux binaries run with filesystem, process, graphics, audio and network access, behaving identically across OS X, Linux and Windows.

起因

Grunseid hit the wall while building Dirpy, a web app that records MP3s from YouTube: the right build was native Python and C, but testing and maintaining builds for every OS was a nightmare, so he ran all the work on servers and paid $10,000 every month in hosting. Browsers could not run Linux software like ffmpeg, reach native performance, or make cross-domain requests — so he built Arc.

经过

Arc is architecturally similar to a headless browser: an app is defined by a manifest, and opening it downloads the manifest, creates a fresh VM, retrieves the app's files and runs its commands; on Grunseid's MacBook Air Peggo's Arc app assembled from scratch in 1.3 seconds. The beta used VirtualBox for near-native runtime performance, shipped only for OS X with Ubuntu and Windows planned, and the installer was cut from 140MB to 60MB. Grunseid dogfooded the platform as Peggo, a YouTube recorder whose Python engine transcodes securely on clients, and the HN discussion pressed on security, licensing and why Arc itself was closed source.

还没有结局,它还在跑。

背景

Ansgar Grunseid在构建Dirpy(一个从YouTube录制MP3的服务)时遇到了网络应用的局限。最自然的实现是使用原生Python和C,但为每个操作系统发布和维护构建版本是一场噩梦,所以Dirpy将所有工作都放在服务器上,每月支付1万美元的托管费——而客户端却闲置着,它们完全有能力转码视频。

他的答案是Arc:一个软件,为每个访问网站的客户端提供一个Linux虚拟机。网页通过一个小型JavaScript库打开Arc应用,这些应用运行现有的Linux二进制文件,拥有文件系统、进程、图形、音频和网络访问权限,与主机隔离,并在OS X、Linux和Windows上表现一致。Arc应用由清单定义,像页面一样组装:下载清单,创建虚拟机,放置文件,运行命令。

为了验证这个平台,Grunseid构建了Peggo,一个YouTube录制器,其Python转码引擎在用户机器的Arc内运行:大约1000行Python,而Dirpy需要15000行,并且不需要在三数据中心的24台服务器上进行扩展。2013年8月15日在Hacker News上的Show HN帖子获得了281分和148条评论,讨论涉及安全性、引用检查、VirtualBox许可和Arc为何闭源。

推出时,测试版仅支持OS X,计划支持Ubuntu和Windows,使用VirtualBox获得接近原生的性能,安装包已从140MB缩减至60MB。Grunseid的愿景是Arc能释放客户端的潜在能力,同时保留网络的分发模式——无需安装即可获得原生能力的应用。

这件事要成立,得有什么

  • Dirpy每月1万美元的托管账单使服务器为中心的架构成为明显的敌人:客户端有能力进行转码,将负担转移给它们既节省了成本,也消除了扩展复杂性。
  • 由于Arc应用只是普通的Linux虚拟机,现有二进制文件可以原样运行,使得Grunseid能用1000行的应用取代15000行的扩展代码,并在开发机上运行。
  • 无头浏览器模型——清单、文件、命令——使得原生软件可以像网页一样分发:始终更新、沙箱化、无需针对每个OS构建或安装。
  • Peggo是实战测试:一个真实、日常使用的产品,展示了架构的可行性,而不是让开发者仅凭幻灯片就相信。

可借鉴之处

网络业务中最昂贵的开销可能是服务器账单,而解决方案可以在架构上调整:将强大的计算能力转移到客户端——你自己痛苦的代价就是产品演示。

后续进展

截至2013-08-15,Arc是可用的测试版:已打包支持OS X,计划支持Ubuntu和Windows,基于VirtualBox,安装包60MB,文档后续将在arc.io提供。Grunseid表示,基于Arc构建的实战应用Peggo每天都在使用,Arc应用在他的MacBook Air上从零组装仅需约1.3秒。博客文章没有记录后来的里程碑,因此案例在Show HN公告处结束。

资料来源

发现哪里写错了?告诉我们。

轮到你了

你刚读完一家。说说你在做什么,看看谁在赌同一件事。

免费账号 · 3 次免费提问 · 不用绑卡

相关案例