---
title: Diving into Juju
description: In my last post, I introduced you to Juju and talked about how it could
  help you. Now I’d like to walk you through some real world examples of Juju in action.
  Workloads Bundles are used to represent workloads. Bundles can be simple, like the
  WordPress example in the previous post, or complex. OpenStack If  […]
url: https://canonical.com/blog/diving-into-juju?format=md
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[Adam Israel](https://canonical.com/blog/author/aisrael "More about Adam Israel")

24 November 2015

# Diving into Juju

[containers](https://canonical.com/blog/tag/containers)
[docker](https://canonical.com/blog/tag/docker)
[Juju](https://canonical.com/blog/tag/juju)
[LXD](https://canonical.com/blog/tag/lxd)
[planetubuntu](https://canonical.com/blog/tag/planetubuntu)

---

Share the article

In my last post, I introduced you to Juju and talked about how it could help you. Now I’d like to walk you through some real world examples of Juju in action.

## Workloads

Bundles are used to represent workloads. Bundles can be simple, like the WordPress example in the previous post, or complex.

## OpenStack

If you’re not familiar with OpenStack, it is a collection of services for managing a cloud computing platform. Think Infrastructure as a Service (IAAS).

I’ve heard horror stories from people who’ve spent months trying to deploy and configure OpenStack. Several different tools for automating an OpenStack Deployment have been developed, and this video from the October 2015 OpenStack Summit compares them (with Juju a strong favorite):

How easy is it to [install OpenStack](https://jujucharms.com/openstack)? It’s this easy as this:

```
$ juju quickstart openstack-base
```

Sit back and wait, and soon you’ll have an OpenStack environment with Keystone, Glance, Ceph, Nova-compute and more ready for testing.

## Big Data

This is the area I’m personally most excited about. Big Data solutions are all aimed at taking some of the complexity out of analysing huge datasets.

The base of these workloads is Apache Hadoop, bundled with tools like mapreduce, Tez, Hive, Pig and Storm. Drink from the Twitter firehose with [Flume](https://jujucharms.com/apache-flume-twitter/trusty/3). Crunch [Open Data](https://en.wikipedia.org/wiki/Open_data) from your favorite city or government to spot trends in voter turnout or track neighborhood gentrification or crime rates.

## Containers

Containers are the new hot thing, but there’s no reason why you can’t use Juju to orchestrate the deployment of them. [Docker](http://blog.dasroot.net/2015-charming-with-docker.html)? No problem. [Kubernetes](https://insights.ubuntu.com/2015/07/30/juju-kubernetes-the-power-of-components/)? Juju does that, too.

There are advantages to containerizing your application. It gives you a nice layer of isolation, and the addition of container networking with [Flannel](http://blog.dasroot.net/container-networking-with-flannel.html) makes it even more powerful.

Juju steps in to compliment the benefits of a container by offering a way to manage and scale them in the cloud. As a developer, you can write a dockerfile to launch your application, and use the Docker charm to deploy it.

## Things at scale

For a typical development workflow, you may only need the bare minimum of machines to run your application. Once you deploy to the cloud for production use, you’re going to need the ability to scale your application.

For example, if your database is running slow, you can easily add scale up:

```
juju add-unit mysql -n 3
```

This would add three new units to MySQL and configure replication and failover, things that are complicated and often fragile to do by hand.

## Benchmarking

The cloud offers a dizzying array of hardware options. Spinning rust or SSD. Lots of memory, or CPU, or both. 1 or 10 Gigabit networking. You can speculate about which options are best suited for your application but even the most well-informed of guesses can be wrong when put to practice.

Benchmarking provides the ability to exercise a service in order to evaluate its performance, and collect hardware and software statistics to monitor how your workload is performing. Maybe you want to test your database under load, or stress your web application, or identify potential bottlenecks. Could it be disk or network I/O slowing you down? Is it poorly optimized database queries? This is the tool you’ll want to use to answer those questions.

Workloads are complex things, with many moving parts. Like Hydra, bottlenecks are a shifting target; strike down one and two more rise to take it’s place.

In order to tune workloads, I’ve gone hunting for blog posts or white papers showing best practices for the services I use. I’m often frustrated, though, because all the pretty graphs in the world don’t help me if I can’t replicate the results. It leads to a trust issue; sure, it ran fast for you, but how do I recreate it?

Benchmarking’s focus on repeatable, reliable testing means that you can repeat benchmarks over and over again and expect to see similar results. You can then make adjustments to your hardware or software, repeat the benchmark and compare the results.

That effort can then be distilled into best practices that anyone using or deploying a service can benefit from.

## Conclusions

Juju is a robust devops tool, reducing the complexity of cloud development and orchestration. It’s growing community of users and contributors, including IBM, Intel, Microsoft, Cisco and China Telecom means it’s going to be around for a long time.

Test drive Juju on [jujucharms.com](http://demo.jujucharms.com "Juju Charms")

[Read original article](https://www.packtpub.com/books/content/diving-juju "Original article")

## Sign up for our newsletter

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/dataprivacy).

Sign up

## Share on

---

## Related posts

[### Ubuntu Server: a platform made for enterprise scale](https://canonical.com/blog/ubuntu-server-a-platform-made-for-enterprise-scale)

A platform is an environment that allows software to run smoothly across the infrastructure, runtime, and application layers. The key word there is “smoothly”: a good platform...

[Rhys Knipe](https://canonical.com/blog/author/rhysknipe)

7 July 2026

[### Canonical partners with Snyk for scanning chiseled Ubuntu containers](https://canonical.com/blog/canonical-partners-with-snyk-for-scanning-chiseled-ubuntu-containers)

Canonical, the publisher of Ubuntu, is pleased to announce a new partnership with developer-focused cybersecurity company Snyk. Snyk Container, Snyk’s container security...

[Canonical](https://canonical.com/blog/author/canonical)

20 March 2026

[### Introducing MicroCloud Cluster Manager](https://canonical.com/blog/introducing-microcloud-cluster-manager)

Canonical introduces the beta release of MicroCloud Cluster Manager, a new way to discover, organize, and operate your MicroCloud environments from a single, unified interface.

[Miona Aleksic](https://canonical.com/blog/author/mionaalex)

20 March 2026

[### Deploy your Spring Boot application to production](https://canonical.com/blog/deploy-spring-application-to-production)

In this article we walk through the steps required to deploy a Spring Boot application to production using Juju and Kubernetes. The goal is to showcase the integration of the...

[Javier de la Puente](https://canonical.com/blog/author/javierdelapuente)

13 January 2026
