It’s interesting isn’t it. Bit of a chicken and an egg problem. Notoriety brings traction with a community of developers, but traction with a developer community would bring notoriety.
I know Juju engineers and Product Managers are in and around this thread so really appreciate your 2 cents!
Would you mind dropping that link you found to deploying Openstack with MaaS/Juju?
Your list of things that need to be changed/built, in order to make Juju a successful* project is great, Erik - thanks for that.
*My definition of success:
Quality software.
Free, following the best practices on open source governance.
IMHO, community is not a commodity we can buy with a truck full of money and I agree with you that it depends a lot from spontaneous engagement, pro-activity and leadership from people outside Canonical. Juju is a great idea and decent implementation that has the potential to inspire people, but, to be brutally honest, I don’t have a YAML file recipe for success here and that’s where these meetups come into play.
I thought about setting up a call this week, inviting someone that has a true passion for the project and just having a chat with them. Let’s start small and decide in an open forum where we should go from there.
I second @Hybrid512 call for more exposure. The cool thing about Juju is that it creates a gigantic matrix of possibilities (app x substrate) that can be the base for 100’s of articles. I need to think how to organise that both internally and externally.
I think that many open-source projects are into this situation where they do not get as much engagement as they would wish for. There are some many different open-source projects that they just have to figure out ways to attract attention. I follow hackernews and I see everyday new mentions of amazing projects that I did not know they existed. And many of them are struggling to create a community.
Among the millions of potential users, even a niche project should be able to do well.
So, what’s going on with Juju?
The barrier of entry to start using Juju is too high. If I were to put myself in the shoes of a new user who just learned about the existence of Juju, has an idea that Juju can help with managing Internet services, what would I need to find?
I would like to see a gentle introduction to Juju. It should be a type of documentation that does not have too much technical requirements for someone to follow. If you want to setup a static website, you can launch a VPS, get a shell there, install nginx and upload the HTML files at the correct directory. If you were to improve on that, you would use configuration management, like Ansible, so that you automate a bit the process. But if you want to go one level ahead, you would use Juju with the appropriate charm for a static website and level up to application management.
I would like to see a tutorial that shows the simplest possible installation of Juju so that I can install myself without much trouble. Most likely this would be LXD using a ZFS storage pool. Juju works great with Kubernetes, but for the purposes of onboarding, LXD should suffice. Install LXD, and bootstrap Juju.
I would like to see a tutorial that shows how to setup a static website with Juju. No need to understand how to make charms, but just to demonstrate the actual use of a charm. Perhaps at the end of the tutorial, discuss that you can put charms together. Possibly, add https with a Let’s Encrypt charm. Then, add multiple websites with a reverse proxy charm.
The above set of three documents would make me have a genuine interest into trying out Juju. There are more things needed next, but that would be an adequate start for me.
I second that : attract people gently so that they can easily understand what Juju is all about.
Believe me, when you’re not “inside”, this is not that clear what Juju is and what it does.
I would also use comparisons … “Operator” is a “Kubernetized bias” that is not understandable by newcomers.
You must explain what it is and I wouldn’t hesitate to make comparisons with established competitors … let’s just simplify and say that Juju is comparable to Terraform + Ansible … but with more embedded logic and automation.
You must explain how it compares to those well know tools and how it differs.
On the other side, most successful opensource projects, appart from the “marketing” side, were successful because they offered easy and clean solutions to complex problems.
Prometheus wiped out many other metrology competitors because of its simplicity and its robustness.
Writing an Ansible playbook is extremely easy (well … unless you want to do complicated stuff but for 99% of the use cases, it is fairly easy and efficient).
Terraform offered a “de facto” standard in ressource provisionning without vendor locking.
You see … you need to pinpoint the advantages of such a solution like Juju to explain why it is better for this job that another alternative.
Let’s say Openstack … there are many ways to deploy an Openstack cluster … why would you do it with Juju and not Kolla Ansible for example ?
(I have my idea but it should be explained in the sens of the end user and not based on technical details)
First, @simos, looks like that was your first post, welcome Second, damn, some very nice suggestions!
It’s a well known caveat that in order to have any hope of building a strong community you need to lower the bar to entry as far as you can, and then lower it some more. Making it easy for people to self-serve and self-start is super important.
What you’ve got there are three crackin’ places for Juju developers to start writing more tutorials .
@simonrichardson all of those tutorials are definitely an improvement, for sure, the more that come in the better of course. @simos there’s a nice tutorial on how to contribute a tutorial if you have time for any of your ideas I don’t know much Juju but if you come up with something I’d be very happy to kick the tyres and promote it with you?
It seems what’s missing, and I think this runs parallel to what @Hybrid512 is saying, is a proper ‘on-boarding’ / ‘on-ramp’ experience. One that takes users through a super simple journey, through the most basics examples, and explains the basics in industry standard terms and the benefits in comparison to ‘things you might have heard of’.
What would you folks say would need to be incorporated into that on-ramp for new users?
Hi all, this is a really interesting discussion and some really good points made from folks. I am a great advocate of Juju and appreciate many of its strengths. However I do feel it is way too biased and restrictive.
Without going into much details, it’s really difficult to persuade any power user to use Juju if he has even the slightest need for an extra configuration parameter, not already there in the charm. I myself prefer many to use other tools (ex. kolla-ansible to deploy Openstack) just because I have the flexibility, if I want, to override the “default” or prefabricated configuration of any service.
There are many other things that prevent users appreciate Juju, especially for small-scale scenarios, but most of them are covered from the points in previous posts.
1 Like
pedroleaoc
(Pedro Leão da Cruz)
Split this topic
21
Juju user here, with big thanks to @erik-lonroth for introducing me to Juju . I tried to float the idea in my day job to use juju … but it seems everyone is in love with ansible, terraform… or azure resource manager yamls… my ambition is to use juju more and more with my personal projects… and would love to hear from others what’s going on in areas of deep learning as well as webapps/thrift-services
I think for me, coming to juju quite late… it got really hard to know what was valid info and what’s out of date… I have not even touched yet the new frameworks… nor any k8 charms… but I feel due to the influx of k8s at work… I’ll have to embrace k8s charms… and hoping I can get to use it with the clusters at work
My My private open-hardware + open-software platform with Proxmoxve, Ceph, Maas, Juju, k8s, Microk8s, Openstack, Microstack, Portainer … It is the automation of MAAS and juju that allows me to deploy all this easily…
I am not available this week. I will be in class with my engineering students, they all come with their idea on Ansible and Terraform and I will train them with practice on MAAS + JUJU + MICROK8S
For the next few weeks it will be possible.