包括 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
感谢贾国清对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论