[occi-wg] Nouns and Verbs (was: Syntax of OCCI API)
chris.webb at elastichosts.com
Fri Apr 17 07:39:18 CDT 2009
Sam Johnston <samj at samj.net> writes:
> For example I should be
> able to rsync the raw block device of a physical server to the cloud
Off-topic: rsyncing giant files/block devices does reduce network traffic,
but it involves an end-to-end read at both ends as well as any writes. The
thing which is most painfully constrained for cloud infrastructure providers
is disk IO, especially with traditional hard drives with long seek times, so
we're unlikely to provide such an interface for fear of encouraging its use!
rsyncing the contents of filesystems within block devices is far, far more
friendly to shared storage, because by default files are skipped completely
on the basis of size and mtime.
> Sure, snapshot's easy... you just have a "snapshot" actuator which returns a
> new resource (complete with a pointer to the "live" version).
Snapshots are easy if we're starting from scratch and are allowed to define
their semantics, for instance a snapshot operation on a drive gives a new
drive with copy-on-write behaviour between them.
The problem comes when you want to retrofit this to (say) Amazon EBS, where
snapshots are second class objects, which can be generated from and imaged
to a block device, but are not a block device in themselves.
If, on the other hand, you treat snapshots as a distinct type of object,
functionality is lost from the interfaces of people who currently implement
them better, so they do appear exactly like on-demand clones of drives.
More information about the occi-wg