High level Archtecture of Configuration management (CM)
- In CM we have two types of servers
- Node:
- Where we would like to configure/deploy application
- CM Server
- Where the CM Software is installed

- Where the CM Software is installed
- Node:
- Now lets just consider one node and CM Server interactions to define architectural models

- Push based CM:
- In Push based CM, CM Server needs to communicate with nodes i.e. CM Server needs to know the nodes (list of nodes)
- CM Server will login into the node and execute the configuration, so we need the credentials of the node
- PULL Based CM:
- Node will be communicating with CM. So nodes to communicate with Server needs to have agents installed in them
- CM Server need not know list of nodes, it just needs to validate if the request is coming from right agent

Chef Configuration Management Server & It Components
- In Chef for pull based CM we have 3 System Types
- Chef Infra Server (Chef Server)
- Chef Client (Nodes)
- Chef Workstation

What are the configurations which we develop in chef on workstations
- Chef uses terminology of kitchens & chefs
- Cookbooks:
- Cookbook will have recipes
- Each recipe will somehow mention the desired state using resources
- So in chef we write cookbooks for our node configuration and upload them to chef server.
- We also configure on which node which recipe which has to be executed
- So when node asks for configurations chef server responds by giving recipes to be executed on the node.
Lab Setup
- Initially lets not install chef server but lets use the hosted chef server.
- Refer Here to create an account
- For Nodes we will be using (Ensure you have atleast one cloud account)
- Azure
- AWS
- Workstation will be your laptop.
Note:
- Create Azure Free account Refer Here
- Creating AWS Free tier account Refer Here
- Create a simple Azure virtual machine Refer Here
- Create an AWS EC2 instance Refer Here
- Setting up and using windows terminal Refer Here
- Install necessary softwares Refer Here
