Cloud Application Management for Platforms


Cloud Application Management for Platforms is a specification for managing applications in the context of a platform as a service system. CAMP is designed to address the needs of a high-level PaaS system; one in which the consumer provides application artifacts and specifies which provider-supplied services are required to realize these artifacts as an application. The details of the infrastructure used to support these services are hidden from the consumer by the provider of the PaaS system.
CAMP defines the following:
Most PaaS systems provide some form of application management API. These APIs are used to upload applications into the cloud, configure which services will be used to run the application, start the application, monitor the status and performance of the application, stop the application, etc. These APIs are usually hidden behind a web application and/or a command line tool. This kind of API is a "me too" technology; its existence is a necessary prerequisite to providing a workable PaaS system, but there is little advantage in providing a better management API than your competitors. No one ever selected a PaaS offering solely on the strength of its application management API. Meanwhile, the fact that every PaaS system provides a custom application management API creates a number of issues:

CAMP 1.0

CAMP 1.0 was produced as a collaboration between CloudBees, Cloudsoft Corporation, Huawei, Oracle, Rackspace, Red Hat, and Software AG. It was published in August, 2012.

CAMP 1.1

In August, 2012 CAMP 1.0 was submitted to OASIS CAMP Technical Committee with the intent of producing an OASIS Standard. This Technical Committee has produced an OASIS Committee Specification. As per its charter, the CAMP TC is awaiting evidence of two, interoperable implementations of CAMP v1.1 before asking OASIS to approve the specification as an OASIS Standard.

CAMP Implementations

nCAMP

Developed in tandem with the work of the OASIS CAMP Technical Committee, nCAMP is a proof-of-concept implementation of the CAMP v1.1 specification. nCAMP was not intended to be a useful PaaS system but, instead, to act as a vehicle to test the concepts and constructs of the CAMP specification. nCAMP presents a simple system that uses Tomcat and MySQL to support Java Servlet based web applications that can use MySQL as a database.

Project Solum

Solum is an OpenStack Related Stackforge project designed to make cloud services easier to consume and integrate into the developers application development process. Solum's resource model and plan schema are based on CAMP, but not fully CAMP compliant. Work is currently ongoing to provide an additional, CAMP-compliant API in addition to the native Solum API.

Apache Brooklyn

Apache Brooklyn is a framework for modeling, monitoring, and managing applications through autonomic blueprints. Apache Brooklyn blueprints conform to CAMP v1.1 Public Review Draft 01.