First came Puppet, then Ansible, now Bolt.

Puppet created ‘infrastructure as code’.  Whilst CFEngine was already in the market in 2009, Puppet made it a mainstream term within IT. Puppet is used by 75 of the Fortune 100, as well as more widely by over 40,000 companies worldwide.

Puppet uses a declarative language, as opposed to procedural languages like those used in scripts or tools like Ansible. Being declarative allows organisations such as a Walmart, Twitter and CERN to make changes and report on those changes on a huge scale.

What really differentiates Puppet is that it’s state aware, meaning Puppet is able to tell you a lot about your system’s before any changes are actually made to them.  Because Puppet is declarative, it only changes settings that have drifted away from the defined desired state, which differs massively from simply running a script from top to bottom.  Just relying on scripting is too inefficient, because at scale it is too resource intensive.

In 2013, Ansible captured mindshare with its agentless approach.  Ansible allowed admins and devs to run one-off changes at scale via SSH or WinRM.  With the advent of cloud and immutable infrastructure, Ansible’s capabilities were seen to play well in this space, however this approach can cause chaos if dev and ops aren’t working together and tools with capabilities like Puppet’s are not being used to help manage these systems in a programmatic way.  For example, if operations are managing security settings in the OS, and developers are changing these settings through scripting tools which are run from their laptop in order to get their applications to work, configuration drift occurs, which can potentially lead to outages.

Puppet originally always required an agent, with the agent telling Puppet everything about a system before any changes are made to it.  Today, tools like Puppet Bolt compliment the original agent-based Puppet, by also allowing agentless, task based operations.

Bolt is an open source project that not only allows the simple execution of tasks, but also allows its users to reuse any existing Puppet code, Ansible code, bash scripts, or whatever content that has already been written to manage systems, or is being used to deploy applications.  Bolt allows teams to manage these systems and applications in an ad-hoc fashion via SSH or WinRM. The real benefit of using Bolt, is that unlike tools that are solely agentless based, Puppet Enterprise can step in to provide compliance and security reporting when there is a need to do so.

Bolt is agentless, super fast, simple to use and can execute content from multiple sources. When you require systematic or programmatic automation at scale, you can quickly bring this under control with Puppet Enterprise.

Finally, a platform that meets you where you are! Devs can quickly and simply execute tasks without breaking production systems or jeopardising the regulatory requirements every enterprise has to adhere to.

Download and install Bolt:



Blog post by Robert Finn, Vice President, EMEA, Puppet