You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by Adrian Cole <ad...@jclouds.org> on 2009/12/18 22:25:56 UTC

[libcloud] Fwd: [compute] profile design and reuse of libcloud names where appropriate

FYI: this is related to our IRC discussion earlier.

-adrian
jclouds

---------- Forwarded message ----------
From: Adrian Cole <ad...@gmail.com>
Date: Fri, Dec 18, 2009 at 1:25 PM
Subject: [compute] profile design and reuse of libcloud names where
appropriate
To: jclouds-dev@googlegroups.com


Libcloud:

On our compute api, it would make discussions easier to use the same vocab
as what is deemed de-facto.  I'd suggest apache incubator status of libcloud
is sufficient grounds to accept their vocab where appropriate.  For this
reason, I recommend we use words like "Node" instead of "Server".  I've
updated our docs accordingly [1]

Profiles:

Ivan and I had a good chat on #libcloud about profiles and naming.  Through
discussion, the bottom line is that Profiles are a good way of resolving
customer asks, which may use cloud-specific lingo, to generic Image, Size,
and Options. They are also a nice way of encapsulating inputs to creation
such that they can be persisted for later use.

Ex.
  Profile profile = nodeService.resolve(ami("ami-1fd73376"),
instanceType(M1_SMALL), nearRegion(US_EAST));
  for (int i=0;i<10;i++)
      CreateNodeMetadata node = nodeService.createNode(name+i,
profile.getImage(), profile.getSize(), profile.getOptions());

With profiles, we can allow sophisticated, provider-specific configuration
asks to be accessible to the user, while keeping existing interfaces simple.


Let us know your feedback!
-Adrian

[1] http://code.google.com/p/jclouds/wiki/ComputeDesign