Monday, March 16, 2015

Managing Complexity of environment with CHEF

For understanding the concept of managing the complexity with chef you need to be aware about some terms as discussed in my earlier post Basics About Chef.

Considering the large number of webservers , database servers working under load balancer. Using caching technologies to optimize the serving time , monitoring the overall availability. Making the system scalable on the go all adds to the complexity but necessity to our Environment. It is necessary to understand the how chef deals with the complexity and how can achieve the desired state of your environment while managing this complexity.

Following is the approach to manage the complexity with Chef

1. Determine the desired state of your infrastructure.
2. Identify the resources to meet that state.
3. Gather the resources in the Recipes.
4. Compose a run-list from Recipes.
5. Apply a run list to each node in your environment.
6. Your infrastructure is incline with the policy modelled in the chef.

Detailed Explanation:-
The desired state is the final infrastructure that you want after making all the changes like getting a new domain set up. Next you need to identify the resources to meet the state. This would be comprising of the webserver installation, configuration, code implementation, starting of the webserver and the enabling of the webserver at the run time. Next you need to make a recipe to achieve all the tasks so that your new domain is ready to serve up the content. Next you need to compose a run-list for the nodes so that the nodes are able to fetch the policy meant  for them from your chef server. Once you compose the run-list you need to apply it to each node in your environment , where the chef-client would be working and will make it sure each node implements the policy and achieves the desired state. Once you achieve your state your infrastructure is incline with the policy modelled in the chef.


Post a Comment