“It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.” — Charles Darwin

“DevOps is a set of practice that seeks to reduce the gap between software development and software operation.”

Use Cloud and DevOps to build immutable infrastructure by agile development using collaborative open source tools:
-Terraform or Cloud Formation for infrastructure provisioning and scaling.
-Packer for building server images or containers using:
-chef cookbooks, puppet modules or ansible playbooks to build servers.

Library Management Chef Puppet Ansible

Operating Systems have package managers (well linux does -)) so software can be install from a remote location i.e.
    yum install apache.
Languages have packaging formats (e.g. Java - jar files, Ruby gems) and some have package managers (e.g. Ruby - gem command) or ways to use the package in builds (e.g. Java - Maven).

So it is not suprising that ways to reuse and remotely install ansible roles, chef cookbooks and Puppet modules have developed. The tools automatically find ansible roles on Ansible Galaxy, chef cookbooks on the Chef community site and puppet modules on the Puppet Forge site as well as source management systems like github. All allow anyone to signup and contribute.

    Librarian Ansible is the most common tool used for Ansible.
    Librarian Puppet is the most common tool used for Puppet.
    Berkshelf is the most common tool for chef.

So the development of cookbooks/modules is now separated into:
    library cookbooks/modules/roles that are specified to Berkshelf or Librarian Puppet/Ansible.
    application cookbooks/modules/roles that are written in the repository and call the library cookbooks.
typically application cookbooks/modules/roles have a prefix like
to create a unique name and to identify them as application cookbooks/modules/roles.

Test Kitchen supports this methodology
see a sample puppet repo at:
see a sample chef repo at:
see a sample ansible repo at:

Berkshelf References
BERKS! – Simplifying Chef Solo Cookbook Management with Berkshelf Chef Repository Berkshelf Conversion
How to use Berkshelf to manage Organization repo like the Librarian-chef does?
Getting Started Writing Chef Cookbooks the Berkshelf Way, Part 1
Moving to individual cookbooks
The Berkshelf Way

Librarian Puppet References
Managing Puppet modules with librarian-puppet


Post a Comment