Agree we are in an awkward place. On the one hand, charms clearly defined the idea of ‘portable packages of operations code’, on the other hand, the Kubernetes community has adopted the term ‘operator’ for the same thing (when it is a container on K8s operating other containers on K8s).
For Juju people, the term charm is nice and short and distinctive. For Kubernetes people the question is ‘yes but do you have operators?’
Because Kubernetes has so much of the buzz, I felt it was a good idea to adopt the terminology from there. To be clear, I don’t like it much, it’s a long word, and explaining and operator to a telco operator is excruciating, but there we are.
I tried using the term ‘charmed operator’ to distinguish between the package (the charm) and the concept (the operator pattern in K8s-speak). But clearly that was not very successful.
Right now, our focus is on iterating on the charms-on-k8s development experience. I think with 2.9 with have the key elements well described, however there is a lot of new work in there (talking to the Charmhub by default, using snap-style revisions and channels, placing charms in sidecar containers inside the workload pod, and more). All of that makes me feel that we need to make some fresh hello-world charms that exploit that cleaner view of juju-on-k8s and then document, and tutorialise, that story.
One of the very good results of that work is that writing a charm for use on K8s and machines becomes much, much easier. We can really unify the worldview for people who care about both machine-based and K8s-based operations. And it seems to be coming together very tastefully.
So in short, I want to acknowledge the messiness of naming, and make the case that we all benefit if we can truly capture the zeitgeist of container-based workloads, given the growth in interest there. It would be tragic if we had all the right ideas, but people didn’t look at it because they got told by there existing vendor that they ‘need operators’.