OGF29 – Cloud Standards Interoperability Demo OCCI, CDMI & OpenNebula Chicago, June 20-22, 2010 Agenda 1. 2. 3. 4. 5. Intro – Krishna Sankar CDMI – Mark Carlson CDMI iPad Client Demo – Rich Ramos OCCI – Thijs Metch 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 Client S/W 300 200 Server Framework 100 OCCI 500 OCCI Layer 510 Glue Code 410 420 CDMI 400 430 320 CDMI Library SPI Layer 460 FileBasedProvider 310 Future ! JClouds FS 470 •Public Internet •Private Network O C Open C Nebula I Demo Topology Future ! Server Server Glue Code JavaFX GUI 2 or 3 client machines Client Software C D M I SNIA RI JClouds Storage VM VM VM VM Cloud Layer Software Compute & Hosting Infrastructure •OCCI – Open Nebula •CDMI RI •Glue code between •Raw Intel based machines (Sun Solaris) •Virtual Machine instances Storage •Storage Array or NAS •Public Clouds (being proxied) The Complete CDMI Picture Model for the CDMI Interface The 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 Demo Rich Ramos Individual ogf29@RichRamos.com CDMI iPad Client: Goals 1. 2. 3. 4. 5. Primarily Instructional on CDMI Not General Purpose “Cloud Storage” Client Show Network Interactions Show Object Information 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 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 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 datacenter or cluster • Hybrid Cloud : Combination of private with Cloud resources • Public Cloud: Cloud interfaces for the full management of services CDMI OCCI/OpenNebula Integration • Custom Glue Interface • NFS Provider • Guest Integration •“Create” Function Supported Glue SPI Layer Provider Exports Local User and Administrator Interface OCCI Cloud Interface Scheduler Virtual Infrastructure Manager Storage NFS Providers Networking Virtualization NFS Protocol Virtualization Servers CDMI OCCI/OpenNebula Integration Future Version Local User and Administrator Interface OCCI Cloud Interface Provider API SPI Layer Scheduler Virtual Infrastructure Manager Storage FileBased Providers File Protocols BlockBased Providers Block Protocols DataBased Providers Data Protocols Networking Virtualization Virtualization Servers (XEN, Amazon, Vmware, VirtualBox) The Client A Standards Based Cloud Client Used JavaFX Developed by R2AD, LLC Sponsored 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 Flat list to Tree Added Tabs Icons Edit Resource Location Learning JavaFX Authentication Models Added Log April 2010 May 2010 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) http OCCI server http Create Virtual Machine Use case XML Login Get Compute Get Storage Manage Cloud Create Storage Use case JSON http CDMI server http 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