Chef is a Configuration management tool that manages the infrastructure by writing code rather than using a manual process so that it can be automated, tested and deployed very easily. Chef has Client-server architecture and it supports multiple platforms like Windows, Ubuntu, Centos, and Solaris etc. It can also be integrated with cloud platform like AWS, Google Cloud Platform, and Open Stack etc. Before getting into Chef deeply let us understand Configuration Management.
You can refer this blog for further reading
As far as video tutorials are concerned I'd recommend this video as a starting point