Architecture
Learn how Inferable works
1. Registering your functions
Inferable SDKs allow you to register your functions with the Control Plane. This process of registering allows the SDK to collect metadata about the function, such as the function’s inputs, and a description of the function’s purpose.
Then, the SDK establishes a connection to the Control Plane (cloud or self-hosted) and sends this metadata periodically.
2. Control Plane
Inferable Control Plane will receive the metadata from the SDKs and store it in a database.
So, at any given time, the Control Plane has a list of all the functions that are registered with Inferable, and the health of the machines that are running the SDKs.
Control Plane does not establish a connection to the function’s runtime directly. Instead the SDKs establish a connection with the Control Plane.
3. Sending Instructions
When a user wants to executes a run, they will use the Inferable Web UI, CLI or API to create it.
The Inferable model will then inspect the instrcutions and the metadata of the functions to determine the best way to execute the run.
Each step of the run is persisted in the database, as a “job”.
4. Executing the jobs
The SDKs will long poll the Control Plane for new jobs. When a new job is available, the SDK will execute the job.
This execution takes place within the function’s runtime environment, i.e the machines running the Inferable SDK.
5. Monitoring and Observability
Inferable console allows the developers to monitor the health of the SDKs, the functions, and the jobs that are being executed.
If something goes wrong while executing a job, the Inferable will report the error to the consumer (Playground or the API) so that the user can take corrective action.
For more details, please see the Observability page.
Was this page helpful?