I feel that the LXD team is sometimes too eager to add features to LXD. The response to addressing issues is excellent. Yet there could be some improvement in explaining certain significant additions to LXD. I discuss a couple of major additions to LXD below.
In July 2022, the S3 API was introduced. I couldn’t understand how it fit into LXD. The “why” that was mentioned was “feature parity with most public clouds and so a feature that workloads may come to expect.” The forum topic jumped immediately into the technical specifications, the “what”. Even though I wanted to ask “what does this have to do with containers”, I refrained, because the technical specifications were too much technical detail from me. Perhaps it would be better to discuss the “why” first, and then move into the technical specifications.
I recently tried the S3 API. I’m glad I did, but now that I understand how it works, I still don’t see why it is part of LXD. It seems that it simply piggy backs into the LXD client/server framework. It has nothing to do with containers. It uses some of the storage facilities of LXD, but is that enough justification for adding it in? Couldn’t it just as easily be a separate product? A separate snap? It is mostly a wrapper for other products anyway.
The reason of “feature parity with most public clouds” could be explained better. Is the roadmap of LXD to offer features to build public clouds? Is there going to be an LXD DNS service, where I can define and serve DNS zones for my domains? How about an LXD email service that sends and receives mail on behalf of containers? Is there a plan for LXD to be able to manage docker/podman containers?
In 2019, LXD virtual machines were introduced. At first I was skeptical. I thought, why is the LXD team spending resources on VMs, instead of making containers better? Yet, I now think that it was the right decision. I tried using qemu and kvm without LXD and I gave up. LXD made managing virtual machines almost as easy as containers, and I now use them.
I don’t know about a “consensus process” but discussions and presentation of the roadmap with less technical focus would help knowing what to expect and would allow us to give more feedback on the direction of LXD.