Skip to content

florin414/ignition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Ignition ⚡🔥

Performance Security Technology License

Ignition is a Serverless Compute Platform designed for speed and absolute security.

While traditional containers share the host kernel (a security risk), Ignition utilizes Firecracker MicroVMs to provide the isolation of a virtual machine with the startup time of a container.

🏗️ Architecture & Scheduling

To achieve the strict <100ms latency goal, Ignition abandons the traditional centralized queue model.

1. Distributed Scheduling (Work Stealing)

Instead of a single global bottleneck, Ignition employs a decentralized scheduling architecture:

  • Local Queues: Each worker node manages its own queue of pending function invocations.
  • Work Stealing: When a node is idle, it randomly probes other nodes to "steal" tasks, ensuring efficient load balancing without lock contention on a central scheduler.

2. MicroVM Provisioning

The system maintains a pool of "warm" MicroVM slots. When a function is invoked, Ignition attaches the user code and network interface via a Tap device in milliseconds.

3. Ephemeral Storage & Networking

Every execution occurs in a sterile environment. Egress traffic is strictly controlled via iptables policies to prevent data exfiltration.

🛠️ Tech Stack

  • Hypervisor: Firecracker (KVM)
  • Control Plane: Go (Golang)
  • Communication: gRPC
  • Networking: CNI (Container Network Interface)

🚀 Benchmark

# Run the cold-start benchmark go run cmd/benchmark/main.go --concurrency 1000 # Output: # P50 Cold Start: 85ms # P99 Cold Start: 110ms

About

A high-performance Function-as-a-Service (FaaS) platform built on Firecracker MicroVMs. Designed for sub-100ms cold starts and rigid security isolation using a custom distributed scheduler in Go.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors