Deployment Tools for Cloud Foundry: BOSH vs. Juju Charms

by Sophia TurolJune 10, 2015
In this video, Andrei Yurkevich of Altoros overviews six deployment options for Cloud Foundry and compares them in terms of usability, features, ecosystem, etc.
Why read this?

Today's DevOps platforms are rapidly moving towards better security, resilience, and scalability. Such orchestration tools as BOSH and Juju help to meet these challenges and accelerate provisioning, monitoring, and deployment processes.


BOSH is not the only tool to simplify Cloud Foundry deployment; other options also exist. This video explains why you should give Juju Charms a try.


BOSH is all good for deploying Cloud Foundry, but quite difficult to learn. From this video, you will find out why Juju Charms are simpler and how Juju/BOSH compare with Chef, Puppet, Ansible, and Salt.

Not only BOSH, Juju is also worth trying!

Cloud Foundry is a real deal for deploying your applications: self-healing, scalable, portable, IaaS-agnostic, etc. Still, to make sure that you smoothly work your way up from development to production, you need a bit of help. Such tools as BOSH and Juju Charms are there to give you a hand.

Supervised by Pivotal, the BOSH tool chain allows for easy software versioning, packaging, and deploying in a reproducible manner. It is designed to address the four principles of modern Release Engineering:

  • identifiability
  • reproducibility
  • consistency
  • agility

While other tools—Chef, Puppet, etc.—usually can handle only one problem at a time, BOSH is aimed at totally saving the day.

The table below demonstrates the results of the five deployment tools compared (Puppet, Chef, Salt, Ansible, Juju, and BOSH) across 12 parameters dealing with deployment life-cycle management, orchestration, and configuration. So, BOSH and Juju just nailed it!



Issues with BOSH

It seems that expectations quite meet the reality. Once you feel like all your dreams have come true, there is always a bitter pill to take. In this case, it’s all about developer adoption.


It turns out that BOSH is a tough cookie. It takes time and effort to learn it, information is hard to find, there is no software-defined networking, and the ecosystem is–to some degree–limited.


What are Juju Charms?

As an alternative to BOSH, Juju Charms get into the game. So, who is behind this tool and what can it offer?

Juju is an open-source orchestration tool that allows for deploying, configuring, managing, maintaining, and scaling cloud services quickly and efficiently on public clouds, physical servers, OpenStack, and containers. The project is managed by Canonical; Juju Charms for Cloud Foundry are supervised by Canonical and Pivotal. Altoros is also actively contributing to the development of Juju Charms.

With Juju, one can push services to all of the main IaaS solutions (AWS, OpenStack, Azure, etc.) by typing a command in the console or clicking one button in the GUI. The charms can set relations between services and make necessary adjustments automatically.


When we compared five deployment tools, it turned out that Juju comes short of rolling updates only in comparison to BOSH and outplays in terms of developer adoption. Besides, Juju Charms have got issues of their own: Juju local environment is not supported, the number of service brokers is limited, etc.


Freedom of choice

Surely, both projects are rapidly evolving, new features are added, and bugs are fixed. To decide between the tools, you need to set your priorities clear. It’s quite interesting that Juju succeeds where BOSH lags—and vice versa. So, it’s up to the features you need in the first place.


To see how it works, read our series of blogs on the topic:


Juju Charms are still a "dark horse" for many Cloud Foundry devs/operators. However, this orchestration tool offers a decent alternative for those who already work with Ubuntu. In comparison to BOSH, Juju Charms are far easier to learn. Its GUI features drag-and-drop functionality that greatly simplifies creation of complex stacks. So, why not give it a try?


Want details? Watch the video!

Table of contents

  1. How does Cloud Foundry routing works? (05’23”)
  2. How to achieve faster TTM and lower TCO? (06’36”)
  3. What is BOSH? (12’31”)
  4. What features do BOSH, Juju, Puppet, Chef, Salt, and Ansible support? (18’54”)
  5. Why is manual installation a heavy burden? (20’12”)
  6. How are BOSH, Juju, Puppet, Chef, Salt, and Ansible ready for dev adoption? (21’26”)
  7. Why is BOSH not enough? (23’28”)
  8. What is Juju? (23’51”)
  9. What limitations does Juju impose? (24’20”)
  10. What is the future of the Juju project? (26’45”)
  11. BOSH vs. Juju (28’29”)



Related slides

This presentation provides a technical overview of both tools. The solutions are compared and scored across different criteria that illustrate to what extent the tools are fit for adoption, configuring, monitoring, rolling updates, etc. You will also learn about issues, limitations, and future of these deployment tools.


About the speaker

Andrei Yurkevich is CTO of Altoros. He has grown Altoros’s engineering team from zero to 300+ specialists across seven development centers around the world. Currently, he is building a portfolio of experts who bring “software assembly lines” into organizations through training, deployment, and integration of solutions offered by the Cloud Foundry ecosystem. The team is standing behind some of the world’s largest Cloud Foundry deployments.

The post is written by Sophie Turol and edited by Alex Khizhniak.