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

The list of the Most Popular Software Configuration Management Tools (Top SCM Tools in 2019)

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.

The SCM practices include vision controls in the establishment of baselines. If something goes wrong, SCM can determine what was changed and who changed it.

Software configuration management tools SCM Tools

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.

CONFIGURATION MANAGEMENT

SCM 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 Configuration Management Tools (SCM Tools)

Here is the list of the top paid and free open source SCM Software tools with the comparison.

Kamatera (Recommended):

Kamatera is the best tool for Cloud Application Deployment.

Cloud Application deployment

The best service provider to deploy the most popular applications on cloud infrastructure for free.

Deploy in seconds the most popular application in the Cloud for Free. No Setup fee, No commitment, Cancel any time. Just select an application you want to deploy in the cloud from a list of the most popular applications like:

CPanel, Docker, DokuWiki, Drupal, FreeNAS, Jenkins, Joomla, LEMP, Magento, Memcached, Minio, MongoDB, NFS, NextCloud, OpenVPN, Redis, Redmine, Tomcat, WordPress, Zevenet, MySQL, node.js, pfSense, phpBB, phpMyAdmin

=> Visit Kamatera for more details

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

#1) CFEngine Configuration Tool

1.CF Engine

CFEngine is a configuration management tool that provides 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 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:

  • Reporting and Compliance i.e. gain real-time visibility into the state of your infrastructure.
  • Event Inspection
  • Automated Provisioning
  • Get 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 the best configuration management, deployment, orchestration open source tool and also automation engine.

It is a push-based configuration 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 take 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.
  • Saltstack's 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

17.Rudder

The rudder is one of the famous and most used open source, web driven, role-based solution, configuration and audit 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 language.

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:

  • 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:

  • Best performance
  • The rudder is based on CFEngine standard so inherits some functionalities of CFEngine
  • It provides automated inventory for hardware and software both
  • It provides graphical reporting
  • It has the best practices library included

Cons:

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

#8) Bamboo Configuration Management

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 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 => Bamboo

Features of Bamboo 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. It's open source so free for all users.

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:

  • 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

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 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

Conclusion

As there are many Configuration Management SCM 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 with 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.

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

=> Contact us to suggest a good listing here.

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