[occi-wg] Semantics of OCCI API: nouns and verbs
Alexis Richardson
alexis.richardson at gmail.com
Thu Apr 16 05:00:36 CDT 2009
Richard, Chris,
Thank-you both very much for this contribution!
Patrick Kerpan from CohesiveFT has kindly created a spreadsheet on
google that is intended for public consumption, that summarises the
API calls from known cloud provider APIs, in a matrix format. I hope
to be able to share a link to that with this group shortly. It is not
a substitute for work to create the OCCI API. Instead, it forms an
important reference point for checking OCCI operations against current
providers.
alexis
On Thu, Apr 16, 2009 at 10:55 AM, Richard Davies
<richard.davies at elastichosts.com> wrote:
> A few more detailed comments to flesh out Chris' overview:
>
>> drives - block devices to attach to virtual machines. The general case
>> here is clearly behaviour like Amazon EBS - drives are persistent and
>> exist independently of virtual machines. A virtual machine can mount
>> several drives, and conversely a drive (like a CD image) can in principle
>> be mounted from several virtual machines. GoGrid 'one drive per server'
>> behaviour is clearly a subset of this, and Amazon's filesystem initialised
>> from an AMI at boot can be represented by throwaway copies of a drive (or
>> copy-on-write) instead of writing back to the drive.
>
> The variants which we see today are:
>
> Amazon EC2 root filesystem
> - one drive per server, not exposed separately in API
> - non-persistent, initialized at boot from template (AMI)
> - single filesystem
> - does not include OS kernel or boot loader
>
> Amazon EBS
> - any number of drives per server, exposed separately in API
> - persistent across reboots and server deletion
> - block device which can be partitioned into multiple filesystems
> - does not include OS kernel or boot loader, since a secondary drive
>
> GoGrid
> - one drive per server, not exposed separately in API
> - persistent across reboots, but not server deletion
> - block device which can be partitioned into multiple filesystems
> - includes OS kernel and boot loader
>
> ElasticHosts
> - any number of drives per server, exposed separately in API
> - persistent across reboots and server deletion
> - block device which can be partitioned into multiple filesystems
> - includes OS kernel and boot loader
>
>
> We suggest taking the most general approach in the standard:
> - any number of drivers per server, exposed as first-class API objects
> - persistent across reboots and server deletion
> - AMI-like templates implemented as imaging/duplicating one drive from
> another
> - block device which can be partitioned into multiple filesystems
> (just like a hard disk)
> - includes OS kernel and boot block (just like a hard disk)
>
>
>> guests - virtual servers booted from and accessing drives. Our guests
>> exist as objects only when they are running, similar to Amazon's
>> instances, but it may be more general to allow guests in stopped and
>> suspended states in addition, as GoGrid currently do.
>
> The variants which we see today are:
>
> EC2 instances and ElasticHosts servers (as seen from the API) are ephemeral
> and no longer exist once they are stopped. GoGrid servers persist in a
> stopped state, and can be restarted from that state.
>
> We suggest taking the more general approach in the standard:
>
> Servers would include non-running servers in the same way as GoGrid. Perhaps
> whether a server persists or not when it is shut down is an option when
> creating a server?
>
>
>> guests
>> create (takes simple description, e.g. including attached drives and
>> network interfaces)
>
> It's worth commenting here on the granularity of VM specification. Both
> GoGrid servers and EC2 instances are available in a small number of
> fixed sizes, whereas ElasticHosts servers are continuously variable in CPU
> and RAM, and our drives are continuously variable in size.
>
> Again, taking the more general approach, we suggest that servers should be
> specified in terms of continuous quantities of CPU, RAM and disk, with a
> provider 'rounding up' to the nearest available specification if their
> granularity is coarser than the standard API.
> _______________________________________________
> occi-wg mailing list
> occi-wg at ogf.org
> http://www.ogf.org/mailman/listinfo/occi-wg
>
More information about the occi-wg
mailing list