Chef is composed of many components like Chef Server, Client etc. Some of the main components in Chef are as follows:
- Client: These are the nodes or individual users that communicate with Chef server.
- Chef Manage: This is the web console that is used for interacting with Chef Server.
- Load Balancer: All the Chef server API requests are routed through Load Balancer. It is implemented in Nginx.
- Bookshelf: This is the component that stores cookbooks. All the cookbooks are stored in a repository. It is separate storage from the Chef server.
- PostgreSQL: This is the data repository for Chef server.
- Chef Server: This is the hub for configuration data. All the cookbooks and policies are stored in it. It can scale to the size of any enterprise.