The runtime implements remote execution of models and jobs. The runtime is implemented as follows:
OmegaRuntime- the client API to get access to a remote model
OmegaModelProxy- the client API to the remote model
runtime.tasks- the celery tasks implementing the actual execution
OmegaRuntime instance is available as
om = Omega() # get the OmegaModelProxy instance model = om.runtime.model('mymodel') # call methods on OmegaModelProxy, effecting remote task execution model.fit('X', 'Y') pred = model.predict('X')
Note that any method called on the
model are translated into calls
to respective celery tasks. A celery task lives in a celery worker at a remote
note. On execution a task will re-create the
Omega instance to retrieve
the X,Y data as well as the actual model.
Note that the open source omega|ml Core does not implement any security by default. The omega|ml Commercial Edition however addresses all security concerns:
user authentication. Users authenticate to REST endpoints by username + Apikey. Communication is protected by HTTPS.
the database is protected by user/passwords. There is an admin database which uses the
MONGO_ADMIN_URL. This URL is not exposed to users. The per-user databases are only exposed on a per-user basis.
communication to the database using mongo TSL support
communication to the message broker access protection to RabbitMQ, channel encryption (TLS) and message signing.
configuration of client workstations. via userid and apikey