OGF29 – Cloud Standards Interoperability Demo
OCCI, CDMI & OpenNebulaChicago, June 20-22, 2010
Agenda
1. Intro – Krishna Sankar2. CDMI – Mark Carlson3. CDMI iPad Client Demo – Rich Ramos4. OCCI – Thijs Metch5. JavaFX Client Demo – David Moolenaar
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
Demo Architecture
FileBasedProviderFileBasedProvider
FSFS
CDMI LibraryCDMI LibraryOCCI LayerOCCI Layer
SPI LayerSPI Layer
Glue CodeGlue Code
Server Framework
Client S/W
200200
400400
420420
410410
430430
510510500500
300300
100100
OCCI OCCI 310310
JCloudsJClouds
460460
470470
CDMICDMI320320
Future !Future !
JavaFX GUI
JavaFX GUI
OCCI
OCCI
Open NebulaOpen
Nebula
CDMI
CDMI
SNIARI
SNIARI
StorageStorage
2 or 3 client machines
Cloud Layer Software Compute & Hosting Infrastructure
Storage
Client Software •OCCI – Open Nebula•CDMI RI •Glue code between
•Raw Intel based machines (Sun Solaris)•Virtual Machine instances
Glue CodeGlue Code
•Public Internet•Private Network
VMVMVMVM
VMVMVMVM
•Storage Array or NAS•Public Clouds (being proxied)
Demo TopologyServer Server JCloudsJClouds
Future !Future !
The Complete CDMI Picture
Model for the CDMI InterfaceThe resources which are accessed through the RESTful interface
CDMI Specification• SNIA Architecture
(industry standard):– http://snia.org/cloud
– Implementations are under way
8
CDMI iPad Client: Goals
1. Primarily Instructional on CDMI 2. Not General Purpose “Cloud Storage” Client3. Show Network Interactions4. Show Object Information5. Provide CDMI Object Library (future)
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
CDMI in Cloud Computing
12
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
OpenNebulaOpen-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
CDMI OCCI/OpenNebula Integration
Virtual Infrastructure ManagerVirtual Infrastructure Manager
OCCICloud
Interface
OCCICloud
Interface SchedulerScheduler
VirtualizationVirtualization
Local User andAdministrator Interface
StorageStorage NetworkingNetworking
Virtualization ServersVirtualization Servers
SPI LayerSPI Layer
NFSProviders
NFSProviders
NFS Protocol
Provider Exports
Glue
• Custom Glue Interface• NFS Provider• Guest Integration•“Create” Function Supported
CDMI OCCI/OpenNebula Integration Future Version
Virtual Infrastructure ManagerVirtual Infrastructure Manager
OCCICloud
Interface
OCCICloud
Interface SchedulerScheduler
VirtualizationVirtualization
Local User andAdministrator Interface
StorageStorage NetworkingNetworking
Virtualization Servers(XEN, Amazon, Vmware, VirtualBox)
Virtualization Servers(XEN, Amazon, Vmware, VirtualBox)
SPI LayerSPI Layer
FileBasedProvidersFileBasedProviders
Provider API
File Protocols
BlockBasedProviders
BlockBasedProviders
DataBasedProviders
DataBasedProviders
Block Protocols
Data Protocols
New Provider to Provider API
More Storage Providers
Adding Virtualization Servers
Full Life Cycle Support
The ClientA Standards Based Cloud Client
Used JavaFXDeveloped by R2AD, LLCSponsored by DISA CTO
cloud.r2ad.net
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
April 2010 May 2010
Flat list to TreeAdded TabsIconsEdit Resource LocationLearning JavaFXAuthentication ModelsAdded Log
June 2010
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)
Login
Create Storage Use case
Get Compute
Get Storage
Create Virtual
Machine Use caseManage
Cloud
OCCI server
CDMI server
http http
http http
XML
JSON
JavaFX Client Demo
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