Storlets
What is Storlets?
Storlets is an OpenStack
object storage compute framework that enables executing user-defined code near data within OpenStack Swift (object storage and data processing).
Show more
- Execution of user-defined code (storlets) on or near Swift object storage nodes for in-storage processing (data processing).
- Support for data transformation, filtering, and analysis during object upload, download, or retrieval workflows (data processing).
- Integration with OpenStack Swift via middleware and container-based execution sandboxes (cloud storage integration).
- Isolation and resource control for storlet execution using container technologies and defined APIs (runtime isolation).
- Support for multi-tenant deployment in OpenStack environments with policy-controlled storlet invocation (multi-tenant cloud operations).
More About Storlets
Storlets is an OpenStack project that provides in-storage compute capabilities for OpenStack Swift (object storage), enabling execution of user-defined code directly in proximity to stored objects to reduce data movement and support on-the-fly processing.
The project targets scenarios where data resides in Swift and applications require transformation, filtering, or analysis during read or write operations (data processing), instead of moving objects to external compute services. Storlets defines a framework where users package logic as storlets and deploy them to execute within Swift’s data path, which can optimize bandwidth usage and processing locality for storage-centric workloads.
Architecturally, Storlets integrates with Swift through WSGI middleware (cloud storage integration) that intercepts object requests and triggers storlet execution based on request parameters and configuration. The framework uses container-based sandboxes, such as Docker containers (runtime isolation), to run storlets with isolation from Swift processes and other tenants. This model supports controlled access to objects, limited resource consumption, and separation between user code and core storage services.
Storlets exposes APIs and conventions for packaging, deploying, and invoking storlets (platform framework), including mechanisms for passing input objects, metadata, and parameters to storlet code and returning transformed output streams to clients. Typical use cases include media transcoding, format conversion, server-side encryption or decryption pipelines, data masking, log pre-processing, and content filtering as part of object upload or retrieval flows.
In enterprise environments, Storlets is used within OpenStack-based private or hosted clouds where Swift provides object storage and where organizations want processing close to their data without building separate Extract, Transform, Load (ETL) or proxy layers (private cloud storage operations). Administrators manage storlet deployment, access policies, and resource limits so that only approved storlets run on designated Swift clusters, aligning with multi-tenant and governance requirements common in regulated or large-scale environments.
From an interoperability perspective, Storlets operates within the OpenStack ecosystem (cloud infrastructure) and relies on standard Swift APIs and deployment patterns. It is positioned in the directory as an object storage compute and data-processing framework, bridging storage and application layers in OpenStack environments by letting organizations embed processing logic into storage workflows while maintaining Swift compatibility and tenant isolation.