Cloud Application Management for Platforms
The public release of the Cloud Application Management for
Platforms (CAMP) specification, an initial draft of what is expected to
become an industry standard self service interface specification for Platform
as a Service (PaaS) management, represents a significant milestone in cloud
standards development. Created by several players in the emerging cloud industry,
including Oracle, the specification is being submitted to the OASIS standards
organization (draft charter) where it will be finalized in an open development process.
CAMP is targeted at application developers and deployers for
self service management of their application on a Platform-as-a-Service cloud. It
is closely aligned with the application development process where applications
are typically developed in an Application Development Environment (ADE) and
then deployed into a private or public platform cloud. CAMP standardizes the
model behind an application’s dependencies on platform components and provides
a standardized format for moving applications between the ADE and the cloud,
and if and when desirable, between clouds.
Once an application is deployed, CAMP provides users with a standardized
self service interface to the PaaS offering, allowing the cloud consumer to
manage the lifecycle of the application on that platform and the use of the
underlying platform services. The CAMP
interface includes a RESTful binding of the CAMP model onto the standard HTTP
protocol, using JSON as the encoding for the model resources.
The model for CAMP includes resources that represent the
Application, its Components and any Platform Components that they depend on.
It's important PaaS Cloud consumers understand that for a
PaaS cloud, these are the abstractions that the user would prefer to work with,
not Virtual Machines and the various resources such as compute power, storage
and networking. PaaS cloud consumers would also not like to become system
administrators for the infrastructure that is hosting their applications and
component services. CAMP works on this more abstract level, and yet still
accommodates platforms that are built using an underlying infrastructure cloud.
With CAMP, it is up to the cloud provider whether or not this underlying
infrastructure is exposed to the consumer.
One major challenge addressed by the CAMP specification is
that of ensuring that application deployment on a new platform is as seamless
and error free as possible. This becomes even more difficult when the
application may have been developed for a different platform and is now moving
to a new one. In CAMP this is
accomplished by matching the requirements of the application and its components
to the specific capabilities of the underlying platform. This needs to be done
regardless of whether there are existing pools of virtualized platform
resources (such as a database pool) which are provisioned(on the basis of a
schema for example), or whether the platform component is really just a set of
virtual machines drawn from an infrastructure pool.
The interoperability between platform clouds that CAMP
offers means that a CAMP client such as an ADE can target multiple clouds with
a single common interface. Applications can even be spread across multiple
platform clouds and then managed without needing to create a specialized
adapter to manage the components running in each cloud.
The development of CAMP has been an effort by a small set of
companies, but there are significant advantages to this approach. For example, the
way that each of these companies creates their platforms is different enough,
to ensure that CAMP can cover a wide range of actual deployments. CAMP is now
entering the next phase of development under the guidance of an open standards
organization, OASIS, which will likely
broaden it’s capabilities. We hope is to
keep it concise and minimal, however, to ease implementation and adoption. Over
time there will be many different types of platform components that
applications can use and which need management. CAMP at this point only
includes one example of this (in an appendix) – DataBase as a Service.
I am looking forward to the start of the CAMP Technical
Committee in OASIS and will do my best to ensure a successful development
process. Hope to see you there.