Translate: CAMP1.0 – PaaS应用程序管理的开放API

 

包括Oracle、Rackspace、Red Hat 、CloudBees在内的几个公司提出了一个针对PaaS应用程序管理的开放API。这套API让开发者可以在单一PaaS内或多个不同的PaaS间管理应用应用程序。这些PaaS实现规范不需要了解任何底层的“云”架构。

CloudBees、 Cloudsoft Corporation、Huawei、Oracle、Rackspace、Red Hat和 Software AG 已经公布 一个新的PaaS 管理API,称为CAMP(Cloud Application Management for Platforms)。

它可以让云服务提供商或用户创建管理“云”中资源的应用程序。起初的想法来源于这样的观念:“云”用户不应该需要关心虚拟机、存储或网络等低层次资源,而应该能直接访问应用程序或其组件的高层次资源。同样,用户能够用统一的管理控制台访问不同供应商提供的PaaS服务并能在不同的“云”之间轻松地传输资源。

CAMP API的构建基于HTTP/1.1,采用RESTful方式并以JSON格式传输资源。它以插件形式提供给应用程序开发环境(ADE)或应用程序管理系统,以便于开发者通过应用程序开发环境在他们自己选择的“云”内创建、上传、部署、初始化自己的应用程序。

CAMP[PDF]定义了多种资源,包括平台、平台组件、应用程序、应用程序组件。虽然都是可以通过CAMP访问的资源,但有所区别,例如云平台是完整的PaaS,而平台组件则是各式各样的服务。目前CAMP仅定义了一种这样的服务称为DbaaS (Database-as-a-Service)。

作为主要资源之一的应用程序,CAMP为其提供了贯穿整个生命周期(描述如下)的操作接口:

初始化应用程序直接按照下面的请求-响应序列执行一个POST命令:

POST /paas/asm_template/1 HTTP/1.1
Host: example.org

HTTP/1.1 201 Created
Location: http://example.org/paas/assembly/1
Content-Type: ...
Content-Length: ...

而暂停一个应用程序或许可以按照下面示例:

POST /<assembly-resource-url> HTTP/1.1
Host: example.org
Content-Type: application/vnd.org.example.PaaS +json;type=Xxxxx
Content-Length: ...
{"new_state": "suspend"}
HTTP/1.1 200 OK

为标准化,CAMP已经被提交给OASIS,这其中包括一个关于技术委员会的提议章节,以期作为未来18个月内采用的标准。CAMP的构建中Oracle参与最多,14个规范中有7个规范的作者都是Oracle的。

查看英文原文CAMP 1.0 – An Open API for PaaS Application Management

Translate: Azul为开源社区项目提供免费的Zing JVM

 

4月末,继Zing 5.2 之后, Azul Systems宣布他们将无停顿(pauseless )的Zing JVM提供给开源软件开发者和项目,以供开发和测试。

Azul Systems 工程部副总裁和合作创始人Shyam Pillalamarri向InfoQ说明道:

我们的部署很大一部分基于开源组件,所以我们认为:“假设我们不能将一些有价值的东西免费提供给开源项目贡献者,他们将一直受限于从Java虚拟机(JVM)视角所看到的内容”,他们将不会考虑额外的用例,或者选择其他能解决了所有内存或扩展性问题、类似Zing的系统。如果这样的话,他们会面临堆占用尺寸过大且没有下降趋势的问题。

这个想法产生于开源社区早期贡献者的经验。例如,Apache Lucene项目参与者及PMC项目成员Michael McCandless在新闻稿中谈到:

Azul创新的Zing JVM和无停顿垃圾回收(GC)使Apache的 Lucene 项目开发者开始去研究需要大规模堆的事例(例如为了更快搜索将整个搜索索引存在内存中)。基于全维基百科英文站点的索引内存初步测试显示Zing真正实现了在管理140GB以上堆时不用暂停。

Clojure创始人Rich Hickey提到:

平衡不可变性以提高并发性和扩展性的的编码和架构策略使Zing JVM能很好地支持无任何中断或停顿的、持续的高对象分配率。Azul将Zing JVM开源,这为社区作出了杰出贡献。

除了在垃圾回收(GC)时不用停顿,Zing的GC收集器(详见这里)设计的很健壮,能支持各种平台。这主要得益于受突变、碎片比率、堆大小、软引用、存活对象尺寸等因素影响较小。同样地,Zing很适合需要高内存占用、高事务率、稳定响应时间、高持续吞吐量的负载场景。同时5.2版本在性能上有了进一步优化,特别是在同步方法调用和对象共享上。

Zing基于Oracle HotSpot,针对Linux和x86平台进行了优化。5.2版本支持以下Linux发行版:

  • Red Hat Enterprise Linux (5.2以上, 6.x)
  • SUSE Linux Enterprise Server (SLES 11 sp1和sp2)
  • CentOS (5.2以上, 6.x)
  • Ubuntu Linux (10.04 LTS, 12.04 LTS) -Zing 5.2版本新支持的平台

JVM支持任何基于Java SE/EE 6的应用程序,不久将来会支持Java 7。

Zing JVM发行版同样包括了产品应用可视化工具,称做Zing Vision,它提供了以一套工具用以在不恶化潜在故障的前提下实时获取故障程序的信息。在5.2版本有一些功能上的增强,例如在安全的时刻去收集更多的垃圾回收统计数据。

想在开源项目中使用Zing的用户可以发邮件至zing_oss@azulsystems.com;获取免费技术支持可访问Azul开源项目社区支持论坛http://www.azulsystems.com/developers/forum;如果发现问题可以访问http://www.azulsystems.com/developers/bugzilla,当然他们也提供商业化支持。

英文原文:http://www.infoq.com/news/2012/08/azul-zing-free