During the height of the OMG Ubuntu! transition, it dawned on my that Juju was missing one key feature: an interactive front end. Eight months ago, while at POSSCON 2012 I started working on what I called “Juca” at the time, a project I eventually renamed to Amulet. Amulet is a SaaS that is designed to provide an always available Juju UI for admins and users to manage.
The idea was simple, and there was demand for it. I then spent the next eight months scrapping, rebuilding, and scrapping again until I was satisfied with the progress and overall functionality. During this time, I had heard rumors that Juju was building a UI. This news made my heart sink. How can I offer a SaaS solution if Juju comes with a UI out of the box? I was relieved to hear that it would probably be a UI that was available on the bootstrap node, making it only able to manage the current deployed environment. Amulet operates by managing multiple environments per user. I decided to press on. With UDS fast approaching, I increased work on the project, including splitting off the library I created to Github as a sign of good will that I eventually intended on releasing more portions open source. My goal was to show off the work so far and gain feedback from Juju developers and other charmers, eventually releasing a private beta shortly after UDS.
Then Mark Shuttleworth broke my heart with the spectacular demo of the Juju GUI at ODS. Not only was the Juju GUI far more advanced than I predicted, it was better than what I had produced, and it was available right now. The entire Juju GUI team has done a spectacular job, their interface is innovative, easy to use, and makes managing Juju environments very simple. It’s another lesson learned as I continue my pursuits with my company, Ondina. First-mover advantage is a big one. This hurts in other ways, however. I wish I would have known about this, as I would have rather spent the past few months contributing to this project rather than pursuing my own. I’m excited to see what will come out of the Skunkworks project, and I believe this very issue could have been avoided if this was already in place, so I have hope for the future.
I’m not sure right now what the future holds for Amulet. In the next few days I’ll be writing more in depth about the components I built and how I overcame some of the obstacles of building a “real-time” web-based Juju management system. For now, here are some screenshots of the application running.
Bonus awkward video of me capturing the interface back in July. This was prior to the new queuing service and interface buttons which provide a quicker response time.