RESTful based API for VRM
RESTful based API for VRM
in Cloud Environment
Contributors:
Chu JunSheng B Khasnabish Meng Yu
Chu JunSheng, B. Khasnabish, Meng Yu
Wednesday March 30, 2011
1
Outline
VRM R
i
VRM Requirements
VRM in practice
Problem Statements
Issues for Discussion
VRM Requirements
VRM requirements identified in Beijing meeting.
JunSheng-et-al-IETF79-Cloud-VRM-Req-28Jan11.pdf
Grouping virtual resources hierarchically is the efficient
Grouping virtual resources hierarchically is the efficient
way to manage and schedule virtual resources.
Resource Authentication and Authorization during
t
l
d
t
resource access control and resource request.
Support flexible virtual resources scheduling to satisfy
different services/applications requirements.
different services/applications requirements.
Support inter-cloud resources sharing to infinitely
extend the cloud capabilities.
VRM Framework
Interface-1: Used for resource request, status query, system configuration, etc.
Interface 2: Used by Client to
Interface-2: Used by Client to
bind/utilize the allocated resources, system configuration, etc.
Interface-3: Used for resource
registration/deregistration, resource scheduling, monitoring, etc.
VRM in practice
Industry&SDO API Function Description Resource Types
b h id b h l d i
IBM WebSphere CloudBurst
REST API JSON
provide access to WebSphere virtual images and patterns.
Cloud groups, Hypervisors, Networks, Storage, VM, IP groups, IP addresses.
Sun Cloud REST API JSON
create and manage cloud
resources, including compute,
Cloud, VDC, Cluster, VM, vNet, Public Address, Backup, Volume, only
, g p ,
storage, and networking.
, p, , Snapshot, Network Interfaces
Oracle Cloud Resource Model
REST API JSON only
interact with the resources to achieve provisioning, associating, modifying, and
ti i f titi
Cloud, VDC, Zone, Template, VM, Volume, vNet, Archive, Network Interface, Snapshot, Assembly I t S l bilit G
retiring of entities. Instances, Scalability Groups.
VMware vSphere/ Infrastructure
SOAP WSDL
provide a way of interfacing with the Virtual
Infrastructure.
VDC, Cluster, Template, VM, Resource Pool, Datastore, Network
VMware vCloud REST API provide support for API Versions, Log in/out, JSON,
XML
p pp
developers who are building interactive clients of VMware Cloud Director.
, g / , Organizations, Network, Catalog, vDC, Media Image, vAppTemplate.
Rackspace Cloud S
REST API JSON
allow developers to build th i l ti t f
VM, Server Addresses, Server A ti Fl I B k
Server JSON their own solutions on top of Rackspace's infrastructure.
Action, Flavor, Image, Backup schedules, shared IP Groups.
OGF/OCCI REST API
XHTML5, HTTP Header
manage cloud infrastructure, include deployment, autonomic scaling and monitoring.
resource types: Compute, Network, Storage. sub-types: NetworkInterface, StorageLink
5
g g , g
SNIA/CDMI REST API JSON
provide the means to access cloud storage and to manage the data stored.
Container, Accounting, Data Object(Files, Block Devices, Object Stores, Database
Problem Statements
I
t i t
li
d l
d/d t
t
i
t
lti l
In current virtualized cloud/data centre environment, multiple
hypervisors are deployed to
Eliminate hypervisor vendor lock-in,
Avoid service unavailability when some same type of hypervisor upgrade or
Avoid service unavailability when some same type of hypervisor upgrade or patch failed.
Satisfy different service requirements, such as better support and performance, disaster recovery, business continuity, security, etc.
Offer customers multiple choices to select their preferred platforms.
Disadvantages in current VRM model
Different hypervisors provide different kinds of APIs.
Different virtualization platforms provide different views of hierarchical resources.
Different hypervisors have different ways to describe resource attributes.
A unified VRM model is needed to aggregate and manage different
A unified VRM model is needed to aggregate and manage different
kinds of resources provided by multiple hypervisors.
Simple
Lightweightg t e g t
Issues in VRM
What kind of VRM model we need?
Integrate resources provided by multiple hypervisors.
Access control to resource registration.
Resource scheduling to resource request.
Resource binding and utilization to resource client.
How to hierarchically organize virtual resources?
How to hierarchically organize virtual resources?
Easy to migrate Services/Apps to VRM platform.
Implement DC/LAN functions in VRM platform.
Virtual resources sharing/isolation
Virtual resources sharing/isolation.
Easy extend system capabilities.
How to implement the interface in resource interactions?
Simple.
lightweight.
Unified.
7
What need the group to do?
Reach a consensus on the VRM model.
Reach a consensus on the hierarchical resources
organizing
organizing.
Identify the necessary attributes of the resources.
Identify basic resource functions VRM need support
Identify basic resource functions VRM need support.
Come up with a unified API to facilitate resource
interactions.
VRM Model
Function entities in VRM platform to perform functions such as resource (de-)register, resource provisioning, monitoring and configuring, etc.
(de )register, resource provisioning, monitoring and configuring, etc.
VRP (de-)registers to VRM.
VRC inquires VRM to provide demanded resources.
VRM checks the required resources from delivered resource pool.
9
VRC interacts with VRP to bind and utilize the allocated resources.
Virtual Resource Management
An unified REST API is provided for interaction among Resource Manager , Resource Client and Resource Provider.
11
If a hypervisor need provide resources to the cloud, it’ll support the API.
Adaptor decouples the unified REST API from any particular hypervisor in multiple hypervisor environment.
What is REST?
REST t d f R t ti l St t T f
REST stands for Representational State Transfer.
Architecture style for distributed hypermedia systems.
Focus on resources (not services).
Cli t / S d
Client / Server mode.
Lightweight and Simple (compare to RPC/SOAP/WS-*)
REST principles
Id tifi ti f
Identification of resources
Resources addressable .
Resources hierarchically organized.
A uniform, constrained interface in REST.
Representation oriented, such as XML, JSON, XHTML, etc.
Communicate statelessly in REST.
Evolved in parallel with HTTP 1.1
HTTP basic authentication
HTTP verbs (GET/PUT/POST/DELETE).
HTTP response status codes.
Data format and headers (Version Content Type etc)
Data format and headers (Version, Content-Type, etc).
What is REST?
Example Request: Retrieve attributes about a VM instance “345"
Example Request: Retrieve attributes about a VM instance 345 .
GET /cloud123/vdcs/vdc234/vms/vm345 Host: cloudplatform.com Authorization: Basic xxxxxxxx Accept: application/vnd.ietf.cloud.VM+json (username+ “:”+password) X-CloudOPS-API-Version: 1.0 Example Response: HTTP/1.1 200 OK Content-Type: application/vnd.ietf.cloud.VM+json Content-Length: nnn { "name" : “vm345", "uri" : "http://cloudplatform.com/vms/vm345" "run status" : "STARTED"run_status : STARTED ,
"description" : "This VM is deployed for web service" “cpu” : “2400” , “memory” : “2048” , “disks” : { [“/disk1”, “128”] } , “volumes” : {} , "back_up" : "http://cloudplatform.com/back-up?vm=345" ... “resource state” : { 13 “resource_state” : { “state” : “READY” } , “created” : “March 24, 2011 15:34:34 GMT”, }
Why is REST?
Features of cloud resource
Hierarchically organized.
Assigned with addressable URIs.
Assigned with addressable URIs.
Accessed and described with http protocol.
Operated statelessly.
Cloud VRM and REST are made for each other
Cloud VRM and REST are made for each other.
REST is becoming a preference for for resource
management?
g
IBM WebSphere CloudBurst
Sun (Oracle) Cloud API
VMware
RackSpace
OGF/OCCI