The Nuclio Serverless-Functions Service

On This Page


Iguazio's Nuclio Enterprise Edition serverless-functions framework — a leading open-source project for converging and simplifying data management — is integrated into the platform. Nuclio is a high-performance low-latency framework that supports execution over CPUs or GPUs and a wide array of tools and event triggers, providing users with a complete cloud experience of data services, ML, AI, and serverless functionality — all delivered in a single integrated and self-managed offering at the edge, on-premises ("on-prem"), or in a hosted cloud.

You can use Nuclio functions, for example, to

  • Collect and ingest data into the platform and consume (query) the data on an ongoing basis. Nuclio offers built-in function templates for collecting data from common sources, such as Apache Kafka streams or databases, including examples of data enrichment and data-pipeline processing.

  • Run machine-learning models in the serving layer, supporting high throughput on demand and elastic resource allocation.

Nuclio can be easily integrated with Jupyter Notebook, enabling users to develop their entire code (model, feature vector, and application) in Jupyter Notebook and use a single command to deploy the code as a serverless function that runs in the serving layer. For examples, see the platform's tutorial Jupyter notebooks.

Nuclio is provided as a default (pre-deployed) shared single-instance tenant-wide platform service (nuclio). Users can disable, enable, and restart this service, as well as configure the Docker Registry for storing the Nuclio function images. See also the Nuclio restrictions in the Software Specifications and Restrictions documentation.

Configuring the Docker Registry for the Nuclio Service

By default, the Nuclio service on the default tenant is configured to work with a predefined default tenant-wide Docker Registry service (docker-registry), which uses a pre-deployed local on-cluster Docker Registry. However, you can create your own Docker Registry service for working with a remote off-cluster Docker Registry, and change the configuration of the Nuclio service to work with your Docker Registry service and use your registry to store the Nuclio function images.

Configuring the Node Selector

The pods of a Nuclio function can only run on nodes whose labels match the node selector entries configured for the specific function. You can configure the key-value node selector pairs in the Custom Parameters tab of the service. If there is no specified node selector, it defaults to the Kubernetes default behavior, and runs on a random node.

Introduction to Nuclio and Serverless Functions

In recent years, the concept of serverless development has been rapidly gaining traction. Serverless solutions accelerate and facilitate the development process by eliminating tedious server orchestration tasks and allowing developers to concentrate their efforts on the development logic. Developers can embed flexible computation within their data flow without worrying about the server infrastructure provisioning and DevOps considerations.

To provide users of the MLOps Platform ("the platform") with a serverless solution on top of the platform, Iguazio developed Nuclio — a standalone open-source self-service application-development environment. The Nuclio Enterprise edition is integrated into the platform as part of the default installation. Nuclio allows developers to build and run auto-scaling applications, in their preferred programming language, without worrying about managing servers. Nuclio is currently the fastest serverless framework in the market. It allows running functions over CPUs or GPUs; supports a large variety of event sources (triggers); can be deployed in the cloud or on-premises ("on-prem"); and provides many other significant advantages. Combining the platform with Nuclio provides users with a complete cloud experience of data services, machine learning (ML) and artificial intelligence (AI), and serverless functionality — all delivered in a single integrated and self-managed offering at the edge, on-prem, or in a hosted cloud.

Nuclio comes with powerful UI (dashboard) and CLI (nuctl) applications and is simple to install and use. When using Nuclio from the platform, its dashboard is available in the Projects area of the platform dashboard. See specifically the Functions project page. In the Quick Links section of the project-overview sidebar, you can find Real-time functions (Nuclio) and API gateways (Nuclio) links to the Functions page's Functions and API Gateways tabs.

Note that viewing, managing, and developing Nuclio functions is supported only for users with the Function Admin management policy.

For detailed information about Nuclio, including comprehensive documentation, visit the Nuclio website and GitHub repository. For information about creating and deploying Python Nuclio functions from Jupyter Notebook, see the Nuclio Jupyter package — nuclio-jupyter.

See Also