I run LXD on some machines at work and overall I love it.
Think of it as VM hosting, but very little overhead thanks to the shared kernel. (But can for some reason now also be used to manage KVM VM's)
Generally I use it for two use-cases, where I need to do minimal work:
* Giving co-workers a container they can use to host small utilities on a static IP to share, instead of them hosting it on their own desktop. Think compiler-explorer ect.
* Giving co-workers access to our 64 core ThreadRipper for heavy workloads, sandboxed from one another.
When does the sandboxing become useful between co-workers? We have a bunch of powerful workstations but we just ssh in and use them. Does this facilitate users installing packages system-wide in their sandbox? Honest question, just trying to work out what we might be missing wit our historic setup.
* Giving co-workers a container they can use to host small utilities on a static IP to share, instead of them hosting it on their own desktop. Think compiler-explorer ect.
* Giving co-workers access to our 64 core ThreadRipper for heavy workloads, sandboxed from one another.
But a mandatory "F* Snap" needs to be said.