Sun Cloud API: A RESTful Open API for Cloud Computing



Similar documents
Behind the Clouds Eric Bezille

Cloud Computing Architecture: A Survey

Hybrid Cloud: Overview of Intercloud Fabric. Sutapa Bansal Sr. Product Manager Cloud and Virtualization Group

Getting Started Hacking on OpenNebula

Platforms in the Cloud

OpenNebula Cloud Platform for Data Center Virtualization

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

PLATFORM-AS-A-SERVICE: ADOPTION, STRATEGY, PLANNING AND IMPLEMENTATION

Mobile Cloud Computing T Open Source IaaS

Geoff Raines Cloud Engineer

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Open Source Cloud Computing Management with OpenNebula

Cloud Computing: Making the right choices

BMC Control-M for Cloud. BMC Control-M Workload Automation

Networks and Services

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

A Gentle Introduction to Cloud Computing

The OpenNebula Cloud Platform for Data Center Virtualization

A SHORT INTRODUCTION TO CLOUD PLATFORMS

Where Will Your Next Application Run? Abel B. Cruz WA Technology Strategist Microsoft Corporation

MANAGE YOUR AMAZON AWS ASSETS USING BOTO

September 2009 Cloud Storage for Cloud Computing

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

Automatizace Private Cloud. Petr Košec, Microsoft MVP, MCT, MCSE

Assignment # 1 (Cloud Computing Security)

Bridge Development and Operations for faster delivery of applications

Data Protection & Cloud. Corradino Milone PreSales Commvault Italia

Fundamentals of Cloud Computing

Securing your business

An enterprise- grade cloud management platform that enables on- demand, self- service IT operating models for Global 2000 enterprises

Cloud Models and Platforms

RED HAT: UNLOCKING THE VALUE OF THE CLOUD

OpenNebula Open Souce Solution for DC Virtualization. C12G Labs. Online Webinar

Standard Interfaces for Open Source Infrastructure as a Service Platforms

Cisco Prime Network Services Controller. Sonali Kalje Sr. Product Manager Cloud and Virtualization, Cisco Systems

Cloud Storage Standards Overview and Research Ideas Brainstorm

Lecture 02a Cloud Computing I

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Automated Cloud Migration

OpenStack IaaS. Rhys Oxenham OSEC.pl BarCamp, Warsaw, Poland November 2013

IPOP-TinCan: User-defined IP-over-P2P Virtual Private Networks

Cloud computing - Architecting in the cloud

Sistemi Operativi e Reti. Cloud Computing

OGF25/EGEE User Forum Catania, Italy 2 March 2009

Cloud Computing. Technologies and Types

Cloud Computing Security Issues

Make Storage Management Automation a Reality. Sushant Sawant, Principal Consultant, Hitachi Data Systems February 11, 2015

<Insert Picture Here> Infrastructure as a Service (IaaS) Cloud Computing for Enterprises

Oracle Reference Architecture and Oracle Cloud

OCCI and Security Operations in OpenStack - Overview

Building Clouds with OpenNebula 2.2 and StratusLab

Deploy XenApp 7.5 and 7.6 and XenDesktop 7.5 and 7.6 with Amazon VPC

OpenNebula Open Souce Solution for DC Virtualization

Java PaaS Enabling CI, CD, and DevOps

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

NEXT-GENERATION, CLOUD-BASED SERVER MONITORING AND SYSTEMS MANAGEMENT

Leveraging Cloud Storage Through Mobile Applications Using Mezeo Cloud Storage Platform REST API. John Eastman Mezeo

<Insert Picture Here> Enabling Cloud Deployments with Oracle Virtualization

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 7

How To Run A Modern Business With Microsoft Arknow

OpenNebula Open Souce Solution for DC Virtualization

Using Application Services

Enterprise PaaS Evaluation Guide

Oracle Applications and Cloud Computing - Future Direction

It s All About Cloud Key Concepts, Players, Platforms And Technologies

Intel IT Cloud Extending OpenStack* IaaS with Cloud Foundry* PaaS

Elastic Detector on Amazon Web Services (AWS) User Guide v5

Open Data Center Alliance Usage: VIRTUAL MACHINE (VM) INTEROPERABILITY

How to Grow and Transform your Security Program into the Cloud

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Alfresco Enterprise on AWS: Reference Architecture

Cloud Powered Mobile Apps with Microsoft Azure

How To Understand The 2013 Cio Agenda For A Cloud Server

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Data Centers and Cloud Computing. Data Centers

ConPaaS: an integrated runtime environment for elastic cloud applications

CHAPTER 8 CLOUD COMPUTING

Clearing Away the Clouds: What is the Future of Cloud Computing? BEBO WHITE PEWE WORKSHOP BRATISLAVA APRIL 2010

Cloud Computing with Amazon Web Services and the DevOps Methodology.

Experiences with Transformation to Hybrid Cloud: A Case Study for a Large Financial Enterprise

Building a big IaaS cloud with Apache CloudStack

Architecture des plates-formes IaaS Etat des lieux et perspectives

One click Hadoop clusters - anywhere

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

CLOUDFORMS Open Hybrid Cloud

Data Center Virtualization and Cloud QA Expertise

Transcription:

Sun Cloud API: A RESTful Open API for Cloud Computing Lew Tucker CTO, Cloud Computing Sun Microsystems, Inc. 1

Future vision: Global Cloud of Clouds (a.k.a InterCloud ) Inter-connected network of servers, storage, and applications Segmented into public and private clouds > For security > For predictability > For regulatory compliance Unified and driven by a set of protocols, software APIs, and services Global and open

Three Views on Cloud Interoperability 1) We are already there Already apps built on top of multiple services Force.com + AWS + Google AppEngine + Maps + Twitter Programming language libraries hide service differences Agreed upon language of the net : HTTP/TCP/IP 2) Need much more for application portability Common cloud API to avoid vendor lock-in and let apps easily move from one provider to another Agreement upon a single virtual machine image format... 3) Skeptic Vendors will always resist out of fear of commoditization 3

Sun Cloud Objectives Build service and APIs covering basic infrastructure services Start with IaaS - add additional services over time to build out an application development platform for cloud computing Support many different kinds of clouds > offered by customers > different service providers Simple as possible, easily extended Work with standards use what exists, avoid arbitrary invention Big question? Why not just follow EC2, S3,...? 4

What we developed Storage service two protocols > WebDAV (standard) + admin APIs > Amazon S3 compatible service Compute service needed something different > Support a rich set of resources including virtual networks > Adopt standard Virtual Machine Image format: OVF (DMTF) > RESTful API > Published under Created Commons 5

Sun Cloud: Each customer gets their own virtual data center in the cloud 6

Sun's Set of Cloud Services Compute Service Virtual Machines Networking Storage Virtual Datacenter Resources, People, Graphical UI Open API Public, RESTful, Java, Python, Ruby Storage Service Volumes Objects Protocols: WebDAV S3 7

Sun Cloud RESTful API Virtual model of a real data center for developers, system operators, QA-test Highly elastic and dynamic Easy to create, save load, stop, start entire applications Released to community for input on March 18th, 2009 Web Server LAMP Stack Firewall Appliance Private Network Database MySQL Media Storage Server Public Internet http://kenai.com/projects/suncloudapis/ 8

Sun Cloud API use of REST Uses basic verbs of HTTP > GET (Read), POST (Create), PUT (Update), DELETE (Delete) URIs are discovered at run-time and opaque > User start with a single URI for their own cloud > Field values returned in resource representations hold servicedefined URIs > Allows each service provider to define their own URI space HTTP protocol using JSON > Allows usage of any programming language 9

Virtual Resources Resource types: > Cloud (user account) > Virtual Data Center > Cluster > Virtual Machine > Private Virtual Network > Public Addresses > Storage Volumes > Volume Snapshots CLI + Language bindings for Java, Ruby, Python 10

Need collections of resources in a VDC - computers, networks, storage Emphasis is on groups of resources which serve a particular application or business purpose > Web site, Dev-test, HR application, DB tier Owned and managed by different people > Engineering QA, Development > Production, Finance Apply single action to a group > Copy > Backup > Shutdown 11

Hierarchy of Resources: clusters Folder-based organization of all resources within a customer's virtual data center Supports organizing resouces by > organization (mktg, dev, finance) > application (complex, multi-server app) > cluster (production, staging, test) Access rights assigned to set of resources Stop, start, suspend, or other operations applied to set of resources Cloning and distribution of entire applications 12

In cloud computing, resources may change state Breaks usual REST resource model > Use controller resources to represent requests to change state > Think of pushing reset, power, etc., on the resource Many operations are asynchronous > Immediately return standard HTTP status codes > Plus a URI for checking job progress > Poll this progress URI to know when job is done All URI's except for the first, are dynamically generated > Exposes only those operations that are allowed 13

Example: GET VM Properties and CTLR GET /vdc/vm001 Host: cloud.sun.com // RESPONSE: resource description HTTP/1.1 200 OK Content-Type: application/vnd.com.sun.cloud.vm+json { "name" : "Database" "uri": "/vdc/vm001", "run_status" : "HALTED", "description" : "MySQL host", "tags" : [ "sql" ] controllers : [ start : /vdc/ops/23:32:2x:3 ] "interfaces" : [ { "vnet": "/vnets/10.31.145.0", "mac_address": "00:16:3E:08:00:92", "ip_address": "144.31.100.15", "nic": "eth0" }]} Controller URI (opaque) 14

Example: Create VM based on a template POST /vdc/ Host: xrgy.cloud.sun.com Authorization: Basic xxxxxxxxxxxxxxxxxxx { "name" : "Database" "from_template" : "http://cloud.sun.com/resources/vmtemplates/003", "description" : "MySQL host", "tags" : [ "sql" ] } // RESPONSE: request accepted - returns job status URI to poll HTTP/1.1 202 Accepted Content-Type: application/vnd.com.sun.cloud.status+json { } "op": "new-vm", "progress": 20, "target_uri": "/vdc/vm001", "status_uri": "/vdc/status?op=new-vm&vm=001" 15

VM Provisioning interesting questions Should all VMs be internet accessible? Should users have any control over placement? How to override machine image defaults? How to pass in startup-parameters, startup scripts, etc.? Role of scripting and recipes in provisioning? 16

Closing thoughts APIs are long lived > All permutations will be tried > Always used in ways never imagined Security issues are still the #1 inhibitor > Automation removes human reasonableness test > Developers often make stupid mistakes We all have nearly identical conceptual models at the lowest, IaaS level Need Open APIs to grow adoption > Plenty of room for innovation by service providers in what they may offer 17

More information http://kenai.com/projects/suncloudapis/ Lew Tucker Sun Microsystems, Inc 18