Getting started with Chef
Welcome! If you’re new to Chef, this article is for you. We’ll talk about how to get started, what to do first and where to go next.
What you do first really depends on what you want. Are you more interested in the business value of DevOps and automation? Do you want to get hands-on with the technology as quickly as possible? Are you already familiar with Chef and want to broaden your skills? No matter your goal, we have the resources.
Resources available to you
The Learn Chef site is the hub of Chef-related resources for building your skills. On this site, you’ll find links to five primary resources:
Our Learn Chef tutorials get you started quickly. You’ll learn the basics, move on to managing a node, get started with local development, and then tackle more advanced topics. The tutorials are definitely the starting point for most people who want a hands-on approach.
The Chef Skills Library is a diverse collection of articles that deepen your understanding of DevOps, Chef patterns, and best practices. You can learn about becoming a DevOps practitioner or find out how to secure your Chef installation.
Chef has a complete set of reference docs. For example, if you're writing a cookbook and need to learn about a particular resource, you'll find it here. Chef docs also include conceptual overviews of each of our products.
If you want a more personal approach, Chef offers training classes led by a team of experienced instructors. You can attend in person or join one of our live online sessions. We also have a certification program that offers different levels of accreditation.
The Chef community site is home to a diverse group of practitioners who are dedicated to helping others become successful with Chef and DevOps. From meet-ups to podcasts run and created by community members, there are multiple ways to engage, contribute, share, and learn from others.
In addition, Chef’s home page, www.chef.io, has links to helpful overview material as well as information about webinars, meet-ups, events and more.
Chef also offers professional services that can get you started fast and help with the planning and design of your Chef and Chef Automate installation.
If you want more guidance, feel free to talk to us. Use the "Contact Us" box at the bottom of this page. We’d be happy to answer your questions and get you connected to the resources you need.
There are three main phases to learning Chef:
- How to manage a node. To get started, you need to learn basics of infrastructure as code, for example, how to manage a server using Chef.
- Local development. Chef supports test environments on your local workstation so that you can validate your updates to infrastructure before sharing them with others or rolling out to production environments. To become proficient, you'll need to learn how to do this.
- Collaborative development. Chef is most often used in a team environment. Learning how to work in a team environment is an important part of the journey to DevOps.
Chef has learning resources for each of these phases of skills development. See "Getting started fast", "Learning local development", and "Skills for a team-oriented environment" below.
Getting started fast
Learn how to turn infrastructure into code with Chef.
For hands-on experience, try these tutorials:
Although Chef runs on many platforms, we provide a version of each tutorial that's tailored for Red Hat Enterprise Linux, Windows Server, and Ubuntu to give you a sense of how Chef applies to each of these common server environments.
In the first tutorial, Learn the Chef basics, the free virtual machine option is the fastest way to get started. In the second tutorial, Manage a node, Hosted Chef is an easy way to get started. After you complete these tutorials, you can work through them a second time on your own infrastructure to see how Chef runs in your environment.
Once you have a hang of the basics, you can:
Chef and Windows
If you work in a Windows environment, we have plenty of resources designed specifically for you.
Learning local development
Local development means you write and test your Chef code on your workstation. With local development, you make sure your code does what it should before you deploy to production.
For hands-on experience, try these tutorials:
You can also sign up for the Chef Intermediate Topics and Test-Driven Cookbook Development training classes.
And be sure to watch these webinars:
Skills for a team-oriented environment
Chef Automate enables multiple teams to work together to deploy software. With Chef Automate, you can integrate security and policy testing into the Chef Automate pipeline and have visibility into everything that's happening to your infrastructure.
Here are some ways to get started:
Learning about DevOps and automation
If you want to learn about DevOps and automation generally and about how to introduce DevOps to your own organization, check out these resources.
The Building DevOps Skills section of the Skills Library
Read the Compliance at Velocity white paper
Read the Automation for DevOps white paper
Watch these webinars:
How are Chef and Chef Automate used in production?
If you want to learn how our customers use Chef and Chef Automate in their own organizations, read our case studies.
The Learn Chef tutorials are here to help get you started quickly. If you're stuck on a particular step, ask in the discussion forum that appears at the bottom of the page. If possible, include the command you're trying to run and the output you receive in a gist and provide a link in your comment. Also be sure to tell us which version of the Chef DK or Chef client you're using.
Chef's support team and the community are also here to help. For general questions and issues, Discourse and the Chef Community Slack team are the fastest ways to get help from the community. Check out our support page for additional options or open a ticket with our support team.
Next in this series: Getting started with Chef Automate
Read the article