CFEngine automation scripting frameworks.


CFEngine was developed by Mark Burgess in 1993. It is one of the oldest automation
scripting frameworks.

Features of CFEngine

• CFEngine manages the complete life cycle of an IT infrastructure. It
has a powerful language and tools to define the desired state of your
infrastructure, irrespective of whether it is a single server or a complex,
global network with thousands of servers, and storage and network devices.

• It comprises of a powerful agent technology, which ensures that the state
of the processes are continuously maintained. It basically works on three
principles: deine, automate, and verify.

• CFEngine has automated software distribution, change management, copy
configuration, inventory/asset management, job initiation, tracking and
execution. It also has automated network provisioning, remote configuration,
resource initialization, resource shut down and service activation, fault
management, accounting, and allocation management capability of resources.

• The prominent features of CFEngine are security and compliance of
mission-critical applications and services. It is built upon well-established
theory and high-quality engineering practices. CFEngine has an outstanding
security record over the past 19 years. Now, we are going to see some
advance automation tools.


Puppet

Puppet is a well-known automation framework developed by Puppet Labs in 2005.
The features of Puppet are as follows:

• A Puppet framework has different components such as Collective, Puppet
Dashboard, Puppet DB, Hiera, and Facter.

• A Puppet framework is used to provide continuous automation and
orchestration. It has solved many real-time integration challenges with
different types of server deployment.

• With the help of Puppet, we can easily automate repetitive talks, quickly
adapt to changes, and scale up servers on demand. A Puppet framework
is also well suited to cloud deployment.

• Puppet uses a declarative model-based approach for IT automation. It
has four major stages: deine, simulate, enforce, and report. The Puppet
community supports reusable configuration modules. It has more than
1,000 prebuilt and freely downloadable configuration modules.

• If we have a speciic requirement than using Puppet's configuration
language, we can build our own custom module. After deining our
own custom module, we can reuse it for any type of requirement such
as physical, virtual, or cloud.

Bcfg2

Bcfg2 is a configuration management tool developed by Narayan Desai at Argonne
National Laboratory. He launched its irst release in 2008. After some more releases,
the latest stable version was launched in July 2013.

The features of Bcfg2 are as follows:

• Bcfg2 has developed in such way that it can provide full support and clear
understanding of specification and current states of client.

• It is designed in a way that it appropriately deals with manual system
modifications.

 If we talk about generations in configuration management tools, it is of
the ifth generation and was developed in the Mathematics and Computer
Science division of Argonne National Laboratory.

• Bcfg2 enables system administrators to produce a consistent, reproducible,
and representable description of their environment. It also offers visualization
and reporting tools to support day-to-day administrative tasks.

Cobbler

Cobbler is a Linux-based installation server that speeds up the setup of installation
of network environments. It was developed in 2008 by some open source community
members. Initially, it supported Red Hat Linux, but later on, it was represented
as a part of the Fedora project. Since January 2011, Cobbler has been packaged
with Ubuntu.

The features of Cobbler are as follows:

• Cobbler is a Linux installation server, which is designed for fast setups of
installation environments in network connectivity. It gives you the facility
to connect and automate many Linux tasks together, which in return gives
you the ease of not jumping along the commands and applications while
configuring new systems. Also, sometimes, it is useful to change the
existing ones.

• Cobbler's easy and simple methods to write the commands help in
system configuration designing. Network installs can be configured for
reinstallations, media-based net-installs, PXE, and virtualized installs
(It also supports XEN, KVM, and some variants of VMware.)

• As an option, Cobbler can also help to manage DNS, DHCP, and yum
package mirroring infrastructure. In this respect, it is a more general
automation application rather than an application that just deals with
installations.

• After the initial setup, newly registered users can use setup steps as in the
command (Cobbler check and Cobbler import). This leads you to a pretty
good approach for initialization.

• Cobbler offers many features like reduced memory consumption, built-in
configuration management system and it integrates with systems such
as Pallet.

• Cobbler has a web interface with a command-line interface and several API
access options. New users can start with a web application after performing
the initial setup steps on the command line: Cobbler check and Cobbler
import. This will give the user a suitable idea of all the available properties.
All the features (advanced) need not be understood at the same time, they
can be learned over time as the need for them arises.

• Cobbler consumes less memory as it is a very small application, that is, it
has 15,000 lines of Python code. It works ine for all level installations. It is
functional and valuable in all the enterprises as it has numerous properties
and features. It gives you the lexibility to complete the work in a small span
of time. Also, it saves time for all the manual tasks that are repeated.


Comments