FTL: A new operating system for clouds
FTL: A Cloud-Native Operating System
FTL represents a paradigm shift in cloud infrastructure, introducing a novel operating system specifically engineered for cloud environments.
The Core Philosophy
By utilizing a userspace OS design, FTL transforms the way we manage system features. Adding new capabilities, debugging issues, and performing OS upgrades becomes as seamless and safe as developing standard applications.
The Mission: To provide lightweight containers that possess the security profile of Virtual Machines (VMs) while granting applications deep OS-level capabilities—all without compromising on performance.
Mathematically, the goal can be expressed as:
Technical Architecture & Isolation
FTL achieves superior isolation for containers (which are essentially userspace OS instances) compared to traditional monolithic kernels. It employs a hypervisor-style interface leveraging lightweight, hardware-based isolation in user mode.
Key Implementation Details:
- Shared Library: FTL is implemented as a shared library that handles fundamental OS concepts, including:
- Linux-style processes
- Virtual File Systems (VFS)
- TCP/IP stacks
- Minimal Kernel: The FTL kernel provides a stripped-down interface, acting like a hypervisor to enable the implementation of Linux system calls directly within the userspace.
Hybrid Design Comparison
FTL seeks to merge the strengths of two competing architectures:
| Feature | Microkernels | Monolithic Kernels | FTL Approach |
|---|---|---|---|
| Flexibility | High | Low | High |
| Security | High | Moderate | High |
| Performance | Moderate | High | High |
| Simplicity | Moderate | High | High |
Versatility and Extensibility
FTL is highly adaptable. For instance, the Rust-based HTTP server powering this very site is a standard Linux application running atop FTL. Furthermore, users can deploy specialized, Unikernel-like applications that bypass POSIX abstractions entirely.
Breaking the Kernel Barrier
Developers can now extend Linux kernel functionality without resorting to complex kernel hacking or eBPF programming. This allows for:
- Rapid integration of
printfstatements for debugging. - Swift deployment of security patches.
- Safe and iterative feature additions.
Development Roadmap
The evolution of FTL is tracked via the following milestones:
- September 2026: Support for basic Linux HTTP servers (Released in
v0.0.1) - October 2026: Support for Async Rust applications, including
epolland Linux threads (Released inv0.1.0) - November 2026: Implementation of the Filesystem
- December 2026: Support for Go and Node.js
- January 2027: Introduction of SMP, 64-bit Arm support, and container images
Resources
To dive deeper into the project, explore the following:
- Source Code: [GitHub repository]
- Detailed Announcement: [Introducing FTL: A new operating system for clouds (blog post)]
// Example: FTL allows running high-performance
// Rust apps with minimal overhead.
fn main() {
println!("Hello from FTL Userspace OS!");
}