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!

Reply via email to