Case Study - Chef Refactoring

About the Client

Company’s customer engaging platform assists several hundred million visitors across all channels and engages in 1.5 billion conversations annually, most of which are automated.

The Business Challenge

The client was maintaining the cookbooks directly on the chef server which is not a recommended practise. Multiple random community cookbooks were in use. Run lists were a mix of community cookbooks. Their environment lacked SCM repository for cookbooks. No application cookbooks were in place. Version control was amiss. Due to the above problems the client had issues with the chef setup in operation and was unable to maintain the cookbooks, badly affecting their automated customer engagements. Weak chef skills further lead to prolonged resolution times.

How Whitehedge helped

Whitehedge started by adding all the cookbooks to a GITHUB organisation. After carefully identifying the nature of deployment we segregated only the required packages and technologies. We understand that community cookbooks make the implementation too generic, defeating the entire purpose. One such instance seen here was that an nginx cookbook had a LAMP dependency which was not required by the client application thus adding on to the unused code. We standardized the cookbook development by writing chef libraries for packages to be installed and configured. We followed the 12-Factor Apps methodology and put it into development practise.

The Benefits

Post refactoring, the cookbooks development was standardized, version controlled and easy to manage. Application specific cookbooks helped do away with unnecessary packages. Taking advantage of well implemented chef libraries, even Ruby developers with basic knowledge of chef could contribute to chef development. These changes positively affected their automated customer engagements.

About WhiteHedge

WhiteHedge Technologies is an end-to-end software services and solutions provider to global clients with operations spread across US, Europe and India. WhiteHedge has a team of professionals with expert level experience in various technological and functional domain areas. WhiteHedge offers various engagement models to get engaged with the clients to deliver better business value proposition.