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