System Requirements
Hardware and software requirements for running Laminar.
Minimum Requirements
Development / Testing
| Resource | Minimum | Recommended |
|---|
| CPU | 2 cores | 4 cores |
| RAM | 4 GB | 8 GB |
| Disk | 10 GB | 20 GB |
| Network | 100 Mbps | 1 Gbps |
Production (per node)
| Resource | Minimum | Recommended |
|---|
| CPU | 4 cores | 8+ cores |
| RAM | 16 GB | 32+ GB |
| Disk | 100 GB SSD | 500 GB+ NVMe |
| Network | 1 Gbps | 10 Gbps |
Software Requirements
Container Runtime
| Platform | Supported Versions |
|---|
| Docker Engine | 20.10+ |
| containerd | 1.6+ |
| CRI-O | 1.24+ |
Kubernetes
| Component | Supported Versions |
|---|
| Kubernetes | 1.26 - 1.30 |
| Helm | 3.12+ |
Storage
Laminar uses RocksDB as an embedded database for state storage. This requires:
| Requirement | Specification |
|---|
| Storage Type | SSD recommended (NVMe for production) |
| Filesystem | ext4, xfs, or similar POSIX-compliant |
| IOPS | 3000+ for production workloads |
Cloud Provider Requirements
AWS
| Service | Purpose |
|---|
| EKS | Kubernetes cluster |
| EBS (gp3) | Persistent storage for RocksDB |
| ALB | Load balancing |
| IAM | Authentication |
| S3 | Checkpoints and artifacts |
GCP
| Service | Purpose |
|---|
| GKE | Kubernetes cluster |
| Persistent Disk (SSD) | Storage for RocksDB |
| Cloud Load Balancing | Load balancing |
| IAM | Authentication |
| GCS | Checkpoints and artifacts |
Azure
| Service | Purpose |
|---|
| AKS | Kubernetes cluster |
| Azure Disk (Premium SSD) | Storage for RocksDB |
| Azure Load Balancer | Load balancing |
| Azure AD | Authentication |
| Blob Storage | Checkpoints and artifacts |
Network Requirements
Ports
| Port | Component | Protocol | Purpose |
|---|
| 8000 | API Server | HTTP | REST API |
| 8001 | Controller | gRPC | Controller gRPC |
| 8002 | Compiler | gRPC | Compiler gRPC |
| 8004 | Admin | HTTP | Metrics and admin endpoints |
| 3000 | Console | HTTP | Web interface |
Outbound Access
Laminar requires outbound access to:
| Destination | Purpose |
|---|
| Container registry | Pull images |
| Your data sources | Kafka, Kinesis, etc. |
| Your data sinks | Iceberg, S3, etc. |
| NTP servers | Time synchronization |
Sizing Guide
By Throughput
| Throughput | Workers | Worker CPU | Worker RAM |
|---|
| < 10K events/sec | 1-2 | 2 cores | 4 GB |
| 10K-100K events/sec | 2-4 | 4 cores | 8 GB |
| 100K-1M events/sec | 4-8 | 8 cores | 16 GB |
| > 1M events/sec | 8+ | 16 cores | 32 GB |
By Number of Pipelines
| Pipelines | Controller RAM | API RAM |
|---|
| < 10 | 1 GB | 512 MB |
| 10-50 | 2 GB | 1 GB |
| 50-200 | 4 GB | 2 GB |
| > 200 | 8 GB | 4 GB |
Storage Requirements
| Component | Base | Per Pipeline | Notes |
|---|
| RocksDB | 1 GB | 100 MB - 10 GB | Depends on state size |
| Checkpoints | - | 1 GB per checkpoint | Stored in object storage |
| Artifacts | - | Varies | Stored in object storage |
Next Steps