Your submission was sent successfully! Close

Juju 2.0 and LXD opens a whole new dimension to developing BI apps


on 1 March 2016

I’ve been itching to write this post since I got back from Config Mgmt Camp in Gent a few weeks ago.

The developers over at Canonical are gearing up to launch Juju 2.0. Maybe not yet a household name in the devops land but it is certainly making waves and with a company like Canonical and especially Mark Shuttleworth’ watchful eye leading the way, it is heading in the right direction….

Anyway, I digressed, I was wanting to explain how it can help data people like myself when it comes to building data platforms. Juju 1.x has an understanding of “local” deployment models, where I say “hey Juju I want a MySQL server and HA Proxy installed” and it will go away and do it. That’s great, but at the same time I could have used apt-get to do it for me without learning Juju. Juju 2.0 takes development to the container age. Canonical have also been helping drive the LXC/LXD container technology and this comes storming into Juju 2.0 in a big way. If I want to build a virtual platform on my laptop, or on a development server or on some cloud server, I can now do that using the LXD provider in Juju 2.0.

This is great for developers because it means I can, for example, test a cluster of Pentaho Data Integration servers or I can test Saiku’s clustering capabilities and fail over. Name a workload, you can simulate it! All from my laptop or from a development server, without spinning up and paying for 5 cloud servers that I don’t really need. Using containers of course means you keep the separation, you can install 3 MySQL servers and have master slave replication even though they are all running on the same server, in production that makes little sense, but in development, this makes a lot of sense.

As of today the GUI doesn’t run over 2.0 so this video has no flashy graphics, but this will arrive over the next day or so, but the GUI doesn’t offer any extra functionality apart from it being more visual, so, as I’m impatient I knocked up a video this afternoon, demonstrating how easy it is to setup an 8 node Hadoop/Flume/Spark cluster on my development server, tear it down, and install a scalable mediawiki cluster… as you do. Okay, so you may not do that, but you now have the ability to do so, if the want or need arises, of course the possibilities are endless, and when you’re done, you tear it all down and you’re back to a nice clean development server.

Of course to do all of this you need the relevant “charms” to deploy onto Juju, the charm store is rapidly expanding and in a future instalment we’ll take a look at charm development and deployment for personal workloads.

To find out more about Juju check out the Juju website. If you require help and support setting up Juju for your own development or production needs, let us know!

So without further ado, here is the video I put together this afternoon:

Original article

About the author

Tom Barber is the founder and technical director of, a consulting company specialising in the Saiku Analytics platform. His weekly duties include BI consulting, Scala & Java programming and tinkering with System Administration frameworks. In his spare time Tom is a regular blogger and open source committer. You can read more about Tom on the blog.

Ubuntu cloud

Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.

Newsletter signup

Select topics you're
interested in

In submitting this form, I confirm that I have read and agree to Canonical's Privacy Notice and Privacy Policy.

Related posts

Join us at Operator Day, hosted by Canonical at Kubecon NA 2022

The 5th Operator Day is coming up. It will take place at KubeCon North America 2022. This edition will center on cases where software operators have been...

Using LXD to host your own ERP, cost-effectively

Are you looking to host your own ERP cost-effectively, or perhaps evaluating solutions to host other types of applications for your small business? Learn how...

Best practices to publish open-source software operators

Running or operating applications requires several tasks throughout their lifecycle: scaling instances, checking the health, integrating with other...