Skip to content

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 service

file_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 GPUs

2
recommended_gpu_ram

Optional-integer
recommended amount of GPU memory in GB

6
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 efficiently

true
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 GB

16
recommended_cpus

Optional-integer
recommended number of CPU cores

4
required_disk_space

Optional-integer
required amount of disk space in GB

42
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 substructure

kind: [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 deployment

parameters:
- 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 Microservice

metrics:
- 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"