[Container-tools] [appinfra] atomic app/nulecule glossary

Michael Virgil mvirgil at redhat.com
Tue May 12 14:19:28 UTC 2015


Hi JM,

Some quick comments and references for more discussion.

- layer or layered image
Good description on that Atomic page: http://www.projectatomic.io/docs/docker-building-images/ 

- aggregation
I think in the UML terms describing the interrelationship between objects (containers in this case) creating a Nulecule application. 
Good descriptions here: http://en.wikipedia.org/wiki/Class_diagram#Instance_level_relationships
---- Aggregation - I think of collection or container of other containers. Not directly tied to the lifecycle of the container defining the relationship (both must come up/down together). The container image and instance can stand on it's own - mongoDB image/instance that is associated to the WordPress Application can stand on it's own without WordPress.
---- Composition - I think of as a container that is composed from the referenced container/image (contains) - My-WordPress-App is composed from an updated CSS file and the base WordPress container image - resulting in a new image that contains the WordPress base image...

- inheritance
Not sure exactly how to think about this for Nulecule... I think this would be related to container builds - referencing a base image that will be built/layered onto for a final image... or Docker-Compose...?

- dependency management - (UML or GrpahML concepts)
I think of this is as related to the full lifecycle management of the Nulecule Application... Defined in the Nulecule file for that application (UML or GrpahML concepts)- used for build, deploy, manage, monitor, and reporting - The graph in the Nulecule file for that application could be very powerful in the management of the complete lifecycle of your application...

- directed graph - agree that this is related to the graph definition that describes the dependency and associated containers for the complete lifecycle management of the Nulecule Application

Good discussion points - we do need to have a clear and agreed to definition and understanding of how we want to talk about the components of the Nulecule Application:
1. Application Metadata - how it is defined/described/indentified
2. Graph - composition and relationships to the full lifecycle management of the Nulecule Application
3. Resources - environmental and infrastructural constraints (or needs) for the application to successfully execute

Thanks,
Michael


----- Original Message -----
From: "John Mark Walker" <jowalker at redhat.com>
To: "container-tools" <container-tools at redhat.com>
Cc: "Application Infrastructure Strategy" <appinfra-list at redhat.com>
Sent: Monday, May 11, 2015 2:10:00 PM
Subject: [appinfra] atomic app/nulecule glossary

Greetings,

In hashing out how we describe various pieces of the Nulecule spec and atomic app, I'd like to start piecing together a glossary. Here's a list of terms thus far that IMHO need a bit more fleshing out:

- layer or layered image - 1st question: are these in fact the same thing, or is there some nuanced differentiation between them?
- aggregation - as in, aggregation of multiple containers/pods into... an application? service?
- nesting - as in, nesting of images. Implicitly calls out dependency management or inheritance
- inheritance - is this an alternate term for nesting? Also implies dependency management. Specifically, what is being inherited from where?
- dependency management - is this a straight analog to what every rpm tools user knows? 
- directed graph - this term is often used in conjunction with the above terms "inheritance" and "dependency management". 
- others?

Do some of these terms completely overlap? Partially overlap? If the former, we need to decide on one over the other. If the latter, then we need to define the overlap. I'll be meeting up with M. Virgil later to discuss this, but I wanted to throw it to the lions of appinfra and container-tools to get a bit of group discussion going.

-JM




More information about the Container-tools mailing list