10 BEST Software Configuration Management Tools (SCM Tools in 2018)

10 Most Popular SCM Tools (Software Configuration Management Tools):

In Software Engineering Software Configuration Management is the task of tracking and controlling changes in the software part of the larger disciplinary field of Configuration Management.

Software Configuration Management practices include vision controls in the establishment of baselines. If something goes wrong Software Configuration Management can determine what was changed and who changed it.

software configuration management tools

Software Configuration Management

The goals of Software Configuration Management are generally Configuration, Identification, Configuration idioms and baselines, configuration control, implementing a control change process.

This is usually achieved by setting up a change control board whose primary function is to approve or reject all change request that is sent against any baseline. Configuration status accounting, reporting and recording all the necessary information on the status of the development process.

1.CONFIGURATION MANAGEMENT

Software Configuration Management Features

Enforcement: With enforcement feature executing daily ensures that the system is configured to the desired state.

Cooperating Enablement: This feature helps to make the change configuration throughout the infrastructure with one change.

Version Control Friendly: With this feature, the user can take their choice of version for their work.

Enable Change Control Processes: As Software Configuration Management tools are version control and textual friendly we can make changes in code. Changes can be made as a merge request and send for review.

******************************

=> Contact us to suggest your listing here

******************************

Best Software Configuration Management Tools (SCM Tools)

#1) CFEngine Configuration Tool

1.CF Engine

CFEngine is basically a configuration management tool. Its sole purpose is to provide automation configuration for huge computer systems, inclusive of the unified management of servers, systems, users, embedded networked devices, mobile devices, and systems.

Developed By: Mark Burgess, Northern

Type: Open Source

Initial Release: 1993

Stable Release: 3.12

Operating System: Cross Platform, UNIX, Windows

Company: Europe and USA

Adoption: >10,000,000 servers, >10,000 companies, >100 countries

Users: Intel, AT&T, LinkedIn, Amazon, State Farm, SalesForce etc.

Revenue: Approx. $3.3 Million

Employees: Around 100 employees working currently

Official Website: Click here=>  CFEngine

Features of CFEngine:

  • Configuration Management.
  • Process Management
  • Task Management
  • Patch Management

Why CFEngine?

Without Automation:

  • 100 servers per sysadmin
  • 50 sysadmins
  • 60k salary * 50 = 3Million

CFEngine:

  • 1000 servers per sysadmin
  • 5 sysadmins
  • 180k salary * 5 = 900k

Saving: 2.1 Million worth is saved.

Pros:

  • High Availability
  • Highly Scalable (5000 agents per HubHub)
  • Highly Secure (20 years with outstanding security record)
  • Extremely cheap on resources and fast(CPU, Memory)

Cons:

  • Documentation is very difficult to understand where to start the new installation.
  • Configuration is very complex.
  • Not good with file integrity checkers.

Price:

As open-source origins, CFEngine has a free open-source version available, but after 25 free nodes, the price is unspecified.

CFEngine Tool images:

2. CFEngine Configuration2.2. CFEngine Configuration

4Refer CFEngine Tool images

#2) Puppet Configuration Tool

5puppet

Puppet is an open-source pull software configuration management tool. It is used for deploying, configuring and managing servers. It uses a master-slave architecture.

Configurations are pulled from the master by the nodes.

6. How puppet works

Developed By: Luke Kanies.

Type: Open Source

Head Quarters: Portland, USA

Initial Release: 2005

Stable Release: 5.5.3 version

Based on Language: C++ and Clojure

Operating Systems: Linux, Unix, Windows

Price: Puppet Enterprise is free for up to 10 nodes. Standard pricing starts at $120 per node.

  1. Open source Version Community support completely free.
  2. Enterprise Version: Depends on size of enterprise.

Annual Revenue: Approx. $100 Million

Employees: Around 600 employees working

Users: JP Morgan Chase, OnxyPoint, CBSButler, Heart Land, AT&T, Smart School etc.

Official Website: Click here=> Puppet SCM

Why should Puppet be chosen?

  • Easy to Learn Programming Language DSL
  • It is open source
  • It has good community support

Prominent Features of Puppet Configuration Management Tool:

  • Reporting and Compliance i.e. gain real-time visibility into the state of your infrastructure.
  • Event Inspection
  • Automated Provisioning
  • Get an enterprise support all day
  • Orchestration

Pros:

There are many positive aspects to it which are mentioned below:

  • Puppet has Strong compliance in automating and reporting tools.
  • Puppet provides active community support across development tools.
  • Puppet provides Intuitional web UI to handle multiple tasks, which includes reporting and real-time node management.

Cons:

There are some disadvantages which are mentioned below:

  • Initial understanding could be tough for new users who should learn Puppet DSL or Ruby, as advanced and real-time tasks eventually require input from CLI.
  • While installing Puppet process lacks adequate error messaging.
  • Puppet support is more priories toward Puppet DSL over pure Ruby versions.
  • Puppet Lacks revert system, so there is no immediate action on changes.

Screen Shot of Puppet Tool:

6.1 puppet screen shot

#3) CHEF Configuration Tool

7.chef

The chef is basically an automation platform that provides a way to configure and manage infrastructure. Infrastructure as code implies executing by coding rather than doing manual execution. The chef works on Ruby and DSL for writing the configurations.

8.Chef working

Developed By: Adam Jacob

Type: Open Source and Enterprise available

Head Quarters: Seattle Washington, USA

Initial Release: 2009

Stable Release: 14.2.0 version

Based on Language: Ruby and Erlang

Operating Systems: Linux, Unix, Windows, AT&T Unix, Mac OS, IBM AIX

Price:

Open Source: Completely free

Hosted Chef:

  1. Launch package: $120/month, 20 nodes, 10 users
  2. Standard package: $300/month, 50 nodes, 20 users
  3. Premium package: $700/month. 100 nodes, 50 users

On-Premise: Per model costing $6 per month– the same as Hosted Chef. Standard support is an additional $3 per month, and the premium version is $3.75 per month.

Annual Revenue: Approx. $52 Million

Employees: Approximately 500 employees working currently.

Users: Bloom Berg, BONOBOS, Facebook, GE, Hewlett Packard, Microsoft, Yahoo, Target, Voxel etc.

Official Website: Click here=> chef

Why is CHEF preferred?

There are many reasons to prefer CHEF:

  • As we all know Chef supports multiple platforms like Microsoft Windows and Ubuntu. Some client platforms like Debian and Fedora etc.
  • Chef also provides active, smart and fastest growing community support.

Pros:

  • Chef follows the Push model and allows cloud adoption.
  • Chef helps to increase service resiliency, to develop more defect-free software as it captures bugs before they occur.
  • Chef Helps to improve risk management. Chef’s automation abilities are able to lower risk and improve compliance at all stages of development.

Cons:

  • Chef tool is forced into Ruby
  • some workflows in Chef seem a bit convoluted as code bases become huge
  • The chef doesn’t support the push functionality.

8.1 Chef nodes

#4) Ansible Configuration Tool

9. Ansible

Ansible is a configuration management, deployment, orchestration open source tool and also automation engine.

It is a push-based configuration management tool. It helps to automate the entire IT infrastructure by providing large productivity gains.

Ansible generally connects through SSH, remote PowerShell or via other remote APIs.

Ansible Architecture Diagram:

10. Ansible Architecture

The ANSIBLE tower dashboard:

11.The ANSIBLE tower dashboard

Developed By: Michael Dehhan

Type: Open Source

Head Quarters: Durham, USA

Initial Release: 2012

Stable Release: 2.6.2 version

Based on Language: Python and PowerShell

Operating Systems: Linux, Unix, Windows, MAC OS

Price:

Basic Tower: $5000 per year up to 100 nodes.

Enterprise Tower: $10,000 per year up to 100 nodes.

Premium Tower: $14000 per year up to 100 nodes.

Annual Revenue: Approx. $6 Million

Employees: Around 300 employees working currently.

Users: Atlassian, allegiant, Cisco, Gartner, NASA, twitter, Verizon, NEC, porter etc.

Official Website: Click here => Ansible

The feature of Configuration Tool Ansible:

  • Agentless means no need for agent installation and management.
  • Uses SSH for secure connections.
  • Follows push-based architecture for sending configurations so that user can control the changes made on servers.
  • Ansible can be idempotent if written carefully.
  • Minimal Learning is required.

Ansible Graph in recent years:

11.1.Ansible Graph in recent years.

Pros:

  • Ansible is based on SSH, so it doesn’t require to install any agents on remote nodes.
  • Ansible playbook structure is easy and crystal clear structured.
  • Ansible has a more streamlined code base compared to some other tools.
  • Ansible is idempotent.
  • It has high interoperability.

Cons:

  • Ansible is less effective than other tools which are based in other programming languages.
  • Ansible does its logic modification through the DSL, that means checking in on the documentation consequently until you learn it
  • In ansible variable registration is asked for even simple functionalities, which converts easier tasks into more complicated
  • Ansible introspection is really very poor, so it makes tough to see the values of variables within the playbooks.
  • Poor development testing.

12.Ansible tower

#5) SALTSTACK Configuration Tool

13. Saltstack

SaltStack is also a configuration tool that works on a master-client setup model or a non-centralized model. SaltStack is based on Python programming language, SaltStack provides a push and SSH methods to communicate with clients. SaltStack allows to group together clients and configuration templates to make the control of the environment simple and easy.

SALTSTACK Architecture:

14SALTSTACK Architecture

Developed By: Thomas H Hatch

Type: Open Source

Head Quarters: Lehi, Utah

Initial Release: 2011

Stable Release: 2018.3.2 version

Based on Language: Python Programming Language

Operating Systems: Unix, Microsoft Windows, OS X

Price: It starts at $5,000/year excluding support; subsequent tiers run up to $14,000/year and include 8×5 or 24/7 support. However, it is based on research as the original price is not mentioned on the official site also.

Annual Revenue: Approx. $ 7.3 Million

Employees: Approximately 200 employees working currently.

Users: JobSpring Partners, DISH Network Corporation, Everbridge Inc, Cloudflare Inc, Ubisoft S.A.

Official Website: Click here=> SaltStack

Saltstack Features:

The most important features of SALTSTACKs are as follows:

  • Salt Cloud integrates with many other cloud providers like Google Cloud, AWS, etc. so it’s easy to take benefit of all the assets with one command.
  • Saltstack has minions which can check files, processes also host other things.
  • With orchestrate in bucket Saltstack deploy a complex application by executing single line commands.

Pros:

  • It is simple, Straight and usage is easy once you go through the setup phase.
  • Saltstack has DSL feature so it doesn’t require logic and states.
  • Saltstacks Input, output, and configs are very stable and consistent because it uses the concept of YAML.
  • Introspection feature plays a handy role as it makes simple to look at what is happening inside Salt.

Cons:

  • The first installation process is really difficult to set up and make tough to for new users to understand.
  • Support for non-Linux Oss is not that great.
  • Refer Below Screen Shot of SaltStack

14.1.saltstack inside

#6) JUJU Configuration Tool

15.juju

Juju is one of the famous configuration management tools which is open source and is created by Canonical Ltd.

Juju mainly emphasizes on decreasing the operational overhead of new generation software by providing facilities like quick deployment, configuring, scaling, integration, and doing operational tasks on a huge range of public and private cloud services along with only servers, open stacks and local system based deployments.

JUJU’s Architecture

16.JUJU’s Architecture

Developed By: Canonical

Type: Open Source

Head Quarters: USA

Initial Release: 2012

Stable Release: 2.2.2 version

Based on Language: GO Programming Language

Operating Systems: Ubuntu, CentOS, MacOS

Price: It starts at $4,000/year excluding support; subsequent tiers run up to $12,000/year and include 24/7 support. However, it is based on research as the original price is not mentioned on the official site also.

Cross-Cloud: Yes

Annual Revenue: Approx. $ 1 Million

Employees: Currently <100 employees working

Users: AMD, Cisco, Dell, HP, IBM, Intel, Lenovo etc.

Official Website: Click here=> Jujucharms

JUJU Features:

  • JUJU provides software provisioning capabilities.
  • JUJU provides instant integration and scaling.
  • JUJU can resolve almost all complexities regarding service scaling by using charm.
  • JUJU can be used to run multiple PaaS on a platform.
  • Kubernetes cluster deployment.

Pros:

  • JUJU has a small footprint (2 nodes) K8s cluster deployment.
  • JUJU has a multinode deployment.
  • Dashboard, Ingress controller, and DNS.
  • JUJU provides TLS between nodes for security.
  • JUJU can scale up and down nodes.

Cons:

  • JUJU has a Lock-In
  • JUJU provides no clear instructions on using OpenStack cloud provider and using cylinder or LbaaS.
  • JUJU provides no support for advanced networking such as Calico.
  • JUJU has no possibility to provide provision open Stack Nodes for K8s cluster.

#7) RUDDER Configuration Management Tool

17.Rudder

The rudder is one of the famous and most used open source, web driven, role-based solution, audit and configuration management tool to make automated system configuration across huge IT organizations and compliance.

Rudder depends on a light local agent which are installed on each and every managed system. Rudder’s server-side web interface is built by Scala language and its local agent is written in C.

Architecture of Rudder

18.Architecture of Rudder

Rudder mainly has two functions:

  • Configuration Management
  • Asset Management

Developed By: Normation

Type: Open Source

Head Quarters: USA

Initial Release: October 31, 2011

Stable Release: 4.3.4 versions

Based on Language: Scala (server) and C (agent)

Operating Systems: Unix, Microsoft Windows, Android, Ubuntu

Price: It starts at $4,000/year excluding support; subsequent tiers run up to $10,000/year and include 8×5 or 24/7 support. However, it is based on research as the original price is not mentioned on the official site also.

Annual Revenue: Approx. $ <1 Million

Employees: Currently <200 employees working

Users: Itika OSS, Zenika- Passion in open source and consulting, Savoir-Faire Linux, Edugroupe IT professional, CFEngine, Fusion Inventory, Itop, OpenLDAP, Systematic, Bpifrance

Official Website: Click here=>  Rudder

Features of Rudder Configuration Management Tool:

  • Rudder Tool provides Web Interface to manage the nodes and also define policies.
  • Rudder hosts the inventory part.
  • Rudder provides custom policy editor which is very unique.
  • Rudder automates the simple tasks of administration like installing or configuring.
  • Rudder supports FULL REST API to communicate with Rudder Server.
  • The rudder has GIT in its backend.
  • Rudder dynamically generates each host policy.

Pros:

  • The rudder is specifically designed for Configuration management so performance is high.
  • The rudder is based on CFEngine standard so inherits some functionalities of CFEngine.
  • Rudder provides automated inventory for hardware and software both.
  • Rudder provides graphical reporting.
  • Rudder has best practices library included.

Cons:

  • Rudder community is growing but not very big at this day like the puppet, Ansible etc.
  • Rudder is overkill if the goal is only to push one-time actions.

#8) Bamboo Configuration Management Tool

19.Bamboo

Bamboo is one of the Atlassian’s continuous delivery and releases management tool.

Bamboo offers a high standard of support for regular delivery. Bamboo gives a output as a single flow. Bamboo provides developers, testers, build engineers, and system administrators a common shared space to work and share information storing sensitive operations like production deployment and security.

Bamboo Architecture:

25. Bamboo Architecture

Developed By: Atlassian

Type: Open Source

Head Quarters: Lindon, USA

Initial Release: February 20, 2007

Stable Release: 6.6 versions

Based on Language: Java Programming Language

Operating Systems: Cross Platform as based on Java

Price:

  • Small Teams: $ 10 up to 10 jobs and no remote agent
  • Growing Teams: $ 800 unlimited jobs, 1 remote agent

Annual Revenue: Approx. $ 2.7 Million

Employees: Around 2500 employees as it comes under Atlassian

Users: Atlassian Corporation Pty. Ltd, Showtime Networks Inc., Phreesia, Inc., Parc Ellis “Your Career Matters”, Vesta Corporation

Official Website: Click here => Bamboo

Features of Bamboo Configuration Management Tool:

  • Bamboo is basically a tech-stack as it is suitable for any language and other big technologies like AWS, Docker etc.
  • Bamboo provides justice to the deployment of projects and environments.
  • Bamboo provides dedicate agents feature, with the help of which user can run hotfixes and critical builds right away and there is no need to wait for it.

Pros:

  • With the use of Bamboo gives better and improved CI/CD.
  • Bamboo supports Dev + Ops means from integration to deployment to delivery
  • Bamboo can hook with SVN and in this manner, provides full SCM support.
  • Bamboo supports GIT.

Cons:

  • Bamboo has no scope for inheriting project structure, as a result, it becomes a tough task to define behavior for each and every module.
  • Poor Documentation for installation and tough for the new user to understand.
  • Bamboo doesn’t support the passing of properties.
  • Bamboo doesn’t support the concept of build promotion.

Refer Images below for Bamboo Tool:

26Bamboo Tool

27. Bamboo projects

28.Bamboo Administration

29.Bamboo Release

#9) TeamCity Configuration Tool

30TC

TeamCity is also one of the management and continuous integration server developed by Jet Brains and based on Java Programming Language.

Released on 2nd October, TeamCity provides up to 100 build configurations (jobs) and run unlimited builds. Concurrently it runs 3 agents and if needed it to add extra also. It possesses a public bug tracker and forum open to all the users. As its open source so it is free for every user.

Developed By: JetBrains

Type: Open Source

Head Quarters: Prague

Initial Release: October 2, 2006

Stable Release: 2018.1 versions

Based on Language: Java Programming Language

Operating Systems: Server-based web application

Price:

  • Professional Server License: open source so free
  • Build Agent License: US $299
  • Enterprise Server License with 3 agents US $1999
  • Enterprise Server License with 5 agents US $2499
  • Enterprise Server License with 10 agents US $3699
  • Enterprise Server License with 20 agents US $5999
  • Enterprise Server License with 50 agents US $12,999

Annual Revenue: TeamCity comes under JetBrains which has approx. $ 70.3 Million

Employees: Currently 720 employees are working and increasing even more.

Users: Acquia, Google, Heroku, Microsoft, Pivotal, Redhat, spring, Typesafe, Oracle.

Official Website: Click here=>  Jetbrains Teamcity

32TeamCity Architecture

TeamCity Architecture flow:

Features of TeamCity Configuration Tool:

  • TeamCity provides technology awareness.
  • TeamCity has a configuration feature which avoids code duplication.
  • TeamCity version control system is comprehensive.
  • TeamCity provides support for integrations.
  • TeamCity supports build history.
  • TeamCity helps you with multiple ways of interaction, customization, and extending your server.
  • Cloud integration functionality is also supported.

Pros:

  • TeamCity is a feature-rich toolset.
  • TeamCity has many developer-oriented features.
  • TeamCity doesn’t require any additional plugins.
  • There are more than 100 features in TeamCity.
  • TeamCity allows you to grow and move smoothly.

Cons:

  • TeamCity restricts you in term of different kinds of projects according to its base plan especially build configurations.
  • It may take time for a new user to get acquainted with the project hierarchy structure of it.

Below are few TeamCity tool Images for reference.

34 TeamCity tool projects

33TeamCity tool

35 TeamCity tool builds

#10) Octopus Deploy Configuration Management Tool

36. Octopus

Octopus is one of the famous configuration tools which takes you beyond the limit where your Continuous Integration server ends.

Octopus Deploy helps you enable automation even for the most complex application deployments, whether the application is on-premises or in the cloud, it will not be an issue.

Octopus Deployment Architecture:

37.Octopus Deployment Architecture 

Developed By: Paul Stovell

Type: Open Source

Head Quarters: Indooroopilly, Queensland

Initial Release: 2005

Stable Release: 2018.7.11 versions

Based on Language: Java Programming Language

Operating Systems: Server-based web application

Price:

Cloud Starter: $ 10 per month for up to 5 users

Cloud Standard: $ 20 per user per month for any team size

Cloud Data Center: Depends on criticality.

Annual Revenue: Approx. $ 8.6 Million

Employees: Currently <100 employees working

Users: Microsoft, NASA, Cisco, Domain, HP, Symantec, 3M, Philips, over 22,000 customers

Official Website: Click here=>  Octopus

Features Of Octopus Deploy Configuration Tool:

  • Octopus provides fast, repeatable and reliable deployments.
  • Octopus can promote release between environments.
  • Through Octopus Deploy complicated deployments are made easy.
  • Intuitive and simple so easy to use its user interface.
  • Easy to start with.
  • Octopus provides a world-class platform support like ASP.NET, JAVA, Node.Js, many scripting languages, databases and other platforms.

Pros:

  • Octopus Deploy is developed to possess a very powerful and flexible deployment process.
  • Provides seamless integration.
  • Gives users massive permission when comes to granularity.
  • Provides a good and managed audit sections for deployments.
  • Application and database deployments are really executed in smile manner through the life cycle.

Cons:

  • For new users, the tool can be confusing as it has so many options.
  • As multiple environments can be accessed the UI gets ramped up.
  • Can be improved on with AWS integration.
  • Sometimes it gets difficult to understand the code repo.
  • Octopus has to manually installed on each hosted machine which is very time taking and boring task, something should be done about it.

Some screenshots of Octopus Tool:

38.octofx

39. Octofx task progress

40. Octopus process

41.octopus overview

42.Octopus Deploy

***********************************************

=> Contact us to suggest a good listing here

**********************************************

Conclusion

As there are so many Configuration Management Tools, it’s quite important to research and select the best tool which would be good for your organization. I hope this article will help you in that.

Small -Scale or Mid-Level Organization: As these type of organization look for the open source and more effective tool which can be beneficial for their organization as they have less strength of employees and finance.

So for those CFEngine, CHEF, Rudder and Bamboo configuration tools would be a good choice as they are open source, highly scalable and robust and secure. They are being used by many giant companies also. Maintenance and set up is easy.

They are based on most used programming languages like Java and .net. They support cross-functionality and multiple OS platforms. These tools support cloud adoption as well as 24*7 support.

Large Scale Industries: These companies mainly focus on robustness, availability, security, and support. So most of the giant companies prefer CFEngine, Ansible, CHEF enterprise version, Octopus, TeamCity etc. These tools provide reliable deployment process and support multiple OS platforms.

They are open source as well as if the company want the extended benefits they can opt for the enterprise version. These tools possess multiple features, granularity and orchestration, Idempotent, interoperability and a minimal learning curve is required.