The document summarizes a demonstration of interoperability between cloud standards CDMI and OCCI. It includes an agenda, overview of the demo architecture showing how CDMI and OCCI interact across storage and compute clouds, and summaries of CDMI, OCCI, the demo topology, and lessons learned from the JavaFX client demo. The goal is to take a first step toward cloud interoperability by showing how CDMI storage primitives and OCCI can work across different cloud types and components.
3. Cloud Interoperability
• Always on the top on everybody’s mind
– Just after security, compliance & control
• This demo is a first step
• Not how well the bears dance, but the fact
that they could dance !
• CDMI/OCCI working across the storage and
compute clouds
– CDMI Storage primitives (incl allocation, access,
rules, policies, constraints …)
– OCCI – CSP interface
5. •Public Internet
Demo Topology
•Private Network Future !
O Server Server JClouds
C Open
C Nebula
I
Glue Code
Storage
C
D SNIA
JavaFX M RI VM
GUI VM
I VM
VM
2 or 3 client Cloud Layer Software Compute & Hosting Storage
machines Infrastructure
Client Software •OCCI – Open Nebula •Raw Intel based •Storage Array or
•CDMI RI machines (Sun Solaris) NAS
•Glue code between •Virtual Machine •Public Clouds
instances (being proxied)
10. CDMI iPad Client: Goals
1. Primarily Instructional on CDMI
2. Not General Purpose “Cloud Storage” Client
3. Show Network Interactions
4. Show Object Information
5. Provide CDMI Object Library (future)
11. What is OCCI?
• Open Cloud Computing Interface
– Becoming OGF proposed standard
• OCCI provides features to identify, link and
categorize “dumb RESTful resources”
• OCCI-infrastructure defines kinds, actions, &
attributes to work with virtual machines
12. CDMI in Cloud Computing
A single cloud computing
infrastructure can implement
both the OCCI and CDMI
interfaces
The infrastructure abstracts
the configuration of the
networking and virtual
machine details and uses the
standard interface merely to
define connectivity
A cloud computing client can
then utilize the interfaces to
both specify the data
requirements and then use
that data for guests
12
13. OpenNebula
Open-Source Toolkit for Building Cloud Infrastructures
• Open Source Created and Supported at the University of Madrid under Dr. Rubén S. Montero & Dr.
Ignacio M. Llorente. CDMI Integration Provided by Gary.Mazzaferro @AlloyCloud .com
• Orchestrates storage, network and virtualization technologies to enable the dynamic placement of
multi-tier services on distributed infrastructures, combining both data center resources and remote
cloud resources, according to allocation policies
• Provides internal and Cloud administration and user interfaces for the full management of the IaaS
Cloud platform
• Private Cloud: Management of
virtual infrastructure in the data-
center or cluster
• Hybrid Cloud : Combination of
private with Cloud resources
• Public Cloud: Cloud interfaces for
the full management of services
15. CDMI OCCI/OpenNebula
Integration Future Version
Local User and
OCCI Administrator Interface
Cloud
Scheduler
Interface
Virtual Infrastructure Manager
Provider API
SPI Layer
Storage Networking Virtualization
FileBased File Protocols
Providers
BlockBased Block Protocols Virtualization Servers
Providers (XEN, Amazon, Vmware, VirtualBox)
DataBased Data Protocols
Providers
16. The Client
A Standards Based Cloud Client
Used JavaFX
Developed by R2AD, LLC
Sponsored by DISA CTO
cloud.r2ad.net
17. Client Requirements
• Simple/Small
– Implement use-case (first with simple get/put)
– Keep UI footprint small – potential phone app
– UI became more sophisticated with experience
Flat list to Tree
Added Tabs
Icons
Edit Resource Location
Learning JavaFX
Authentication Models
Added Log
April 2010 June 2010
May 2010
18. Client Interactions
• Required to communicate with OCCI + CDMI
– Clear specifications and examples very helpful
– Used local test server to code up initial GET/PUT
– Use case driven (keeping goals on target)
http
OCCI server http
XML Create
Login Virtual
Get
Machine
Compute
Manage Use case
Cloud
Get
Storage Create
Storage
JSON
Use case
http http
CDMI server
20. Client Lesson Learned
• Code for network not being reliable
– Let user cancel requests. Timeouts.
– Use local cache or persistence?
• Use of remote admin tools helpful
– ssh terminal, vSphere admin console
– Virtual Desktop Interface (VDI)
• Teleclient Solution w/Sun Secure Global Desktop or VNC
• Virtual Machines for servers helpful
– Snapshots, transportability, etc.
• Way Ahead:
– Make code more efficient (reduce server calls, parsing)
– More integration with OCCI/CDMI – more features. security
– Looking for feedback and chance to develop more