[openstack-dev] Thoughts on OpenStack Layers and a Big Tent model

Robert Collins robertc at robertcollins.net
Mon Sep 22 22:48:31 UTC 2014


On 23 September 2014 10:32, Dean Troyer <dtroyer at gmail.com> wrote:
> tl;dr:  we're not broken, but under stress...changing (outside) expectations
> requires changing the expression of the model...while it's called a 'stack'
> maybe it's multiple tiered stacks.  MultiStack!
...
>
> This is one reason for multiple layers.  The original 4 layer stack was
> meant as a technical dependency stack but has morphed into a social/project
> organizational stack.  I don't think it is total coincidence that the
> technical hierarchy was interpreted as a social/governance hierarchy by some
> as there is a lot of similarity.  The mapping between the two in my mind is
> fairly easy, but those details is not what is important.

Are you familiar with Conway's law?
http://en.wikipedia.org/wiki/Conway's_law - I think it works both
ways. When we drive towards a particular structure be it technical or
social, expect the other side to follow suit. Its very hard to to have
a social structure decoupled from the technical structure. One of the
reasons Launchpad has such poor cross-component (bugs/code
hosting/translations) features compared to the in-component features
is that for a long time there were separate teams for each thing -
which resulted in great domain knowledge, but the vast amount of work
being done in-component.

If we want to be better at 'cross project' things, I think we need to
factor Conway's law into our *social* design process. I don't doubt we
need separate teams - we're way past Dunbar's number, for any estimate
of it - but I think we need to seriously consider making our teams
align with our user needs, not our codebases. Codebases are an
implementation detail - an important one, but a detail. Our goals, our
focus, *our structure* should be on meeting user needs [including
those users that do deployments], rather than structured around our
code.

> * IaaS thing: the stuff that builds excellent clouds
> * PaaS thing: the stuff that does amazing things that may or may not be
> built on top of excellent clouds
> * XaaS thing(s): more things I can not visualize through the fog of
> antihistamines
> * Non-aas developer things: what enables us s developers to make the above
> things (infra, qa, etc)
> * Non-aas consumer[1] things: what enables the rest of the world to enjoy
> the above things (docs, SDKs, clients, etc)
>
> This separates the technical hierarchical from the organizational
> relationships.  All of the above things are still called OpenStack.  But
> maybe it's a 'MultiStack'.

I think this would result in excellent intra-layer features/quality
etc, but perhaps cross-layer would become the poor stepchild. And - I
think thats ok. I think it would help overall.


-Rob


-- 
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud



More information about the OpenStack-dev mailing list