Skip to main content
Understanding how kombify Simulate’s simulation engines work helps you choose the right approach for your testing needs and get the most realistic results.

Engine types

kombify Simulate supports five simulation engines, each with different trade-offs between realism, speed, and resource usage.

Docker (Default)

The default engine uses Docker containers that behave like lightweight virtual machines. Each simulated node gets:
  • A full Linux userspace (Ubuntu-based)
  • SSH access on dedicated ports (30000-39999)
  • Realistic networking with configurable subnets
  • Systemd-like service management
Best for: Quick iteration, CI/CD pipelines, most testing scenarios.

Incus

Incus provides full system containers with real systemd init. Higher fidelity than Docker containers, closer to real VM behavior. Best for: Testing systemd-dependent configurations, realistic OS simulation.

QEMU

Full virtual machine simulation using QEMU/KVM. Provides hardware-level fidelity with dedicated kernels. Best for: Hardware-level testing, kernel-dependent configurations, GPU passthrough testing.

Azure

Creates real Azure VMs for cloud-fidelity testing. Requires Azure credentials. Best for: Testing cloud deployments, validating Azure-specific configurations.

DigitalOcean

Creates real DigitalOcean Droplets for cloud-fidelity testing. Requires DigitalOcean API token. Best for: Testing cloud deployments, validating production-like environments.

Engine comparison

EngineFidelitySpeedCostUse case
DockerMediumFastFreeDevelopment, CI/CD
IncusHighFastFreeSystem-level testing
QEMUVery HighSlowFreeHardware-level testing
AzureProductionMediumPaidCloud validation
DigitalOceanProductionMediumPaidCloud validation
Set the engine via the KOMBISIM_ENGINE environment variable or API parameter.

How simulation differs from production

Simulated nodes are not identical to production servers. Key differences to be aware of:
AspectSimulationProduction
KernelShared host kernelDedicated kernel
PerformanceLimited by container resourcesFull hardware access
NetworkingDocker bridge networkPhysical/VLAN networking
StorageEphemeral by defaultPersistent disks
Hardware accessNo direct hardwareFull hardware access

The promotion path

Once you have validated a configuration in simulation, you can promote it to production: The same kombination.yaml that worked in simulation is used for production deployment — no configuration changes needed.

Resource requirements

Simulated NodesRAMCPUDisk
1-2 nodes2 GB2 cores5 GB
3-5 nodes4 GB4 cores10 GB
6+ nodes8 GB+4+ cores20 GB+

Further reading

Simulation-first approach

Why testing before deploying is a core kombify principle

Using templates

Pre-built simulation templates for common scenarios