Subject: [decade] Introductions/CDMI

From: David Slik <[email-masked]>
Date: Wed, 9 Nov 2011 10:41:53 -0800

Greetings.

My name is David Slik, and I am the co-chair of the SNIA technical working group on cloud storage, where we've been developing the Cloud Data Management Interface (CDMI) standard.

I've been talking with a few of the folks working on the DECADE standard out-of-band, and based on some of these discussions, I figured it would be a good idea to join the mailing list and offer to answer any questions related to CDMI and how it may bring value to DECADE.

To provide a quick overview of CDMI — our objectives are to provide a standardized wire protocol for clients and servers to exchange structured "objects" with their associated metadata, and to manage these objects individually and as collections.

The CDMI standard is now at 1.0.1, which addresses errata submitted over the last year since our original 1.0 release.

Below is a link to the PDF version of the specification:

http://snia.org/sites/default/files/CDMI_SNIA_Architecture_v1.0.1.pdf

One thing that I wanted to highlight is that while CDMI is intended to be quite comprehensive, it is also designed to be very simple to implement and use. CDMI is based around RESTful HTTP, uses standard TLS for security, and adds additional representations that allow enhanced access to stored objects above and beyond what is provided by stock HTTP operations. This has the advantage that in most cases, no specific client libraries are required beyond the HTTP libraries found as part of most languages and operating systems.

For example, using CURL to list objects within a container:

curl -X GET -v --header 'Accept: application/cdmi-container' --header 'X-CDMI-Specification-Version: 1.0.1' -k https://127.0.0.1:18080/CDMI/

To create a CDMI object with metadata:

curl -X PUT -# -v --header 'Accept: application/cdmi-object' --header 'Content-Type: application/cdmi-object' --header 'X-CDMI-Specification-Version: 1.0.1' -w "\nResponse Code = %{http_code}\n" -d '{"metadata" : { "test" : "test"}}' -k http://127.0.0.1:80/test

Retreiving a CDMI object:

curl -X GET -v --header 'Accept: application/object' --header 'X-CDMI-Specification-Version: 1.0.1' -k http://127.0.0.1:18080/test

Retrieving the contents of a CDMI object can be also done via plain HTTP:

curl -X GET -v -k http://127.0.0.1:18080/test

Even advanced functionality, such as notification queues, is fairly simple:

curl -X PUT -# -v --header 'Accept: application/cdmi-queue' --header 'Content-Type: application/cdmi-queue' --header 'X-CDMI-Specification-Version: 1.0.1' -w "\nResponse Code = %{http_code}\n" -d '{"metadata" : { "cdmi_queue_type" : "cdmi_notification_queue", "cdmi_notification_events" : ["cdmi_create"], "cdmi_results_specification" : {}}}' -k http://127.0.0.1:18080/notifications

In CDMI, almost everything is optional, so you can select what subset of the standard you are interested in leveraging. Clients can then discover what subsets of the standard are provided by a server via "CDMI Capabilities". This approach also allows vendors to extend CDMI without sacrificing compatibility.

Here is a SNIA presentation on the status of the standard, and a tutorial that provides an overview of CDMI:

http://dmtf.org/sites/default/files/2011-05-06_CDMI_for_SC38_R3.pdf
http://data.eventworld.cz/file/storageworld2011/prezentace/11_CDMIoverview_TM_3.pdf

CDMI is also currently going through the process of becoming an ISO standard, and the draft can be purchased from ISO: (I wouldn't recommend purchasing it yet, since there are no major changes when compared to the SNIA version above)

http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=040&ics3=&csnumber=60617

I'd be happy to answer any questions around CDMI, and help explore if there is a place for CDMI to assist DECADE in achieving its objectives.

Thanks,

David Slik

Technical Director, Object Storage, NetApp, Inc.
Co-chair, SNIA Cloud Storage Technical Working Group

Office: 604.692.2068 | Cell: 562.457.8459 | www.netapp.com

---

From: Dirk Kutscher <[email-masked]>
Date: Fri, 11 Nov 2011 13:21:40 +0000

Hi David,

Thanks - good input. That will be helpful.

Best regards,

Dirk

From: [email-masked] [mailto:[email-masked]] On Behalf Of David Slik
Sent: Mittwoch, 9. November 2011 19:42
To: [email-masked]
Subject: [decade] Introductions/CDMI

Greetings.

To provide a quick overview of CDMI - our objectives are to provide a standardized wire protocol for clients and servers to exchange structured "objects" with their associated metadata, and to manage these objects individually and as collections.

Thanks,

David Slik
Technical Director, Object Storage, NetApp, Inc.
Co-chair, SNIA Cloud Storage Technical Working Group
Office: 604.692.2068 | Cell: 562.457.8459 | www.netapp.com<http://www.netapp.com>