Component architecture

For future events, please use this calendar event: https://calendar.google.com/calendar/hosted/docker.com/event?action=TEMPLATE&tmeid=NmlucDZoYnQ3OTJoZWo1MnQ4ZzY5MGswbjZfMjAxNzA4MjJUMTYwMDAwWiBicmlhbi5nb2ZmQGRvY2tlci5jb20&tmsrc=brian.goff%40docker.com

Or send me a DM and ask for me to add you to the invite directly.
This is scheduled weekly @ 9AM PDT/12PM EDT/ 5 PM CET for 30 minutes on Tuesdays

Reminder we will be having a call today @ 9AM PDT/12PM EDT/ 5 PM CET
https://docker.zoom.us/j/164166594 If you’d like to join.

Also have a working branch up @ https://github.com/cpuguy83/docker/tree/moby_components

2017-08-22

Recording

  • Architecture - Doc updated 8/22 https://github.com/cpuguy83/docker/blob/moby_components/components/architecture.md
    • Add status section / API stability
    • Dealing with v1 HTTP API changes
      • HTTP code doesn’t change for componentization
      • Swap out existing backends with grpc-based backends
    • Clustering support integration (e.g. swarm mode)
      • Maybe support static either is enabled or not
    • Finalize for PR to moby/moby
  • Start work on some POC implementations
    • Flavio has a working GRPC implementation of the networkdb (network gossip), need to look at where to integrate this

Thanks all who could join for the Moby component sync meeting.

Next steps:

Please make sure to comment on the updated architecture doc.
I would like to submit a PR to moby/moby tomorrow with what we have so it will be really helpful to have any feedback for glaring items today if you can.

We should start working on POC implementations for some of the services listed on the architecture doc (there are some protos in the repo to work off of, but not for every service, and not necessarily final).
It would be prudent to start work on the container management bits quickly (even if we have to do things like use host networking to start off with) so we have ample time to give feedback to the containerd team early while still in alpha.
Please let me know if you are interested in working on one (or more) of these services.

As always, please let me know if you think there’s something we’re missing here.

I have opened a PR to moby/moby to introduce the architecture doc! https://github.com/moby/moby/pull/34629

Reminder we will be having a call today @ 9AM PDT/12PM EDT/ 5 PM CET
https://docker.zoom.us/j/164166594 If you’d like to join.

Sorry folks I forgot to hit the record button.
Just a short call, here are the notes:

2017-08-29

  • moby/moby architecture PR https://github.com/moby/moby/pull/34629
    • Need more time to review
    • We should move proto specs to a separate repo
      • This allows us to iterate on components more quickly and keeps us from cluttering moby/moby while things are in progress
  • Component implementations
    • Have component for prometheus metrics aggregation over GRPC
    • A “ghetto-index” service for providing discovery of components
      • “Ghetto” because it’s just using a particular convention of putting a socket into a folder with a naming pattern and providing a component listing from that
      • Maybe this isn’t so ghetto and just a workable convention
      • Likely does not need to be a separate process, just a library for discovery, can still even use GRPC with an inmem connection. Separate binary comes with a big cost, where a simple convention gets rid of the need for this binary
    • Generic connection resolver (library) from the discovery backend
      • Reads the discovery backend and provides *grpc.ClientConn with connection caching

With the long weekend and some other pertinent priorities for the ongoing moby/moby transition, cancelling the 9/5 meeting. We will continue the following week.

Please ping me if you have any questions or concerns.

Thanks!

I’m currently fleeing Hurricane Irma and may not have access to do this call on Tuesday, so I’m cancelling this week’s call (on 9/12)

Cancelling this indefinitely while we work on finalizing the moby core transition.