Thus far we have discussed many possibilities for what we plan to talk about during the demos. The goal of this page is to formalize it in writing so that we can begin to ensure that all of the pieces are working for the demo.

Tutorial Day (Monday, 4/4/2016)

This is a more technical audience of about ~30.

We are under the assumption that they will provide their own machine capable of SSH.

Morning: Overview

  1. Introduce NDS Labs
    1. What
      1. Kubernetes
      2. Docker
      3. Architecture
    2. Why:
      1. Highly Reliable / Durable
      2. Simplify / Accelerate Complex Installation and Configuration
      3. Reproducible
  2. Introduce NDS Labs Interface
    1. GUI / API / CLI
    2. Service Spec
      1. Volume requirements
      2. Ports used
      3. Image/tag to run
      4. Environment Variables
      5. Readiness Probe?
  3. Tour of Code Base
    1. GitHub
    2. Docker Hub?
  4. Future Plans
  5. Q & A

Afternoon: Hands-On

  1. Introduce NDS Labs Interface
    1. Let users log in and play around on demo instance
    2. This might help keep their attention through the gory details
    3. Allude to setting one up at home if they so choose
  2. Grant Access to a VM: see Tutorial Environment Specs
  3. docker run --rm -it ndslabs/system-shell `usage command`
    1. kube-up.sh
    2. ndslabs-up.sh
    3. toolserve-up.sh
  4. Walk through GUI, apictl, kubectl, docker
    1. Let user play around on the instance they just built
  5. docker run --rm -it ndslabs/developer-shell bash
    1. Walk them through running NDSDEV
    2. This will enable them to add custom software to their instance
    3. Check out nds-labs from Github
  6. git pull nds-org/developer-tutorial
    1. Each step is a branch?
  7. Walk the user through adding a custom service (OwnCloud?)
    1. Introduce our service spec
    2. Prerequisite: Docker image: sort non-technical description?
    3. Analogy to Kubernetes? short non-technical description?
    4. Show how to define a custom service (OwnCloud) using our spec
    5. Load custom spec into etcd
    6. Launch new "OwnCloud" stack with the CLI or GUI

Demo Day (Wednesday, 4/6/2016)

This is a less technical audience of ~70.

NDS Labs Overview (5 min - Kenton)

  1. Goals and History of NDS / NDS Labs
    1. What is NDS Labs?
      1. NDS Labs is an experimental development platform for hosting NDS pilot projects that emerged out of the NDS2 and NDS3 workshops. NDS Labs is intended to provide consortium developers access to significant storage, virtual machines for hosting, and a variety of existing, commonly used data tools (e.g., databases, iRODS, Globus services, etc). NDS Labs enables developers to try out new ideas for tools, services, and standards. Developers working in labs have the ability to create a virtual cluster of machines and launch applications within each node. Developers are encouraged to package new applications and, if appropriate, share them with other projects within Labs.
      2. Reliable, accurate, fast environment that can run on your laptop or a cluster
    2. Mention v1 and how we got to v2
  2. Problems addressed
    1. Problems with custom software setup/configuration being as diverse as snowflakes
    2. No accountability for reproducibility of a particular environment, even if appropriate versioning habits are followed
    3. Complex manual installations are prone to human error, misconfiguration, etc.
    4. Worse, lack of proper maintenance can cause complex software to decay over time
    5. Nothing is worse than hearing "the server went down"... internet users and server administrators can agree on this
  3. Introduce NDS Labs Interface
    1. Vision – came from earlier NDSC, reviewed by TAC,
    2. How does the labs UI address the goals
    3. Bring up the GUI
    4. Login and discuss services in the left panel
  4. If useful, ELK stack will be pre-started
    1. launched from our GUI?
    2. Does this currently work?

TERRA (10 min Kenton introduces)

  1.  Goals and History of TERRA project - David LeBauer (5 min)
  2.  Explain setup of Clowder 
    1.  Showcase: Complex custom software configuration => reproducible environments
  3.  Quickly simulate the setup for TERRA with new NDS Labs
    1.  Configure and Deploy Clowder instance
      1.  ElasticSearch
      2.  PlantCV Preview Extractor
      3.  Image Preview Extractor
    2.  PlantCV extractor - tagging with metadata
      1.  Abstract this concept to any image metadata, not just plants
    3. Tool Server - launch Jupyter and/or RStudio with images
      1.  Have there been previous tool server demos?
      2. Is there a quick operation that we can do to show how powerful this is?

DataVerse (10 min)

  1. Goals and History of the DataVerse Project - Jon Crabtree (5 min)
  2. Explain current installation process for DataVerse - Craig - 5 min
    1.  Showcase: Lengthy and complex installation process
  3. Quickly simulate the setup for DataVerse on NDS Labs (pre-started instance)
    1. Goes from hours to minutes
    2. Start DataVerse
    3. Login with dataverseAdmin user / password
      1. How are these presented to the user? in the GUI?
    4. Create a test ticket / upload data set (test.csv? larger set?)
    5. Show TwoRavens visualization?
    6. Show iRods integration

Conclusion or Q&A (5 min Kenton)

  1. What's planned – future
  2. This is early project and welcome feedback. Find us here or here's how to contact us – discuss list
  3. Possible concluding ideas
    1. Unless you're a tech-head, installing and configuring software can be a nightmare
    2. The more complex the installation, the more error-prone it is, and the harder it is to keep stable
    3. What happens when it breaks? Hours of debugging and pouring through documentation and monitoring tools?
    4. Not anymore... just delete the stack and recreate it.
    5. Your data stays safe with a clean, fresh installation to run it!
  • No labels