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 |
environment | sub-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 |