1. Cloud APIs Overview
What they are
How they work
Discussion
Lew Tucker
VP, CTO Cloud Computing
Sun Microsystems, Inc
1/20/2010
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. 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. 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 .........
6. Feature Set Catalog
http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/FeatureMatrix
see Rich Miller's Catalog
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
15. Clo u d
The Network is the Computer
Are we getting there yet?
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. 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. 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