Juju comes with ready-made solutions for everything you need
Charms are the code that defines a service — a charm contains all the logic you need to deploy, integrate, scale and expose the service to the outside world. Made by domain experts in any language, including ansible, puppet and chef.
Bundles of charms can be created to represent groups of services and relationships. Bundles enable you to move your service from cloud to cloud or from test, staging and production easily. Bundles can also be shared easily as yaml fles to simplify architecture collaboration.
Reuse charms coded by others or write your own in any language
Creating new charms is easy. Charms can be written in your choice of language and adapting existing scripts is straightforward. You can keep the new charms private, or share them back with the community.
Easily create your own charms using puppet, chef, docker or any other
configuration management assets.