Architecture

Pocket Lab is designed around a service-oriented architecture. A service can be a data processor, client-side code, a backend server, a job scheduler, a database, etc. But a service also maps one-to-one to many other components of development: a repo, an image, a container, a folder, etc. Importantly, a project or application is typically made up of one or more services and services can also be provided by a third party. This module uses the service as the principle atomic component to manage the compositional process of project development and deployment.

System Resources

Resource Description
service self-contained modular component of an application or project
project group of interconnected services with user application
image compilation of code & dependencies for service in a Docker image
container instantiation of a service in a Docker container
platform computational resources that run a service
instance instantiation of a project on a platform
region sub-division of platform to manage content distribution
environmentsub-division of plaform to manage development process
repo version control repository containing the files for a service
file path to a file with configuration settings
virtualbox oracle virtualbox boot2docker image (on Win7/8)
tag metadata associated with a resource
log file or service in which to log stdout of service