Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Note:  Also see architecture/design notes within the source code under docs

Table of Contents

Table of Contents

...

Concepts and Terminology

  • Infrastructure: The compute and storage resources in a cloud or infrastructure service (AWS, etc) that an NDS Labs cluster runs on. The NDS Labs reference architecture is OpenStack.
  • Site:  A site is an administrative organization that provides resources to and operates one or more NDSLabs clusters.
  • Cluster/NDS Labs cluster: The NDS Labs software platform that runs on the infrastructure.
  • Project/Namespace: An isolated, named environment within the cluster that contains a set of services that are managed and operated independently of other projects. Projects typically implement the equivalent of a "website".
  • Administrator: An authenticated person that manages and operates a part of the system.

...

Gliffy Diagram
size900
nameHighLevel Global Architecture

Single Cluster Architecture

...

Diagrams

Layer 0 - Single Cluster Infrastructure

...

Gliffy Diagram
size1200
nameNDSServiceLayer

System Services and Roles Matrix

API/Service Catalog

Service

APIs

UsedBy

 

 Service/Component/Role Matrix with Descriptions

StagePlanned
Stage of Development Color Key: CompletedIn DevelopmentDesignedIn DesignFuture
Role: 

Service
Description

Component
Description

Planning Notes

Role/Use

API/Service Use

Infrastructure AdminCluster AdminProject AdminTool DeveloperCatalog ManagerSystem Service
OpenStack       
CADM - Cluster Admin       
CMON - Cluster Monitor       
PADM - Project Admin       
SCADM - Service Catalog Admin       
        
        
        
DEVENV
Developers Environment
and tooling 
Kubernetes Devenv
Host-node network IPaddrs
NDSC - Planned for managed
small-scale release to handful
of early adopters 
NANATest project deployTest toolsNA
 Kubernetes Devenv
w/External firewall IPaddrs
Needs tests/design
etcd/connfd/nginx 
NANATest project with
proper public interface 
Develop to proper
external interface 
NA
Container build support
Makefiles 
Needs: docs, instructions,
catalog yml support,
publish process integration 
NANANA NA

OpenStack
Platform interface

Production Cluster Deploy Ifrastructure provision done
Needs production config -
TLS, security, data persistnence
 
Deploy Cluster InfrastructureNANANANA
 Volume Interface serviceNeeded for OpenStack deployProvide vol resourcesAllocate vol resources
to projects 
Implicit use of
auto-named vols 
NARegister/track resources

CCD
Catalog, Configure, Deploy

CATADM
Service catalog admin interface
Register catalog URLs in etcd 

NDSC demo comopnent 

NAAdmin Catalogs -
register catalog URLS 
NAPublish service
Needs service format 
 
 CATSVC
Update local service catalog
from configured catalogs 
NDSC demo componentNANANANAPull catalogs
maintain in etcd 
 Project Deploy CLI
Deploy service stacks in project 
NDSC demoNANADeploy named service
stacks in project 
NAUses kubernetes API
 CCDSRV
Project Deploy GUI/Server
Web deploy tool on CLI 

NDSC demo
Needs volume mgmt CLI 

NANAWeb configurator
and deploy 
Use to test newly
developed tools 
NA
 PMON
Project Service Monitor

NDSC demo
Display state of stacks in project 

NANACCD guiNANA
CADM
Cluster Administator/Ops
CMON - Cluster Monitor

NDSC demo component
ELK, cadvisor/prometheus, etc.
Graphical tools
Needs configuration and testing 

NAMonitor cluster health
and performance 
NANANA
ICS
Inter-cluster services 
SearchSearch across all NDSL clusters
Needs research, requirements,
plan 
NARegistrationRegister data resourcesrelevant for developing
search interfaces/tools 
External interface to cluster
Distributed global service 
 Registration
Cluster registration/federation
Needs developmentNAGlobal registrationProject resource registration??Local and global distributed service       

 

...