Microservice Fields
For a more condensed summary this information is available in table view
The specification for Microservice has these fields:
name
-
Required-string
human readable short, yet descriptive name of the Microservice."Object Detection for faulty parts"
version
-
Optional-string
version as defined by the user."1.0"
description
-
Required-string
human readable short description of the Microservice's capabilities."This microservices solves a certain problem using very specific methods…"
classification_schema
-
Required-enum [Simulation, ML, others]
fine-granular classification of the Microservice"others"
type
-
Required-string[]
detailed type of the microservice, list of keywords["neural network", "deep learning", "convolutional neural network", "CNN"]
deployment_format
-
Required-enum [docker-compose, kubernetes-manifest]
identifier of the deployment environment required to deploy the Microservice's container"docker-compose"
deployment_data
-
Required-string (YAML)
DIGITbrain supports Microservices in containers. The platform aims to support any OCI-compliant container images, as mentioned in pre-requisites. Containers are generally described in a variety of formats and the platform aims to support the most common kinds.We currently support the description of one container in either the Docker-Compose format or one Pod or Deployment in the Kubernetes manifest format.
Warning
Compose files are translated to Kubernetes by the official Kubernetes Kompose project. Be aware that Kubernetes does not support the same set of functionalities as Compose. This matrix shows the Compose properties that are supported when translating to Kubernetes.
Tip
If you normally run your container with docker run we suggest using the online, open-source Composerize tool, which can translate the command to a Docker-Compose file.
services: reverseproxy: image: nginx:latest ports: - '8080:8080' restart: always
apiVersion: v1 kind: Pod metadata: name: reverseproxy spec: containers: - name: reverseproxy image: nginx:latest ports: - containerPort: 8080
configuration_data
-
Optional-ConfigurationData[]
List of objects specifying configuration file(s) content required by the servicefile_path: /data/rclone.conf file_content: | [s3-server] access_key: 123abc mount_propagation: Bidirectional
mounted_shared_directories
-
Optional-string
A note for developers of co-operating Microservices. Directories that should be shared to the host where this microservice can find required inputs / store outputs"/data and /cfg are mounted on the host for data and configuration sharing, respectively."
recommended_number_of_gpus
-
Optional-integer
recommended number of GPUs2
recommended_gpu_ram
-
Optional-integer
recommended amount of GPU memory in GB6
gpu_type
-
Optional-string
a description of the type of GPUs, and further specifications, to allow the execution of the Microservice"NVidia (compute capability >= 7.0)"
hpc_required
-
Optional-boolean
whether this Microservice requires an HPC environment to be executed efficientlytrue
edge_type
-
Optional-enum [TPU (Google), NPU (Qualcomm), FPGA, NVIDIA Jetson AGX]
required type of edge device to allow the execution of the Microservice"NVIDIA Jetson AGX"
recommended_ram
-
Optional-integer
recommended amount of memory in GB16
recommended_cpus
-
Optional-integer
recommended number of CPU cores4
required_disk_space
-
Optional-integer
required amount of disk space in GB42
os_arch
-
Optional-string
supported os architecture. Defaults to x86"x86_64"
os_type
-
Optional-string
supported os type. Defaults to Linux"linux"
data_resource
-
Optional-Data Resource[]
list of Data objects for each required data resource, specified using the "DATA" fields in the linked substructurekind: [FILE, STREAM] direction: [SOURCE] format: [application/zip, image/jpg] source_type: [MYSQL, KAFKA] auth_type: [userpass] schema: [jpg] aux_info: PROTOCOL: http MYSQL_DIALECT: mariadbdialect
model_types
-
Optional-string[]
list of supported Model types["SavedModel (Tensorflow)"]
model_recommended_auth_tools
-
Optional-string[]
list of recommended AuthoringTools used to generate the Model["PreSTRA"]
parameters
-
Required-Parameters[]
list of Parameter objects for each possible parameters, to be specified before deploymentparameters: - name: detection_threshold type: Integer mandatory: true defaultValue: 42 description: This parameter is helpful
metrics
-
Optional-Metrics[]
list of Metric objects for each metric collected by the Microservicemetrics: - name: meanTemperature correspondingMeasurement: temperature1 function: arithmetic mean unit: degree celcius description: The metric is good
is_gui
-
Optional-boolean
(boolean) indicates that this microservice exposes a graphical user interface (web). Defaults to False.True
workload_type
-
Optional-enum [service, job, undefined]
(enum["service", "job", "undefined"]) specifies the workload type. service for long running microservices that must be shut-down by the user. job for batch operations that should shut-down after microservice completes succesfully. undefined for other, that must be shut-down by the user. Defaults to undefined."service"