Gyoza Ops#

Think of Gyoza Ops as essentially Function as a Service (FaaS). At its core, a Gyoza Op is a container that follows a standardized way of receiving and returning data, the Gyoza IO interface.

When we talk about a “Gyoza Op”, we are referring to the actual container that holds the function you want to run, along with all the dependencies it needs, all while adhering to the standard input/output (I/O) contract of Gyoza.

JSON input and output flow through the container

Since the IO contract is JSON based, you could use any programming language to implement a Gyoza Op. Right now, we support python Gyoza Ops.

See also

For step-by-step guides on building, testing, and deploying your Gyoza Ops, see the How-to Guides.

Lifecycle and Versioning#

Gyoza Ops follow a simple lifecycle: you develop the function, build it into a container, and deploy it to the Gyoza server.

Once deployed, the function becomes an OpDefinition in the gyoza server, a long-lived, versioned entity. Think of it like a Docker image repository, where each deployment of your Gyoza Op creates a new version of the OpDefinition, all under the same unique op name.

This means you can easily update your op over time. Every time you redeploy it, the server updates the OpDefinition to the latest version, so subsequent runs use the new version.

For more details on how OpDefinitions work and how they are executed, see the server documentation.

Lifecycle of Gyoza Ops