Logistics
Morning
Part I. Overview/architecture
- NDS Labs mission statement (David)
- A place to build, deploy, collaborate
- "NDS Labs is an environment where developers can prototype tools and capabilities that help build out the NDS framework and services."
- NDS mission (David)
- Search, Publish, Link, Reuse
- We think of this as searching for data, publishing data, linking to data, and reusing data
- But now, think of it for software infrastructure
- Find software, publish, link (integrate), re-use
- Search, Publish, Link, Reuse
- Demo (Craig)
- Proof-of-concept/prototype (a realization)
- Emphasize collaboration
- Architecture - high-level (David)
- NDSLabs services (PaaS)
- Kubernetes/orchestration
- Docker/containers
- Clusters/Data storage (OpenStack)
- NDS Labs services (David)
- Service catalog
- Interfaces for configuring and deploying services
- Development environment
- Deployed in containers
- Docker (containers) (David)
- Standardized method of packaging and distributing software and dependencies
- Very lightweight (100-1000x smaller than typical OS), fast (10-100x faster than a VM) and reliable
- Microservices enabling technology
- Transformative: it's changing how software is deployed
- Clusters/storage (David)
- Reference NDSLabs implementation is running on OpenStack.
- Kubernetes (manages containers) (David)
- Highly-reliable, scalable, easy to deploy containers
- Schedule containers, cluster manager
- Used by NDS Labs
- Wrap-up/transition
Part II. How can you use NDS Labs?
- How can you leverage NDS Labs? (Craig)
- Find
- Find and reuse other people's stuff
- publish your services to the catalog
- Other people can find and reuse your stuff
- Develop: Use our development environment/framework to integrate with others
- Containerize your services
- Use other people's containerized services
- Glue them together
- Collaborate with NDS Labs
- Applications, infrastructure, issues/wants, standards
- Find
- Tour of Code Base? (Craig)
- Service catalog
- Development environment
- Easy to use, doesn't require a cluster (you can run it on your laptop)
- Framework for integrating services
- Contribute/collaborate (Craig)
- Github
- Slack/Gitter/IRC
- Google groups/discuss@nds.org
- We need you (Craig)
- Do you have an expertise, help us make this better
- Use case: Running existing containers
- Clowder
- Use case: Containerizing an existing applications
- Dataverse
- Use case: A new collaborative project
- Plants in Silico
- Microservices architecture
- Independent, independently scalable
- Communication mechanisms
- Workflow over the top
- Collaborative/remote developers
- What have we learned?
- Docker and Kubernetes are moving targets/young
- Reading upside down: there's a learning curve
- Where we're headed
- Q&A
Break
Afternoon: Hands-On
Part III (2 hours)
- Agenda
- Access a VM
- Boot up your microcluster
- Boot up NDS Labs services
- Add your own services
- Show you how to make a container
- Show you how to make a service spec
- Login to your VM
- Walk through tutorial materials
- git clone nds-org/developer-tutorial
- Each step is a branch?
- ?
- docker run --rm -it ndslabs/system-shell usage docker
- kube-up.sh
- ndslabs-up.sh
- toolserve-up.sh
- Walk through GUI, apictl, kubectl, docker
- Let user play around on the instance they just built
- docker run --rm -it ndslabs/developer-shell bash
- Walk them through running NDSDEV
- This will enable them to add custom software to their instance
- Check out nds-labs from Github
- Example 1: create a service from an existing container
- Walk the user through adding a custom service (OwnCloud?)
- Introduce our service spec
- Prerequisite: Docker image: sort non-technical description?
- Analogy to Kubernetes? short non-technical description?
- Show how to define a custom service (OwnCloud) using our spec
- Load custom spec into etcd
- Launch new "OwnCloud" stack with the CLI or GUI
- Example 2: create your own container (Minecraft)
- Create a new container...
- Closing
- This is early access, we're looking for feedback
- Questions:
- Small staff
- Use community tools
- We welcome feedback, here's how you can give feedback