-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
What is Juju
Juju is the Service Orchestration Solution developed by Canonical (the company behind Ubuntu).
It focused on creating relations between services instead of the single deployment of an application. Charms are the language of Juju. A Charm is a collection of scripts that details how to deploy, manage, scale up and down, and hook a piece of software to its environment.
Several charms can then be attached together in a Bundle that represents a prefered/recommended way of deploying and scaling a complete infrastructure.
Charms are open source, and distributed through the Charm Store
Benefits
For CockroachDB, adding a Charm as a deployment method would have several key benefits.
- Testing is much easier by providing autoscaling and one-click / one-liner deployments to any cloud, and bare metal deployment
- Integration made easy with hooks to several pieces of software (chaos monkeys, but also data sources and data consumers)
- When CockroachDB moves to beta and to production, easy hooks to monitoring, backup (...) solutions already in the charmstore. It will make it easy for anyone to deploy and maintain cockroachDB up & running.
Requirements & Effort
Writing a Charm can be done in any language, including adapting Puppet, Chef or Ansible. If you know how to deploy and manage an application, getting a first version can take from less than a day to three days.
If you want to dig into more details, Juju is Open Source and written in Go. You can read/fork the code of the various pieces here : https://github.com/juju
Where to start?
The best way is to start with the online documentation
Canonical also provides Charm Schools, which are 2hrs webinar training sessions to get you up to speed.