Chef expresses the desired state of a machine as Ruby, applied by a client that runs on the node itself and pulls what it needs from an infrastructure server. Reading somebody else's Chef code is a different skill from writing your own, and it begins with the two-pass run. During compile, chef-client evaluates every recipe in the run-list in order and assembles a resource collection — at that point nothing has been installed and no file has been written. Only in the converge pass does the client work through that collection, resource by resource, making the machine match what was declared. Almost everything that looks like a Chef defect to a maintainer, from a value that was empty when it obviously should not have been to a service restarted before its configuration existed, resolves into something happening in the wrong pass.
The node object is the second thing to read carefully. Ohai collects facts about the machine at the start of each run, and attribute files, roles, environments, the run-list and the recipe itself all contribute values that a precedence table then arbitrates. Data bags hold shared and encrypted data on the server, and search lets a recipe query live node data during converge — powerful, and also the reason a change on one node can rewrite a file on another.
Around Chef Infra sit the pieces that make an old estate defensible. Cookstyle lints, ChefSpec asserts against the compiled resource collection without touching a machine, and Test Kitchen converges a real one. Chef InSpec expresses controls as executable code, runs against the same nodes Chef converges, and produces machine-generated evidence in a form an auditor will accept. Policyfiles replace the older Berkshelf and environment-pinning arrangement with one locked dependency set per policy group, and that is usually the first modernisation an inherited estate needs.
Why this skill matters now
Nobody in Pune is choosing Chef this year, and that is precisely why this training exists. The estates running it here were standardised years ago inside banking and insurance back offices around Kharadi, Yerwada and Magarpatta, and inside long-running delivery accounts in Hinjewadi, and they still converge thousands of nodes on a schedule. The people who wrote the cookbooks have moved on, the documentation was never written, and the team holding it now is asked to keep it stable, extend it safely and answer questions about it. That is a maintenance capability, and it is not what an authoring course teaches.
Evidence is the second reason Chef keeps its seat. Regulated Pune estates are asked to show that a control was in place continuously, not that somebody checked it the week before an audit, and an InSpec profile running against the same nodes Chef converges produces exactly that. It is why InSpec stayed in use in places that have otherwise moved on, including teams whose day-to-day automation is now a push-based tool entirely.
The third is the migration question, which the local market asks out loud. Pune postings mentioning Chef mention coexistence, migration or audit reporting far more often than a new platform build, and a large share of the managed estate here is Windows Server rather than Linux, which changes the arithmetic considerably. What teams want at the end is a defensible position — where continuous enforcement earns its cost, where a push model is simpler, and what a phased split would look like — backed by evidence they gathered themselves rather than a vendor comparison.