From: [email protected] 
[mailto:[email protected]] On Behalf Of Jason Resch
Sent: Tuesday, April 29, 2014 8:08 AM
To: Everything List
Subject: Re: anyone super-geek here?

 

I work at a company who's primary business is making large-scale private cloud 
storage systems, supporting both Amazon's S3 and OpenStack interfaces. While 
OpenStack has the advantage of being more open, Amazon's S3 protocol seems to 
have a larger mind share, and more traction as far as becoming a de facto 
standard. If you are developing client-side applications against cloud APIs, I 
think you will find the S3 API more powerful and better designed and thought 
out than the Openstack API, but for simpler use cases that just involve read, 
write, delete, etc. there's very little difference between them.

I think Chris's comment below is particularly good advice. You ought to build 
an abstraction layer that sits between your application logic and the storage 
layer such that in the future you can more easily transition to other APIs 
should the need or desire arise.

 

I would also add that doing so is a lot easier when first building a system. 
After dependencies creep through a code base it becomes increasingly difficult 
to retrofit an abstraction layer into a body of code. Believe me I know, I have 
tried and seen a lot of other attempts. Have worked with some code for some 
very large software companies that is a forest of pre-processor commands that 
make it almost impossible to follow the code through the forest of #ifdefs, 
#elif, #defines, #endif directives AND_A_WHOLE_BUNCH_UGLY_LONG_STRINGS… in this 
one instance I believe they still struggle with the massive bleed through of 
dependencies throughout a very large code base. Once a body of code becomes 
inherently coupled by dependencies it can become impossible – in practice – to 
achieve loose coupling. On the other hand sometimes strong dependency makes 
perfect sense, but for anything that is peripheral to the core function of the 
software it often makes sense to emplace abstraction layers early on in the 
life-cycle. 

It is a case of do it now; or risk not being able to do it later… architecting 
an abstraction layer is also an opportunity to reflect on actual requirements 
and what kind of models and system topologies make sense. It can lead to better 
design over all.

Chris

 

Jason

 

On Mon, Apr 28, 2014 at 8:03 PM, 'Chris de Morsella <[email protected]>' 
via Everything List <[email protected]> wrote:

I looked at it a while back and of the various open source cloud initiatives it 
looks like the one best positioned to succeed also because it is heavily backed 
by Rackspace -- a large hosting, col-location service based out of Texas. 

My advice though, whatever cloud solution you go with would be to try as much 
as possible to abstract the specific bridge code behind an opaque interface 
that cleanly separates it from bleeding out into other code. 

This will help to isolate this layer from other layers in your code. In general 
an extra layer of indirection is almost always worth it if it can decouple 
responsibilities and functions. Clean separation is one of the keys to managing 
mushrooming complexity as code grows and evolves over time.

 

  _____  

From: "[email protected]" <[email protected]>
To: [email protected] 
Sent: Monday, April 28, 2014 8:09 PM
Subject: Re: anyone super-geek here?

 


On Monday, April 28, 2014 3:43:35 PM UTC+1, [email protected] wrote:

Hi, off topic, but I need to throw a few things onto the cloud, and it's 
important to get package right. So can anyone answer...is it OpenStack ? No 
need to answer unless you feel you have serious amounts of exposure  

 

That could have conveyed a message I didn't intend. All I meant was I've got 
engineers..it just occurred to me the list might have super-genius experts. I 
don't want to end up with an infrastructure that isn't going to keep up,. 
OpenStack looks good though.

-- 
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/d/optout.

 

-- 
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/d/optout.

 

-- 
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/d/optout.

Reply via email to