Kamal: Reason behind choosing Docker instead micro VMs (like firecracker)
github.com
github.com
If you’re a hosting provider like Fly or AWS, micro VMs are an important primitive for those reasons. But if you’re a company building out a cluster to run your own apps, you are probably fine to share a Linux kernel version and reign in or relocate noisy neighbors. After all you will probably use the same base Docker container as a starting point for your similar, homogenous apps. If you’re sharing base layers, why not share the kernel at runtime?
As long doing conjecture, I would guess it's because the team at Basecamp/37 Signals already had significant experience with Docker, it's much more widely used and understood in the industry, and it was a simpler approach.
Here's a technical blog from 37 Signals themselves: https://dev.37signals.com/bringing-our-apps-back-home/