erocci 0.1 vient de sortir. C'est un framework, écrit en erlang/OTP, pour construire des API OCCI (Open Cloud Computing Interface).
Qu'est-ce que OCCI ?
La principale caractéristique technique du cloud computing est de définir des services sous forme d'API REST. Le standard OCCI est un standard ouvert, défini par l'OpenGridForum, pour définir des API REST de manière plus contrainte, et donc facilement interopérables.
Jusqu'ici, OCCI a été principalement utilisé comme surcouche à des API de services d'infrastructure (IaaS) tels qu'OpenStack ou OpenNebula. OCCI est en particulier utilisé par CompatibleOne pour gérer l'interopérabilité entre services cloud.
Pourquoi erocci ?
Toutes les mises en oeuvre de OCCI sont dédiées à un type d'API particulier (en général l'API Infrastructure) avec un grand nombre de connecteurs vers des API propriétaires.
erocci est un framework complètement générique basé sur OCCI : les API sont décrites en XML et le framework gère la persistence (Mnesia pour l'instant), les différents "renderings" (JSON, XML, etc) ou même transport (HTTP aujourd'hui, mais XMPP est dans la feuille de route).
L'utilisation d'erlang/OTP ainsi que des bibliothèques cowboy (serveur web), exmpp (XMPP), jiffy (JSON) permettent d'envisager un très bon passage a l'échelle ainsi qu'une grande fiabilité.
Les prochaines étapes de la roadmap prévoient donc :
- XMPP comme transport ;
- renderings XML et OCCI (similaire aux en-têtes HTTP) ;
- persistence SQL et Riak ;
- amélioration du système de connecteurs vers des API existantes.
Tous les retours et contributions sont les bienvenus.