Encore's backend applications have utilized Firecracker microVMs for builds since mid-2022. Firecracker provides virtual machine isolation with container-like startup times by stripping down emulated hardware to essential Linux kernel needs. However, Firecracker relies on KVM, a Linux-specific virtualization module, making it incompatible with macOS, where most Encore engineers develop.
To allow engineers to run the build system locally on their Macs while maintaining Firecracker in production, Encore developed "crackling." This single microVM API orchestrates Firecracker on Linux and Apple's native hypervisor on macOS. Implementing this required a significant effort to rebuild the Linux image toolchain to function correctly on macOS.
Before "crackling," Encore engineers accessed a shared build machine via SSH. This setup involved a script to onboard new users, configure their environment, and manage VM images and binaries. Updates to the environment required a second script to transfer cross-compiled binaries and manage image conversions, as Firecracker boots block devices while Docker produces layers.
A key challenge was converting Docker layers into a bootable block device for Firecracker. Encore developed a custom conversion tool, as no existing solution was found. This tool operates partially on the developer's laptop and partially over SSH, facilitating the necessary image format transformation.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Encore developed "crackling," a new microVM API that allows their Firecracker-based backend build system to run on Apple Silicon Macs, addressing the incompatibility of Firecracker with macOS. This development enables Encore engineers to run their build system locally on their laptops, improving the development workflow.