Interfacing with the Cloud

Karl Paulsen

In Part 1 about the cloud, we explored the “Wild West” opportunities available in the cloud; opening the horizon to what the cloud offers to users who are just now beginning to understand the various value and use propositions.

The appeal of the cloud for storage purposes comes, in part, from the appearance that the cloud can have infinite and scalable storage. Scalability infers that the cloud provides benefits that will allow the addition of tens to hundreds of users for short or long periods of time—without having to worry about or invest in expensive hardware, software or services upfront.

Cloud storage is fundamentally about the delivery of virtualized storage on demand. Hence, there is the perception that the cloud is elastic in nature; that is, it can handle sudden, unanticipated or extraordinary loads. Elasticity and scalability are not the same, and thus, the interchangeable use of these terms should not be encouraged.

USE OF THE CLOUD
On the consumer front, the pay-as-you go model extends the belief that the cloud is affordable. Buy what you need, when you need it—nothing more. Commercial services for consumers are attracting vast new users to the cloud. Business uses are expanding with the concept and deployment of “private cloud” services continuing.

Cloud services and cloud storage are built on familiar technologies including Service Oriented Architectures (SoA); and among other practices, may be governed in part by Service Level Agreements (SLAs) and such.

As with other forms of technology, users hope there can be uniformity in the interfaces, capabilities and prospects associated with the cloud. This is inherently possible when standards are written and adhered to. However, with any new set of services, it can often take years before sufficient documentation, experience and devotion to developing those standards may occur.

Architecturally, for cloud storage services, the resources available to users (clients) are exposed as data paths, i.e., functional interfaces, which are managed via control paths, otherwise known as management interfaces. Many of the offerings initially available for cloud storage were of best-effort quality, much like the delivery of data using TCP/IP.

Since then, there has been serious work on developing methods that support a quality of service (QoS) level, which will in turn, lead to deployment of additional data-related services.

The Storage Networking Industry Association (SNIA) has been diligently working since before 2010 on an initiative to develop a functional interface that applications can use to create, retrieve, update and delete data elements from the cloud. This work is called the “Cloud Data Management Interface” (CDMI), and as of June 2012, was at Version 1.0.2.

You will hear a lot about CDMI in the near future. The working document, its publication and distribution is controlled by SNIA. Full and complete credit is given to SNIA for much of the context of the material presented in this article.

The CDMI effort is believed by many to be the foremost set of specifications for the universal uses of cloud storage. It is a complex set of specifications rooted in the fundamentals of object-based storage. Where possible, the interface design for the CDMI specification uses RESTful (Representational State Transfer) principles, which is essentially a simpler alternative to SOAP (Simple Object Access Protocol) and WSDL (Web Services Description Language). REST has gained widespread acceptance across the Web as the predominant service design model.

Fig. 1: Cloud computing—composed of cloud storage and cloud services
In CDMI for data storage operations, the concept of objects and containers are introduced. Container objects are analogous to the directories in a file system. They are the elemental grouping of stored data within the interface. A container (as the parent) will have zero or more child objects that must include standardized (plus optional) metadata, which would be specified by the cloud user and generated by the cloud storage system.

Every container object will possess a globally unique object identifier, or OID, that never changes throughout the life of the object. Accessing the container object is achieved through one or more Uniform Resource Identifier (URI) addresses.

GENERATING METADATA
Like almost all other sets of stored digital data, generated metadata becomes an essential (and required) component that, in CDMI, is used for access control and, from the user side, can include arbitrary user-defined items that help in describing the information about the data in the container— or for other purposes deemed necessary by the user.

Once an object is created, the storage system metadata is generated (by the cloud storage system), and is made available to a CDMI client during any subsequent retrieval of data from the cloud.

CDMI also includes three functional logging capabilities: object logging, security logging and data management logging. The log messaging formats are not defined in CDMI, although it is anticipated that future logging standards will be addressed.

Other capabilities include summary billing information, the export of containers as NFS or CIFS shares, queries and persistent first-in, first out queues, and serialization— the capability to export data and metadata into another cloud system.

For the present, the efforts of SNIA to promote a standardized interface that will allow users to enjoy the benefits of private (restricted) clouds, public (unrestricted) clouds and potential subsequent other offerings, are already being implemented by the industry. The delivery of other services (Fig. 1), including Software as a Service (SaaS), Platforms as a Service (PaaS), Infrastructure as a Service (Iaas) and Data Storage as a Service (DaaS) are surely in our future.

Whether you see your applications as public (open) or private (constrained within the bounds of your business), the “cloud” is here and is accepted. Building the future of your enterprise will involve the cloud as service or storage needs grow.

CDMI is a registered trademark of SNIA; complete details on the current CDMI specification can be found at http://cdmi. sniacloud.com/CDMI_Spec/.

Karl Paulsen (CPBE) is a SMPTE Fellow and chief technologist at Diversified Systems. Read more about these and other storage topics in his book “Moving Media Storage Technologies.” Contact Karl atkpaulsen@divsystems.com.

Karl Paulsen

Karl Paulsen is the CTO for Diversified, the global leader in media-related technologies, innovations and systems integration. Karl provides subject matter expertise and innovative visionary futures related to advanced networking and IP-technologies, workflow design and assessment, media asset management, and storage technologies. Karl is a SMPTE Life Fellow, a SBE Life Member & Certified Professional Broadcast Engineer, and the author of hundreds of articles focused on industry advances in cloud, storage, workflow, and media technologies. For over 25-years he has continually featured topics in TV Tech magazine—penning the magazine’s Storage and Media Technologies and its Cloudspotter’s Journal columns.