User:Gilbertpilz/sandbox

Cloud Application Management for Platforms (CAMP) is a specification targeted to the management of applications in the context of cloud services that use the Platform as a Service (PaaS) service model. It defines a model (consisting of a set resources and their relationships), a REST-based API for manipulating that model, and a packaging format for getting applications (and their attendant metadata) into and out of the platform.

CAMP was originally developed in 2011-2012 by a group of organizations that included CloudBees, Cloudsoft, Huawei, Oracle, Rackspace, Red Hat, and Software AG. At the time of this writing a request has been submitted to OASIS for the creation of a technical committee to standardize the CAMP specification.

Architectural Assumptions
The NIST Cloud Computing Reference Architecture

CAMP Model
The CAMP Model is made up of a number of different types of resources. There are the resources that represent instantiated, running components and services. These include the "Application", "Application Component", and "Platform Component" resources. Then there are the resources that represent the code, configuration, and other metadata that describe the "what and how" of instantiating the first kind of components. For example, an "Application Component Template" describes how to create an "Application Component" just as a "Platform Component Template" describes how to instantiate an instance of a "Platform Component". Finally there are the components that express capabilities and requirements. These include such resources the "Platform Component Capability", which expresses the platform's ability to instantiate a service with a given range of values and the "Platform Component Requirement", which expresses an applications dependence on a service with a given range of values.

There is another way to divide the resources by taking into account which resources are created and managed by the Consumer/Developer and which resources are created and managed by the Provider. In general the Application components are created and managed by the Consumer/Develop and the Platform compponents are created by the Provider.