All posts
28 July 2026

· architecture

· edge

· embedded

· runtime

· oem

Why the Edge Runtime Has to Be Small

On constrained devices, the media runtime is not just another service. Its size, modularity, and assumptions determine what else can still fit on the board.

Most software systems treat the runtime as something that can afford to be large.

There is memory. There is CPU headroom. There is a package manager. If the service needs another dependency, it takes it. If the process grows, the machine absorbs it. This is a reasonable default for cloud services and for many on-prem appliances that were designed with spare capacity.

It is a damaging default for real-time media at the edge.

The constraint is physical

An edge device that captures, encodes, and transmits video is usually sharing a board with other work: the sensor pipeline, the application logic, sometimes an inference model, power management, and whatever else the product actually exists to do. Thermal limits are real. Memory is finite. The uplink is often expensive or unreliable. The device may be expected to run for years with infrequent physical access.

In that environment the media runtime is not “just another service.” It is a permanent resident that competes for the same scarce resources as the rest of the product. Every megabyte it permanently occupies, every thread it keeps alive, and every assumption it makes about the network or the operating environment reduces what else can still fit.

Teams discover this late. The first version of the streaming feature works on a development board with comfortable margins. Then the product moves to the cost-optimized or power-optimized hardware that will actually ship, and the margins disappear. At that point the options are ugly: remove other functionality, accept thermal throttling, raise the bill of materials, or try to carve the media stack down under schedule pressure.

What “small” actually means

Small is not a marketing adjective. It is a set of engineering properties that determine whether the runtime can live on the device without becoming the dominant consumer of resources.

Footprint
The binary size, the steady-state memory, and the number of permanent processes or threads matter. A runtime that is only comfortable when it owns the machine is not an edge runtime; it is a server process that happens to have been cross-compiled.

Modularity
Not every deployment needs every capability. A device that only needs to push a single stream with basic control should not be forced to carry the full weight of a multi-party conferencing stack, a complex SFU, or a cloud-centric control plane. The ability to compose or strip capabilities without rewriting the core is what keeps the runtime usable across different product constraints.

Assumptions about the environment
Many media stacks quietly assume reliable connectivity, the ability to reach cloud infrastructure for signaling or licensing, or the presence of a full desktop-class operating system. Those assumptions are expensive on devices that must operate through intermittent links, in air-gapped environments, or on stripped-down Linux or RTOS-like systems. An edge runtime has to treat limited and hostile environments as normal rather than exceptional.

Customization without forks
OEM and product teams inevitably need to adapt the runtime to their hardware, their sensor pipeline, their security model, or their manufacturing flow. If every adaptation requires a long-lived fork, the maintenance cost eventually exceeds the value of the original component. A runtime that is designed to be extended at defined boundaries ages better than one that can only be modified by forking the mainline.

The alternative that usually appears

When the runtime is too large or too rigid, teams respond in predictable ways:

  • They keep the heavy stack on a more powerful gateway and treat the actual sensors as dumb sources. This works until the gateway becomes a single point of failure or a bandwidth bottleneck.
  • They accept that only a subset of the product line can support the media feature.
  • They build a minimal custom pipeline that solves today’s narrow case and becomes unmaintainable when the next requirement arrives.
  • They push more of the system into the cloud and accept the latency, the connectivity dependency, and the data-path implications.

None of these are inherently wrong. They are rational responses to a runtime that does not fit the constraint. The problem is that they are usually discovered after the architecture has already been chosen.

A more useful design posture

Design the real-time edge runtime under the assumption that it will share the device with other work and that the device will not always have a clean, high-bandwidth path to the rest of the world. Make footprint a first-class concern. Make modularity a first-class concern. Treat limited connectivity and limited operating environments as normal cases.

This does not mean the runtime must be feature-poor. It means the features must be selectable and the baseline must remain viable on constrained hardware. The same architectural ideas — device identity, coherent media and control, desired state, direct paths when possible — should still make sense when the binary is small and the network is imperfect.

Most teams only confront this when the bill of materials or the thermal envelope forces the issue. The ones who treat footprint and modularity as design inputs from the beginning simply have more options left when the hardware is finalized.

© Wycast

How it worksBlogServicesTermsPrivacyContactSign in