2

我们正在开发一个平台,使我们能够轻松地将多个应用程序添加到云平台上,以便可以在 SaaS 基础上提供应用程序。将有对所有应用程序的单点登录访问(可能通过 Open SSO)。

我们正在考虑: 1. Mule ESB(用于集成以不同语言开发的应用程序) 2. GigaSpaces XAP(用于可扩展性) 3. Appistry Cloud IQ 平台(用于上传应用程序) 4. GoGrid 用于托管

这是正确的工具组合吗?你能推荐其他组合吗?

4

2 回答 2

1

我会提前声明,我是 Appistry 的原始工程师之一,现在是产品经理。我会坚持技术事实。:-)

正如您所提到的,您可以使用 Appistry CloudIQ Manager 来简化跨云服务器的应用程序和相关服务的部署、管理和生命周期。Manager 可以使用任意服务或服务/应用程序组合来执行此操作,并确保它们在每台服务器上保持正常运行。Manager 在服务器来来去去时扩展和缩小应用程序。CloudIQ Manager 可以很好地与 Mule 和 GigaSpaces 配合使用。

至于其他组合,特别是您对可扩展性的要求,以及以不同语言开发的应用程序的集成,您可以考虑将 CloudIQ Engine 作为应用程序平台。Engine 可以代替 GigaSpaces 使用,或者与它们结合使用,具体取决于您要处理的部分。

CloudIQ Engine 是一个完全去中心化的应用程序容器。Engine 支持多种语言进行集成,无论是在客户端还是在云端。

在客户端,您可以使用 Spring 和 .NET 远程处理来调用引擎托管的对象(调用者和被调用者必须使用相同的语言)或使用 CloudIQ 客户端 API(C/C++/Java/.NET/SWIG-wrappable)使用用户定义的流程提交请求,可能消除对 ESB 的需求。流程在 Engine 上的云中执行,并允许单个请求跨多个方法编排调用。这些方法可以使用不同的语言。

在云端,您可以将 Java 对象(PO​​JO 和 Spring Bean)和 .NET 对象 (PONO) 以及 C/C++ 库部署为引擎应用程序。Java 和 .NET 对象可以按原样部署。C/C++(和其他二进制库)可能需要一些包装代码。元数据描述代码的工作负载策略和其他云端行为。

发动机应用是完全对称的。云中的每台服务器都运行您的应用程序代码。内置的、基于软件的负载平衡将请求定向到最能处理工作的服务器。您的代码无需更改代码即可从平台继承可伸缩性。除了规模之外,您的应用程序还免费获得可靠性和自动故障转移,以及在元数据中定义您希望应用程序如何响应故障的能力。除非它是非线程安全的,否则引擎会在所有可用的 CPU 内核上自动扩展您的代码。如果您的代码不是线程安全的,CloudIQ 可以有效地运行它,但代价是不使用所有内核。

您可以轻松地尝试一下。CloudIQ 平台社区版允许在最多五台服务器和/或十个处理核心(包括生产)上免费、无限制地使用该软件。Appistry Peer2Peer 提供社区版(需要注册):Appistry Peer2Peer

Appistry 客户 Presidio Health 在 GoGrid 上运行基于 Java 的 CloudIQ 引擎应用程序并取得了巨大成功。这里有一个包含技术讨论的网络研讨会和案例研究(需要注册):Appistry 资源库

于 2010-01-28T19:00:27.777 回答
0

你实际上是在选择一个非常好的堆栈。Mule 和 Gigaspaces 经常一起使用,Mule ESB Enterprise(不是开源版本)实际上嵌入了 Gigaspaces 技术以提供高可用性

GoGrid 拥有出色的平台,支持 Mule ESB、GigaSpaces 和 Appistry 的公司都是 GoGrid 的合作伙伴,因此您可以期待使用该堆栈获得良好的支持。我对 Appistry 不太熟悉,所以无法直接评论它们。

于 2010-01-24T07:45:29.087 回答