BeeScale API announcement
Abstract
This announcement summarizes process of creating an API for BeeScale
cloud using the Deltacloud API. In this announcement you will learn
about BeeScale cloud and its properties, the analysis of BeeScale API
requirements and selection of suitable API standard, thoughts on
programming native Deltacloud API, technical specs to try BeeScale API
and verdict about Deltacloud API.
BeeScale cloud [1]
"BeeScale" is a cloud service available online at http://beescale.com.
The main goal of BeeScale is to provide fast, dynamic, intuitive and
cheap platform to operate your own virtual servers. BeeScale is 100%
cloud service - there is charging by hours assessed by truly used
resources (for example, there is no charge for shutdown vServers), user
gets dedicated systems using shared resources and user is given a choice
of cpu count, ram capacity and disk storage (user may change his
decisions on-the-fly). The unique feature of BeeScale is strict
separation between virtual disks and virtual servers. For example, if
virtual server is erased, disks will remain for future use in another
virtual servers. Also, you may attach your virtual disks in virtual
server in any order you like, even modify virtual sever and
attach/detach disks on-the-fly. Currently, we offer up to 4 virtual
disks per virtual server (for non trial users). Also, BeeScale cloud has
very unique architecture. After giving up on OpenNebula project, we
decided to develop our own solution, resulting among other components in
distributed cloud hypervisor Apiarist. Development of BeeScale started
in summer of 2010 and production release has been done 11.4.2011 [2].
BeeScale belongs to OldanyGroup company [3] and it is developed by
Martin Kopta, the chief developer at OldanyGroup.
BeeScale API
At first, BeeScale API should have been a XMLRPC API with quite own
definition. After some research, already developed standards have been
considered. Contemplated were: Simple Cloud, Deltacloud, vCloud and
OCCI. All the candidates except Deltacloud were droped at once due
terrible documentation (either non-existent or too complex and
incomprehensible). However, Deltacloud was a bit confusing at first.
Offered ruby framework wasn't needed at all, since target was to develop
native API. Implementation of Deltacloud API natively didn't occured me
at all. Also, it wasn't clearly stated which collections are required to
be implemented. After some chat on IRC [4], it was pointed out that the
ruby framework doesn't suit my needs and requried collections were
enumerated to me directly. Native implementation of Deltacloud API into
BeeScale went smoothly and was done within two weeks. I was unsure if
extension of outputs is allowed, but [4] made clear it isn't problem at
all. Most needed extension of output was GET /api/instances/<id>: added
were <cpu> and <memory> since BeeScale doesn't use predefined hardware
profiles and user sets those params at creation/modification of virtual
server. With that said, hardware profile wasn't used much. Only one is
available and it gives ranges for almost all params.
BeeScale API usage
BeeScale API is available for all BeeScale users. After registration on
BeeScale (czech language only), user will get access to account
settings, where he can set BeeScale API on and gets his unique key.
Then, user may use the BeeScale API at http://beescale.com/api with
credentials 'mail':'key'. Rest of usage is described by Deltacloud.
Summary
Choice of Deltacloud API as native API for BeeScale cloud was very
successful. Implementation went smoothly and the documentation was
especially great in comparion with other standards. Except few
misunderstandings, Deltacloud is comprehensible and easy to use.
However, I hope that after recent update of Deltacloud API not many
things will change for BeeScale API.
Thank you for exceptionaly good cloud API standard,
Martin Kopta
[1] http://beescale.com/
[2]
http://www.oldanygroup.cz/tiskove-zpravy/beescale-6-kliku-od-vlastniho-virtualni-serveru-v-cloudu-96/
[3] http://www.oldanygroup.cz/
[4] Thank you guys!