Vertebra:EngineYard 的下一代云计算平台

  • Mirko Stocker
  • 李明(nasi)

2008 年 6 月 13 日

话题:RubyErlang云计算DevOps语言 & 开发架构

Ezra ZygmuntowiczEngineYard的创始人,Merb的开发者,在 RailsConf 2008 上展示了其最新的项目——Vertebra。在Ezra 的 blog 上可以浏览到本次展示的幻灯片

我们就 Vertebra 和相关的计划对 Ezra 进行了访问。

Vertebra 是一个规模相当大的项目,下一代云计算平台是对其最好的描述。它基于 Erlang/Ruby 构建,并由EjabberdXMPP所 围绕。Vertebra 既可以用于云自动化,也可以用于分布式实时应用开发。Vertebra 的全部思路是让云计算民主化,抽象出云计算的接口 API,并 使得人们可以利用多个云提供商控制投入产出比。对于商业集成项目,它也有巨大的潜在市场。如果你有一些老旧的服务需要集成到一个新架构中,你只需要写一个 简单的代理,这个代理可以让你的老旧服务连接到 Vertebra 消息总线上,这使得它可以通过一个标准的途径被消息总线上的任何消息寻址到。

Vertebra 自身是新平台的“脊柱”。我们正通过它自动化管理很多很多服务器,然而它对于在实时网络上的应用开发也产生了深远的影响。从根本上说,它是一个集成系统, 任何带有 XMPP 库的语言只要实现了协议,就可以加入 XMPP 云计算成为一个由机器和服务构成的大型组织的一部分。

因此 Vertebra 将会带有在云中自动化部署应用和虚拟主机的工具。但是它可以作为消息后端或者分布式计算系统运行在 Web 应用的后端,为诸如 map/reduce 之类的大 计算量任务提供强劲的运算能力。它可以实现基于最小负载结点的调度。比如你的 Web 应用获取了一个包含图像处理的请求,而你拥有 20 台后端的集群可以用于 图像处理。当你从 Web 应用上获取了请求以后,你可以向 Vertebra 请求一个最小负载的结点来服务这个特定请求,Vertebra 会返回一个最小负载 结点的列表,以便你根据这个列表或者其他更多的因素进行调度。



我们对 Ruby–Erlang 的组合也很感兴趣,想知道它们是如何协同工作的。

[..] 系统的核心由 Erlang 编写,EngineYard 最近雇佣了两名 Erlang 的牛人来开发该系统。安全 / 发现机制、状态机工作流系统和分布式键 - 值存 储系统都是由 Erlang 来编写的。而用来编写代理的框架则是由 ruby 编写的,实际的代理也是由 ruby 开发的。

然而,Vertebra 作为独立系统的集成,只要实现了我们的协议,任何语言都很容易地可以成为 XMPP 云的一部分。

那么这些技术将于何时发布,基于何种授权?

我很高兴的宣布我已经获得了批准,将基于 GPL 授权以开放源代码的形式完整的发布 Vertebra。我们也将对 Vertebra 提供付费支持,并且将托管 Jabber/Erlang 项目作为一项服务。

我还不能给出一个确切的发布日期,因为它依然在锻造之中。我们还需要确定我们协议的几个方面,并编写 XEP jabber 标准文档以使得我们的协议可以被识别成官方 XEP。当然我们想要尽快完成,因为 Vertebra 如此高瞻远瞩,我等不及要看到其他人会用它来做什么。

在今年夏天,我们就能确定协议并完善文档,并将其展示出来。

我认为 Web 3.0 将是实时万维网的时代。XMPP 将会在这场变革中扮演重要的角色,Vertebra 将会成为一个构建和整合众多独立服务的强大平台。



查看英文原文:Vertebra: EngineYard's Next Generation Cloud Computing Platform
RubyErlang云计算DevOps语言 & 开发架构