My number one wish would be to have more common abstractions.

Node creation and SSH key handling works the same way with all providers, but 
creating security groups don't (you have to use ex_* functions for those). 
Since I wanted even security groups to work the same way in the elibcloud API, 
in the Python part of elibcloud I needed to write custom code for different 
providers. Same goes for handling floating IP addresses.

Another path that I could have taken (the one that is suggested by your 
question :) ) is for the elibcloud API to mimic the Libcloud API as closely as 
possible; in that case introspection-related features could have been useful. 
But Erlang and Python have a fair number of differences: Erlang is a function 
language, so it has no objects, only functions. Also, it has immutable data 
structures. So it seemed a better idea to write the elibcloud API in an 
"Erlangy" way.

Csaba


----- Original Message -----
From: "John Carr" <[email protected]>
To: [email protected]
Sent: Wednesday, June 18, 2014 9:44:26 AM
Subject: Re: elibcloud

Looks interesting!

Is there anything libcloud could offer to make this easier to maintain? In 
particular, I’m thinking in terms of introspection, so you can see which 
features are implemented by which providers etc.

Cheers,
John

On 18 Jun 2014, at 08:38, Csaba Hoch <[email protected]> wrote:

> Hi,
> 
> I created an open source Erlang wrapper around Libcloud: 
> https://github.com/esl/elibcloud.
> 
> It supports only a few features (from Compute) and a few providers (EC2, HP, 
> Rackspace). It does what we need for now, but contributions are of course 
> welcome.
> 
> Regards,
> Csaba

Reply via email to