Friday, June 12, 2015

Docker Con Hackathon Ideas - #1 "The Phedds" - The Phenomenal Docker Demos

Next weekend I'll be attending the DockerCon Hackathon in San Francisco, just before DockerCon.

We've been invited to propose projects in advance, so here goes with my first and favourite idea.

The idea behind the "Phedds" is to produce a set of ultimate Docker demos.
I've presented Docker many times at work and have generally started with a command-line demo where flipping between showing the basic "docker run" or other commands and then to another terminal to show what's happening in the background, OR I'm showing a Docker build, OR I'm showing docker compose being used to build a cluster of components and then hitting F5 to show that we're reaching different docker containers through load-balancing.

That's all great but what if I could have a multi-paned browser page showing different aspects all concurrently.

Here's  mockup of what that could look like, with a command-line pane top-left (maybe simulated) in some way supplemented by other panes showing some element of resource usage or a dashboard such as Seagull.  Here classical resource widgets are shown, but they could be graphical process tress, or a disk usage tree allowing to show the file system usage and diffs (docker diff information) to show clearly what happening under the bonnet.

I imagine a dynamic visualisation using a library such as D3.js.



Another more specific scenario could be an N-tier architecture, such as a front-end load-balancer, with several web-servers behind and possibly a DB backend.  One pane could show the dashboard of the load-balancer admin page (ha-proxy in this example), another pane could show the current output of the web front-end (or as shown here, several successive views showing the differences as different backend web servers serve up the content).  Another pane might show resource utilisation, whilst another pane might show the architecture ... or any other related "presentation" material.



This final scenario is just to give the idea of having a group of servers in different containers each serving up some interesting dynamic content.  Maybe this could be a group of N, e.g. 8 servers, quickly launched and panes being created as the servers come quickly online.



And this just to remind that all these panes could be highly dynamic in nature to show that high performance graphics and snazzy demos are possible !!

 Whilst the mockups above are all 2x2 panes, it could be possible for each demo scenario to have a template specifying the number of panes and what widget would be available in that pane.


There you go, a quick mockup ... thanks to let me know what you think.

My thoughts for implementing this at the Hackathon:

Rule#1 - challenge these ideas, let's brainstorm !
Rule#2 - this idea could evolve into the phenomenal Docker lab, or a real tool, let's brainstorm !
Rule#3 - let's brainstorm !
Rule#4 - there is no rule#4

Any skills welcome, but at least one or two Javascript and even D3.js hackers are needed to really produce this demo.

NOTE: Although a demo system is proposed here, I'm open.
             If we produce the "best Docker lab" then I'd be just as happy.
             If instead we produce some useful tools, great.
             If we produce the best "bread-slicing container system" why not ...

No comments:

[Conference - CodeEurope.pl] Developing Micro-services on Kubernetes

In April I had the chance to present at CodeEurope.pl , first in Warsaw on Apr 24th, and then in Wroclaw ("wroslof" was my best at...