Fork me on GitHub

Deislabs开源 使用WebAssembly打造的PaaS项目Hippo

微软的 DeisLabs 团队 9 月 21 日发布了一个称之为Hippo的开源PaaS,Hippo 利用 WebAssembly 和其他现代云本地化工具,提供快速、便携和安全的沙盒环境,以编译、部署、运行和管理应用程序,期望改造当前PaaS生态系统。 Hippo提供工具让用户将应用程序,打包成程序对象资源包(Bindle),并且上传到可供搜索的Bindle服务器,而Hippo则在底层使用这些Bindle来储存和组织应用程序。

Deislabs开发Hippo的目标主要解决两个问题,第一是让开发应用程序和服务更简单,Hippo提供一套方便的工具,开发者可以快速建置和测试新想法。 第二则是让开发团队更轻松地管理应用程式发布生命周期,Hippo使用称为频道(Channels)的概念,频道会根据制定的标准,自动部署最新的版本。

开发者通过使用Hippo命令行工具,可以上传最新版本,或是建置本地开发用的Bindle,而在未来,Deislabs会强化该工具,并且让开发者能够创建应用程序、配置频道、收集日志和附加TLS证书等。 用户也可以使用网页界面注册新账户、访问应用程序和创建新的测试环境。

WebAssembly是一种类似组合语言的的低阶语言,能编译成为小巧的二进制格式,并且以接近本地性能执行,而Hippo则利用WebAssembly系统接口(WebAssembly System Interface,WASI),在云上执行WebAssembly。 官方提到,因为使用WebAssembly,Hippo便能获得三个主要的好处。

  • 由于WebAssembly应用程序会以沙盒执行,应用程序仅能获取各自的内存位置,除非Runtime明确授权,否则无法获取沙盒环境之外的内容,包括主机调用、系统文件、函式库和装置,因此Hippo具有高度安全性。
  • 另外,WebAssembly还让Hippo应用程序具有可移植性,当应用程序编译成WebAssembly,应用程序并不在意操作系统的底层架构,因此当编译后的应用程序部署到Hippo,不需要修改就能够在Windows、MacOS和Linux上运行。 也就是说使用Hippo,开发者在将应用程序传送到Linux服务器执行前,可以先在Windows上以完全相同的二进制文件编译并且测试,达到真正一次构建,随处执行的理想。
  • Hippo得利于WebAssembly接近本机执行性能的好处,在官方的实验中,冷启动加载应用程序到实体化WebAssembly Runtime,约只需要10毫秒的时间,官方提到,他们正在进行一些改进,甚至可将启动时间缩短至3毫秒。

想尝试的开发者已经可以开始试用Hippo,而官方也持续改进Hippo,像是新增命令行工具的功能,或是让Hippo在工作负载调度工具nomad上执行更加容易,并且提升Hippo和其他系统的互通性等。

-----------------------------------------------------------------------------------------------

DeisLabs是Azure的孵化器项目之一,它致力于为Kubernetes构建工具。近来,它选取Rust来开发新产品Krustlet,允许开发者在Kubernetes中运行多个WebAssembly模块。

欢迎大家扫描下面二维码成为我的客户,为你服务和上云

posted @ 2021-10-31 12:43  张善友  阅读(251)  评论(0编辑  收藏  举报