Chef is a configuration management tool that automates managing infrastructure as code. It uses Ruby and collects configuration details into what it calls “recipes”.
This tutorial will walk you through the process of automating server provisioning using Chef, a powerful configuration management tool that leverages the Ruby programming language to automate infrastructure administration and provisioning. We will focus on the language terminology, syntax, and features necessary for creating a simplified example to fully automate the deployment of an Ubuntu 18.04 web server using Apache.