Tim McNamara
on 11 February 2020
DevOps tools in 2020: Why consider Juju?
Many DevOps tools struggle as deployments change. Juju excels.
2020 heralds a decade for a divided technology industry. Software delivery is diversifying. Complexity is increasing. Teams are looking to make use of new approaches such as serverless and split large applications into microservices. They also need to retain their existing applications.
Reasons for DevOps professionals to learn Juju
Save money on your cloud bill
Juju enables your team to stick to vanilla cloud offers to achieve the same level of convenience that hosted databases, such as Redis, without incurring the extra expense. Yahoo! Japan has used Juju to host a private cloud with 1PB storage.
- [Tutorial] Deploy a Redis cluster on Ubuntu Server at any scale
- [Case study] Yahoo! Japan builds their IaaS environment with Canonical
Use the same tool on day N as day 1
Many DevOps tools can deploy software but they struggle to adapt to changes. Configuration management tools do not scale well when complexity increases. They might suit a single provider or a fixed set of requirements. Juju is adaptive as business needs change. For example, Absolunet is able to use the same tools to deploy proof-of-concept demos for sales pitches, then turn those into robust production sites with the same tools.
- [Case study] Web application development with Juju charms: an interview with Marc André Audet from Absolunet
Reclaim simplicity
LAMP stack deployment was easy. Today’s applications are harder to manage. Juju avoids additional complexity as your backend services change. Instead it abstracts the entire software deployment and its operations. Adding logging capabilities to your deployment is as simple as executing three commands.
First class containers
Container-based workloads are becoming more prevalent. Juju treats containers as first class citizens. It’s easy to deploy and maintain applications within Kubernetes, or to directly provision LXD or KVM containers.
Always optimal configuration
Applications deployed with Juju are never misconfigured, irrespective of their scale or hosting environment. Juju relations allow applications to automatically apply and update their configuration. As an application’s scale changes, so too does the application’s configuration.
- [Whitepaper] Keep up with evolving software
Use end-to-end encryption within your cluster
It is standard practice to encrypt communications between operators and machines managed by a DevOps tool. Juju goes further. It sets up a private Certificate Authority so that all communication between units and applications via relations through the cluster is also encrypted end-to-end.
- [Article] Certificates and Trust Management
Higher-level thinking
Juju supports your team’s effort to model its software deployment. When describing your stack to your colleagues, it’s common to create a drawing on a whiteboard with boxes and lines between them. Juju enables a transition from this drawing into a real deployment, irrespective of the underlying complexity.
- [Case study] Data Ops at petabyte scale
Multi-cloud and hybrid-cloud by design
You choose how to run your business. Your tooling should not dictate your system’s architecture. Juju is able to adapt to your preferences whether you decide to use a single host, multiple clouds or hybrid-cloud solution. Historically, multi- and hybrid-cloud environments implied a significantly higher mental and technical overhead. With Juju, the technical overhead is eliminated and the mental overhead is kept constant.
- [Discussion] Feature Highlight: multi-cloud controller
Use battle-hardened software
Canonical, the company behind Ubuntu, builds Juju. Canonical continually developed Juju since 2012. Every release has incorporated experience gathered from the field. Juju is the DevOps tool behind all of Canonical’s products.
Next Steps
Follow the Getting Started with Juju tutorial or ask any questions on the community Discourse forum.