NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

访谈:Paul Fremantle 谈 WSO2 Stratos

  • 2010-10-11
  • 本文字数:3055 字

    阅读完需:约 10 分钟

WSO2 最近发布了针对企业应用开发的开源云计算平台Stratos 。WSO2 Stratos 构建在WSO2 Carbon 基础之上,并对其进行了扩展,后者是一种OSGi 兼容的中间件。

WSO2 Carbon 平台包含了大量企业中间件的功能,从托管在 WSO2 Web 服务应用服务器和 WSO2 数据服务中的核心服务,利用 WSO2 企业服务总线和 WSO2 业务流程服务器连接和组合服务,到跟 WSO2 Mashup 服务器和 WSO2 Gadget 服务器一起提供界面展示。所有这些都由 WSO2 治理注册库、WSO2 身份认证服务器和 WSO2 业务活动监视器来管理。

Stratos 提供了一个 Web 控制台,使得在多租户环境中动态部署 WSO2 Carbon 产品成为可能。WSO2 称这种在多租户环境里客户动态部署和使用任何 WSO2 Carbon 产品透明进行伸缩的能力为原生云Cloud-native)。按照官方发布声明的说法,制造原生云产品的关键好处 / 特征是:

  • 弹性:基础设施的利用根据使用情况动态伸缩。
  • 多租户:支持不同业务单位或地区办公室的应用可以从单一位置交付成本效益。
  • 计费、度量和灵活的监视:用户按使用进行控制和付费。
  • 自部署和管理:导致应用开发和把它们部署到使用者面前的时间差接近于 0。
  • 动态、即时的发现和装配:虚拟化基础设施可以在服务器、私有和公共云之间灵活,甚至部分的移动。
  • 递增部署和测试:支持持续更新、端对端操作、就地测试和递增开发产品。

InfoQ 采访了 WSO2 的 CTO,Paul Fremantle,跟他一起探讨了 Stratos 的功能,深入了解了该产品的路线图和发展。

InfoQ:当你谈到原生云时,有哪些特征可以让一个 WSO2 云镜像(cloud image)蜕变成一个原生云平台?

PF:我们认为让一个系统成为原生云有一系列的特征。核心 / 基本的是多租户、自服务、弹性和度量 / 计费。此外,我们还认为动态发现端点以及递增开发和测试也很关键。具体的细节可以从最近的一篇博客文章里了解,我们还有一份白皮书更深入进行了阐述。

基本上,云镜像和Stratos 之间区别的解释可以很容易在 http://cloud.wso2.com 找 到,只需注册一下就好了。Stratos 是多租户、自服务和弹性的。如果使用云镜像,你不得不依赖底层基础设施(如 Amazon EC2)来启动一个新(比方说)ESB 实例, 度量并调整它。利用 Stratos,我们可以帮你独立于底层的基础设施云来完成这些工作,而且以一种对平台要经济得多的方式。

例如,每个 Amazon VM 都是要花钱的。在 Stratos 里,我们在相同的 JVM 上运行多个 ESB 租户,按需增加 JVM。这种方式下,要是有很多 ESB 并没有进行重负荷工作(如,开发 / 测试 ESB),在它们用到足够的资源需启动一个新 VM 之前,它们基本没有什么开销。

InfoQ:我们能不能使一个适合部署到云中的应用(针对原生云应用的特点)成为原生云?

PF:Stratos 的最初目标是能够让现有应用在一个租户内运行。但是,在构建 Stratos 的时候,我们不得不处理跨租 户运行多租户的应用构建问题。我把这称为子租户(sub-tenant)和超级租户(super-tenant)的编程模型。Stratos 的确有办法让 你可以把子租户应用变成多租户应用,但是这种方法并不是完全无需编码的。你需要增加一些理解周围所处多租户环境的代码。这样说的话,其实也不困难。

我们目前还没有任何关于这部分的文档。这也正是我们和被选中的测试用户一起在做的事情。

InfoQ:该平台的移植性如何?要是数据的合规 / 敏感性使其更适合于一种私有云部署的话,人们可不可以在企业内部运行它?

PF:Stratos 完全可以移植运行在企业的内部。其实,这就是我们未来 2 年的主要目标。在制造可以部署到企业内部的开源 PaaS 方面,我们可以说是独树一帜。

InfoQ:对于操作系统 / 平台的依赖性如何,你认为存在很多依赖吗?就对平台依赖的程度来讲,Stratos 处于什么样的水平?

PF:我们支持 Windows/Linux/Solaris,同时也支持多种云基础设施,包括 Amazon、Ubuntu、 Eucalyptus 和 vmWare(很快就会发布)。我认为,绑定到一个平台或操作系统,就像被绑定到任何东西之上一样 - 依赖点越多,从长期看,你得到的自由度就越小。

InfoQ:你们现在支持的度量粒度是什么样的级别?你能给读者举一些被使用的度量值的例子吗?

PF:我们缺省度量带宽、存储、服务调用和用户数(都是以每租户为单位的),但是用户可以扩展度量系统,因此你也可以度量诸如中介或更偏向业务级别的度量值。

目前,我们还没有正式发布这些 [用来扩展度量系统的]API,但我们已经打算这么做了。由于目前还有文档,因此用户当前要是想使用这些 API,他们需要我们的帮助。这些代码目前可以从这里获得: http://svn.wso2.org/repos/wso2/trunk/stratos/components/org.wso2.carbon.billing.core/

InfoQ:这个云产品支持哪种存储模型?

PF:目前,我们支持任何租户都可写的读 - 写注册库,租户可以连接到数据库。我们正规划一种 NoSQL/ 类 BigTable 的模型,但是现在我们的主要关注点是为现有应用提供部署模型,它们大多是基于 SQL 的。

[Stratos] 与 S3、Amazon RDS 和 NoSQL 配合良好。WSO2 目前还不提供任何数据库:我们寄期望于那些现在已经存在的事物上,或者用户可以在 Amazon 上启动类似 RDS 的东西。

InfoQ:那么,这些存储服务是否能以一种平台 / 存储无关的风格(API)获得或者它们是点对点的存储机制吗?

PF:目前,除了 JDBC,我们还没有任何平台无关的数据 API。我们打算将在于 2011 年第一季度发布的 Stratos 中包含一个数据服务和 API。

InfoQ:鉴于 Google App Engine 和 Microsoft Azure 的兵临城下,都是 PaaS 解决方案,而且在构建可伸缩系统方面拥有丰富的经验,WSO2 准备如何与这些拥有广泛经验的巨人竞争?显然,对于多租 户架构来说存在着秘方;你能描述一下你们基础设施的规模吗?

PF:当然,WSO2 在运行像 Azure 和 AppEngine 这类规模的基础设施方面并没有什么经验。然而,我们有的客户正每天运 行大规模的系统,处理上亿次交易。而且,在启动 Stratos 之前,我们已经运行公共云服务一段时间了。我们最开始对于 Stratos 的目标是私有云部 署,我们认为在这样的环境里不存在我们处理不了的伸缩性挑战。至于公共的 Stratos 运行时,我们正将之运行在 Amazon EC2 之上。

InfoQ:从业务模型的观点看,你能不能将你们的模型与像 Red Hat、Novell 等这样的公司进行一下比较。假设大部分构建产品的代码都是由 WSO2 公司团队贡献的,那你们如何保护提供竞争优势的知识产权呢?

PF:我们在 Apache 许可证之下完成所有事情。那并不能真正"保护"知识产权 - 相反是把它公开了。我们采用 Apache 许可证的原因在于,它带来了巨大的合作机会。

我们的主要收入来源是产品支持订阅,它是基于我们软件运行的实例数(即,产品里的 JVM 实例数)进行收费的。我们还提供一组敏捷咨询和服务,其中最 受欢迎的产品是我们的 QuickStart、CloudStart 和 PartnerStart 包。通过一些简单的场景介绍,一般可以让用户在一周内上线运 行。

InfoQ:除了关注标准,你能否分享一些关于产品策略以及将产品包含进产品集中的标准的看法?

PF:一致性和轻便性是我们的首要关注点。我们的目标是确保 Carbon(我们的标准平台)和 Stratos(原生云版本)是完全 模块化和一致的。接下来的关注点实际是由用户驱动的。我们已经根据用户的强烈意愿增加了部分组件。我们构建自己的注册库是因为客户需要一种高效的开源注册 库。我们增加 BAM 是因为客户向我们询问如何监视他们的 SOA,诸如此类。

查看英文原文: Interview With Paul Fremantle On WSO2 Stratos


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2010-10-11 00:002425
用户头像

发布了 255 篇内容, 共 54.5 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

大作业

瑾瑾呀

52条SQL语句性能优化策略,建议收藏

Java小咖秀

MySQL 性能优化 后端 MySQL性能优化

写代码这件事

ES_her0

28天写作 3月日更

数据营销“教父”宋星十年倾心之作,让数据真正赋能企业

博文视点Broadview

Spring AOP 执行顺序 && Spring循环依赖(面试必问)

hepingfly

Java spring aop 循环依赖

混合编程:如何用python11调用C++

华为云开发者联盟

c++ 编程 语言 python11 混合编程

啥子叫递归哟!!!(阶乘)

依旧廖凯

28天写作 3月日更

Ubuntu 日常系列:常用软件

TroyLiu

Linux ubuntu Ubuntu20.04

AI开发效率低,你可以试试华为NAIE AutoML

华为云开发者联盟

华为 AI 框架 AutoML NAIE平台

学无定法——知识反转效应

Justin

心理学 28天写作 游戏设计

书单|互联网企业面试案头书之程序员软技能篇

博文视点Broadview

基于 SparkMLlib 智能课堂教学评价系统 - 系统实现(四)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

解析分布式应用框架Ray架构源码

华为云开发者联盟

gRPC API 框架 ray 分布式应用框架

分布式事务

insight

分布式事务 3月日更

面试官再问你优先级队列,请把这篇文章丢给他

Silently9527

Java 优先级队列 二叉堆

利用深度元学习对城市销量进行预测 | AAAI 2021论文解读

京东科技开发者

零售 预测

Elasticsearch Segments Merging 磁盘文件合并

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

【LeetCode】螺旋矩阵Java题解

Albert

算法 LeetCode 28天写作 3月日更

有状态容器应用,从入门到实践

焱融科技

Kubernetes 容器 云原生 焱融科技 分布式存储

镁信健康“互联网+医+药+险”模式能否打造出中国版联合健康?

E科讯

初识Golang之聊聊类型

Kylin

3月日更 21天挑战 Java转go Go 语言

用户行为分析模型实践(一)—— 路径分析模型

vivo互联网技术

大数据 数据分析 用户行为分析

整理 自动备份MYSQL数据库shell脚本

edd

Navicat操作MySQL简易教程

Simon

MySQL navicat

javascript中的Strict模式

程序那些事

JavaScript ES6 程序那些事

Hadoop之YARN的内部机制

hanke

大数据 hadoop 开源 YARN

优雅编程 | 24个Javascript代码优化技巧

devpoint

js 空值运算符 高级函数 模板字面量

最新版Swagger 3升级指南和新功能体验!

王磊

Java swagger

高并发HTTP请求实践

高性能架构探索

在PostgreSQL中使用ltree处理层次结构数据

PostgreSQLChina

数据库 postgresql 开源 软件 开源社区

一文搞懂PID控制算法

不脱发的程序猿

3月日更 PID 控制算法 智能控制 工业控制

访谈:Paul Fremantle谈WSO2 Stratos_Java_Dilip Krishnan_InfoQ精选文章