Introduction to Chef

chef-benefits.png

CHEF is an open-source configuration management tool. Earlier system administrators used to manage the machines/servers like updating, installation, security, etc. By configuration we mean- each minute detail of our machine. Due to which chances of error increase because it’s done manually by an administrator. CHEF, an automated tool comes into existence.

DevOps CHEF tool comes into an operation section. Now instead of the system administrator, DevOps Engineer will handle the server configuration process using script. Infrastructure builds/configured by a script is known as IAC (Infrastructure as code).

It’s the Pull based management tool. Pull configuration nodes check the server periodically and fetch the configuration from it. Nodes itself sends a pull request to modify/update the specific configurations.

Advantage: when new nodes get linked with the server, the node automatically sends the pull request to validate the updated configurations.

CHEF is written in Ruby and Erlang. CHEF is used by Facebook, AWS ops work, etc. CHEF is an administrator tool that system admins used to do manually, now we can automate that task using this CHEF tool. Turns code into infrastructure. Code/script are repeatable, versionable, and testable.

Advantage of CM Tool

  • Complete Automate
  • Increase uptime
  • Improve Performance
  • Ensure Compliance
  • Prevent errors
  • Reduce cost

Ohai

In this complete current configuration of our node is stored.

Idempotency

Tracking the state of system resources to ensure that the change in configurations that are not required(Because of the same version) should not reapply, reducing the time.

Components of Chef

Workstation (Where we write code)

Workstations are a personal computer or Virtual Server where all configuration code is created, tested, or changed.

DevOps Engineer modify/write the code in this workstation. Here, the Code is also known as a recipe whereas the Collection of the recipe is known as a cookbook. Workstation Communicate with the chef–server using a knife. A knife is a command-line tool that uploads the cookbook to the server.

Chef-Server

The Chef server act as an intermediate between the workstation and the node. All types of the cookbook are stored here. Plus, the Server can be hosted Locally or Remotely.

Node

Nodes are host systems that have to be configured. Ohia fetches the current version of the software of the node. Node communicates with the chef-server using a chef-client using a knife. As different nodes can have a different state of configurations so chef-client is installed at each node.


Only registered users can post comments. Please, login or signup.

Start blogging about your favorite technologies and get more readers

Join other developers and claim your FAUN account now!

Avatar

Kushagra Bansal

DevOps Student, NA

@kushagra67414
Want to be a best DevOps Engineer
Stats
19

Influence

1k

Total Hits

1

Posts

Discussed tools