I love containers, but I&#x27;m also using jails on FreeBSD. With jails I can put a different application in each jail, give each jail it&#x27;s own network stack, firewall and ZFS filesystem. That way I can isolate each application from each other, give quotas to each container. I can turn on filesystem encryption for my database container, use ZFS snapshot and ZFS send to backup my database container. If you need to scale up your application you can snapshot the different application containers and ZFS send those containers to different servers. To update applications, you update your local copy of the container, and snapshot and send it to the production server, if something goes wrong with the update just ZFS rollback the container.<p>Then if you throw nanobsd into the mix you can create server images that are read only except for the application containers. Then you have a single server image for your application already setup, that you can just boot from or upload to some cloud service.<p>And now that FreeBSD has a 64bit linux emulator and docker ported everything just get&#x27;s better.<p>[1] NanoBSD servers: <a href="https:&#x2F;&#x2F;2010.asiabsdcon.org&#x2F;papers&#x2F;abc2010-P4A-paper.pdf" rel="nofollow">https:&#x2F;&#x2F;2010.asiabsdcon.org&#x2F;papers&#x2F;abc2010-P4A-paper.pdf</a><p>[2] NanoBSD servers:
<a href="https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;387405&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;387405&#x2F;</a><p>[3] Docker: <a href="https:&#x2F;&#x2F;wiki.freebsd.org&#x2F;Docker" rel="nofollow">https:&#x2F;&#x2F;wiki.freebsd.org&#x2F;Docker</a>