Cloud APIs Overview Tucker

18
Cloud APIs Overview What they are How they work Discussion Lew Tucker VP, CTO Cloud Computing Sun Microsystems, Inc 1/20/2010

description

 

Transcript of Cloud APIs Overview Tucker

Page 1: Cloud APIs Overview   Tucker

Cloud APIs Overview

What they areHow they work

Discussion

Lew TuckerVP, CTO Cloud ComputingSun Microsystems, Inc1/20/2010

Page 2: Cloud APIs Overview   Tucker

Computing Economics - P.O.V

● Fall in cost of computing bounded only by the cost of power

● Commoditization is inevitable and good● The sustainable value that a provider can

charge for a service will all be above this base● So, accelerate commoditization of base-level

APIs through agreed upon standards to accelerate development of higher-level, higher-value services

Page 3: Cloud APIs Overview   Tucker

What Cloud APIs Do● Application level: SaaS

● Programatic way interact with App● Very app specific

● Development environment: PaaS● Application development● Language/programming model/service specific

● Access to raw compute and storage: IaaS● Create and manage computational resources

– Typically: virtual, shared, dynamically provisioned● Lowest level – best chance of standardization● Large amount of commonality

our focus is here – cloud resources

Page 4: Cloud APIs Overview   Tucker

Today each cloud provider makes their own...and the number is growing

● Today:● Amazon's AWS set: EC2, S3, SQS, …● Microsoft's Azure● Google App Engine● RackSpace● VMware Vcloud● Sun's Cloud API● GoGrid,● IBM Developer Cloud API● Several standards groups, software libraries .........

Page 5: Cloud APIs Overview   Tucker

EC2 Query API exampleGET:https://ec2.amazonaws.com/ ?Action=RunInstances &ImageId=ami-60a54009 &MaxCount=3 &MinCount=1 &Placement.AvailabilityZone=us-east-1b &...auth parameters...

RESPONSE:<RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2008-08-08"> <reservationId>r-47a5402e</reservationId> <ownerId>495219933132</ownerId> : <instancesSet> <item> <instanceId>i-2ba64342</instanceId> <imageId>ami-60a54009</imageId> <instanceState> <code>0</code> <name>pending</name> </instanceState> <keyName>example-key-name</keyName> <amiLaunchIndex>0</amiLaunchIndex> <InstanceType>m1.small</InstanceType> <launchTime>2007-08-07T11:51:50.000Z</launchTime> </instancesSet> </RunInstancesResponse>

Page 6: Cloud APIs Overview   Tucker

Feature Set Catalog

see Rich Miller's Catalog

http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/FeatureMatrix

Page 7: Cloud APIs Overview   Tucker

API Differences

● Language bindings vs http protocols● Use of HTTP: RESTful vs query vs SOAP● Authentication● Resource properties and representations● Error codes and response handling● Machine images● Level of detail and variability of resources

Page 8: Cloud APIs Overview   Tucker

Interfaces and Providers

http://architects.dzone.com/news/opennebula-14-challenges

Page 9: Cloud APIs Overview   Tucker

Let's start with basic HTTP resource representations

Page 10: Cloud APIs Overview   Tucker

Open Cloud Computing Interface (Open Grid Forum)

http://forge.ogf.org/sf/projects/occi-wg

Page 11: Cloud APIs Overview   Tucker

Cloud Data Management Interface(SNIA)

CDMI

Page 12: Cloud APIs Overview   Tucker

OCCI Example: Get VM> GET /us-east/webapp/vm01 HTTP/1.1 > User-Agent: occi-client/1.0 (linux) libcurl/7.19.4 OCCI/1.0 > Host: cloud.example.com > Accept: */* -------------------------------------------------------------------------------------< HTTP/1.1 200 OK < Content-Type: application/ovf < Link: </us-east/webapp/vm01;start>; < rel="http://purl.org/occi/action#start"; < title="Start" < Link: </us-east/webapp/build.pdf>; < rel="related"; < title="Documentation"; < type="application/pdf" < Category: compute; < label="Compute Resource"; < scheme="http://purl.org/occi/kind#" < Server: occi-server/1.0 (linux) OCCI/1.0 < Connection: close < < <?xml version="1.0" encoding="UTF-8"?> ...

Page 13: Cloud APIs Overview   Tucker

Security Requirements

● Identity, Roles, Access Control, Policies● Cryptography, Key and Certificate Mgmt● Network Security● Data/Storage Security● Even Auditing and Reporting● Federation Patterns

● ID, Trust, Access Mgmt, SSO, Audit, Config Mgmt

Cloud Computing Interoperability Forum http://groups.google.com/group/cloud-computing-use-cases/files

Page 14: Cloud APIs Overview   Tucker

The Network is the Computer

Page 15: Cloud APIs Overview   Tucker

The Network is the ComputerCloud

Are we getting there yet?

Page 16: Cloud APIs Overview   Tucker

What's this “cloud” computer like?

● MPP-like distributed system of CPU's, memory, disks, network, and more

● Programmed through multiple service interfaces● Physically remote and managed by one or more

3rd party providers● Dynamic allocation of resources as needed● Accessed according to account priviledges

Page 17: Cloud APIs Overview   Tucker

How is it programmed

● Individual nodes programmed using variety of programming languages, tools, methods.

● OS and applications loaded via virtual machine images or higher-level constructs (jar, maven, etc.)

● Administrative interfaces for resource allocation and management

● Means for expressing application architecture covering multiple resources and their network connectivity

Page 18: Cloud APIs Overview   Tucker

Discussion: What is the API for this new Computer?

● Open, common, CC API – of course● Common vocabulary – ontology (OWL?)

● Directory of services● Universal machine image format (OVF?)● Identity (OpenID, multiple?), account and

certificate managment● Orchestration

● Mgmt of ensembles of resources, reservations

● Service-provider vs customer APIs