Firecracker

Definition

Firecracker is a lightweight virtualization technology designed to run secure, multi-tenant container workloads. It is optimized for creating and managing microVMs, which are minimal virtual machines that provide strong isolation and fast startup times. Firecracker is particularly suited for serverless computing environments and is used by services like AWS Lambda and AWS Fargate to efficiently manage resources.

Secure Settings Example

{
  "kernel_image_path": "/path/to/kernel",
  "rootfs": {
    "path": "/path/to/rootfs",
    "read_only": true
  },
  "machine_config": {
    "vcpu_count": 2,
    "mem_size_mib": 512,
    "ht_enabled": false
  },
  "network_interfaces": [
    {
      "iface_id": "eth0",
      "host_dev_name": "tap0",
      "allow_mmds_requests": false
    }
  ]
}

Insecure Settings Example

{
  "kernel_image_path": "/path/to/kernel",
  "rootfs": {
    "path": "/path/to/rootfs",
    "read_only": false
  },
  "machine_config": {
    "vcpu_count": 4,
    "mem_size_mib": 1024,
    "ht_enabled": true
  },
  "network_interfaces": [
    {
      "iface_id": "eth0",
      "host_dev_name": "tap0",
      "allow_mmds_requests": true
    }
  ]
}