Chef is an IT automation platform that lets customers create, deploy, change and manage infrastructure runtime environments and applications. Chef is platform-agnostic and can be deployed in the cloud, on premises or as a virtual machine (VM). Also called a deployment automation tool and DevOps enabler, Chef is a product that offers enterprises of all sizes many integration options.
Customers use Chef to create, manage and deploy application stacks, bare-metal servers, and VMs. The Chef platform is primarily client-server based. Systems under management run the Chef client, which connects to a Chef server using an HTTP RESTful API. The Chef server consists of a database storing "recipes" packaged into individual "cookbooks," which represent the discrete components running on clients -- e.g., Java, WebSphere and MySQL, among others -- as well as keeping an inventory of all managed machines.
These recipes are used to create repeatable building blocks of the components required to deploy and integrate applications. The recipes are incorporated into the cookbooks mentioned above. Once written or downloaded from the Chef community, cookbooks and recipes function as templates to construct application stacks. This lets customers create, manage and deploy environments in a consistent and repeatable fashion, as well as accelerate the speed at which these environments are deployed. Chef is used by companies to significantly reduce manual provisioning, as well as management time for applications and data center resources.
The Chef server also runs Chef analytics as an add-on, so users can run analytics and generate reports.
Chef offers a free core server that can incorporate premium features, such as Multi-tenancy, role-based access control and directory integration.
Chef is classified as a tool for deployment automation, DevOps workflow integration and enablement, and infrastructure automation, making the market for the platform very broad. The company targets small and medium-sized business and enterprise clients, but supports any company that is accelerating the adoption of DevOps to become a "software-first company."
Here are the main instances in which Chef might be used:
- Cloud adoption: Chef is used to both migrate workloads to the cloud and create new cloud-native applications.
- Business transformation using DevOps: Chef accelerates and reinforces DevOps practices.
- Automating infrastructure: SMEs and enterprises alike use Chef for automating entire technology stacks.
- Managing heterogeneous environments: Chef allows diverse IT assets to be treated holistically.
- Data center orchestration and cloud management: Chef uses the high-velocity DevOps approach to provisioning, deployment and maintenance of data center and cloud environments.
- Preparing for containers: Chef can be used to lay the automation groundwork for containers.
- Compliance and security at velocity: DevOps integrates compliance, audit and security into the DevOps workflow, and accelerates compliance.
Chef integrates with many technologies, including partnerships with Microsoft, IBM, Cisco, CA Technologies, Juniper Networks, EMC, Amazon Web Services, HP, VMware and many others. Chef also works with a wide variety of operating systems, including Linux, BSD UNIX, Mac OS X, Windows, AIX and Solaris.
The Chef server can be run on premises, in the cloud or in a software as a service model hosted by Chef. The company also has partnerships with Amazon, Azure and several other infrastructure as a service vendors, with cloud marketplaces that allow customers to run fully supported Chef servers from cloud vendor-supported images.
The Chef platform is sold directly through Chef or it can be purchased through resellers. The marketplace images are purchased from cloud vendors directly.
The platform is licensed on a per-node subscription basis. The core of the Chef server is available for free for an unlimited number of nodes for an unlimited amount of time. Premium features are available for deployments of 25 nodes or less. The free version comes with 30 days of support. Support of 12 hours a day, 5 days a week is available for $6 per node, per month. Unlimited support contracts are negotiated directly with Chef.
The current client and server releases of Chef are version 12.
Learn more about enterprise application integration.
Is Chef -- or any of these other application integration products -- right for your company?
Here's a guide to cloud automation.