Skip to content
mirazola-ik edited this page Dec 9, 2025 · 6 revisions

Introduction

The Serverless Runtime is a Python-based service designed to execute offloaded functions within the COGNIT ecosystem. When a device uses the device-runtime to offload a task, the Serverless Runtime is the component responsible for receiving, executing, and returning the result of that task.

It exposes a REST API to handle function execution requests, allowing developers to offload computation from resource-constrained devices.

High-Level Functionality

  • Function Execution: Receives serialized functions via a REST API endpoint, executes them in an isolated environment, and returns the result.
  • Service Integration: Provides pre-configured clients for interacting with essential services, such as MinIO for object storage, directly from within the offloaded function.
  • Stateless and Scalable: Designed to be stateless, making it easy to deploy and scale across multiple nodes in an edge-cloud continuum.
  • Centralized Logging: Integrates with a standardized logger, allowing logs generated by the offloaded function to be captured and viewed alongside the runtime's own logs.

  • Prerequisites
  • Environment Setup
  • Running the Serverless Runtime
  • Main Application (app.py)
  • Core Modules
  • Data Models
  • High-Level Design
  • Request Flow
  • Component Interaction
  • How to check function execution metrics
  • How to update a SR template image

Clone this wiki locally