Site icon DesignLinux

What is Automation and Configuration Management with CHEF – Part 1

Let’s take a simple scenario, you have 10 redhat servers where you have to create a ‘tecmint’ user in all the servers. The direct approach is, you need to login into each server and create the user with the useradd command. When the servers are 100s or 1000s, login into all servers one by one is practically not possible.

Here, the first thing that comes to our mind in such cases is to write a script and let the script perform the execution on servers, it is a proven approach. Scripting has its own disadvantages, though it is widely used in organizations, it is tough to maintain if the script owner leaves the Organization.

The script will not work in a heterogeneous environment. The script is an Imperative method to accomplish the task, where you need to write lengthy code for a simple task etc., this situation demands us to look for Automation and Configuration Management tools such as a Chef.

In this series of articles on Chef, we are going to see about the installation and configuration procedures of the Chef Automation tool through parts 1-3 and covers the following topics.

Part 1: What is Automation and Configuration Management with CHEF
Part 2: How to Install CHEF Workstation in RHEL/CentOS 8/7
Part 3: How to Install CHEF Client-Server model in RHEL/CentOS 8/7

This tutorial provides a starting point about how Chef works, automation, configuration management, architecture, and components of Chef.

1. Configuration Management

Configuration Management is the key focus point of DevOps practice. In the Software development cycle, all the servers should be software-configured and maintained well in such a way that they should not make any break in the development cycle. Bad configuration Management can make system outages, leaks, and data breaches. Using Configuration Management tools is about facilitating accuracy, efficiency, and speed in the DevOps-driven environment.

There are two models of configuration Management tools – PUSH-based & PULL-based. In the PUSH-based, the Master server pushes the configuration code to the servers wherein PULL-based individual servers contact the Master for getting configuration code. PUPPET and CHEF are widely used PULL-based models, ANSIBLE is a popular PUSH-based model. In this article, we will see about CHEF.

2. What is a Chef?

A chef is an open-source automation program that enables system administrators to automate the deployment, configurations, management, and ongoing tasks across a number of servers and other devices of an organization in a simple easy way.

3. Chef Architecture

Chef architecture is divided into 3 major sections.

Chef Architecture

4. Chef Components

Following are the key Chef components.

5. Chef Deployment Model

There are two deployment models for Chef.

6. How Chef work? Infrastructure as Code

Infrastructure as Code is IT Infrastructure Management where it allows us to automatically perform various installation/deployment and Configuration Management. Here, all the configurations, installations are written as code.

Conclusion

In this article, we have seen basic concepts of Configuration Management and Chef automation tool. We will see the step-by-step process of Chef installation in the upcoming articles.

Exit mobile version