Cloud APIs Overview Tucker

1,994 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,994
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
65
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cloud APIs Overview Tucker

  1. 1. Cloud APIs Overview What they are How they work Discussion Lew Tucker VP, CTO Cloud Computing Sun Microsystems, Inc 1/20/2010
  2. 2. 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
  3. 3. 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
  4. 4. 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 .........
  5. 5. EC2 Query API example GET: 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>
  6. 6. Feature Set Catalog http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/FeatureMatrix see Rich Miller's Catalog
  7. 7. 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
  8. 8. Interfaces and Providers http://architects.dzone.com/news/opennebula-14-challenges
  9. 9. Let's start with basic HTTP resource representations
  10. 10. Open Cloud Computing Interface (Open Grid Forum) http://forge.ogf.org/sf/projects/occi-wg
  11. 11. Cloud Data Management Interface (SNIA) CDMI
  12. 12. 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"?> ...
  13. 13. 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
  14. 14. The Network is the Computer
  15. 15. Clo u d The Network is the Computer Are we getting there yet?
  16. 16. 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 rd 3 party providers ● Dynamic allocation of resources as needed ● Accessed according to account priviledges
  17. 17. 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
  18. 18. 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

×