Progress Chef

Last updated
Progress Chef
Developer(s) Progress
Initial releaseJanuary 2009;15 years ago (2009-01) [1]
Stable release(s)
Server15.10.12 / August 29, 2024;3 months ago (2024-08-29) [2]
Client18.5.0 / July 9, 2024;5 months ago (2024-07-09) [3]
Repository github.com/chef/chef
Written inClient: Ruby
Server: Ruby, Erlang
Operating system Linux, MS Windows, FreeBSD, macOS, IBM AIX, Solaris
Type Configuration management, System administration, Network management, Cloud management, Continuous delivery, DevOps, Infrastructure as Code
License Apache License 2.0
Website www.chef.io

Progress Chef (formerly Chef) [4] is a configuration management tool written in Ruby and Erlang. It uses a pure-Ruby, domain-specific language (DSL) for writing system configuration "recipes". Chef is used to streamline the task of configuring and maintaining a company's servers, and can integrate with cloud-based platforms such as Amazon EC2, Google Cloud Platform, Oracle Cloud, OpenStack, IBM Cloud, Microsoft Azure, and Rackspace to automatically provision and configure new machines. Chef contains solutions for both small and large scale systems.

Contents

Features

The user writes "recipes" that describe how Chef manages server applications and utilities (such as Apache HTTP Server, MySQL, or Hadoop) and how they are to be configured. These recipes (which can be grouped together as a "cookbook" for easier management) describe a series of resources that should be in a particular state: packages that should be installed, services that should be running, or files that should be written. These various resources can be configured to specific versions of software to run and can ensure that software is installed in the correct order based on dependencies. Chef makes sure each resource is properly configured and corrects any resources that are not in the desired state. [5]

Chef can run in client/server mode, or in a standalone configuration named "chef-solo". In client/server mode, the Chef client sends various attributes about the node to the Chef server. The server uses Elasticsearch to index these attributes and provides an API for clients to query this information. Chef recipes can query these attributes and use the resulting data to help configure the node.[ citation needed ]

Traditionally, Chef was used to manage Linux but later versions add support for Microsoft Windows. [6]

It is one of the major configuration management systems on Linux, along with CFEngine, Ansible and Puppet. [7] [8] More than a configuration management tool, Chef, along with Puppet and Ansible, is one of the industry's most notable Infrastructure as Code (IAC) tools. [9]

History

Chef Software, Inc.
Company type Private [10]
Industry Computer software [10]
Founded2008 [10]
Headquarters Seattle, Washington, U.S. [10]
Key people
Barry Crist (CEO), [11] Adam Jacob, Jesse Robbins, Jez Humble
Products Chef [10]
Website www.chef.io/chef/ OOjs UI icon edit-ltr-progressive.svg

Opscode

Chef was created by Adam Jacob as a tool for his consulting company, whose business model was to build end-to-end server/deployment tools. Jacob showed Chef to Jesse Robbins, who saw its potential after running operations at Amazon. They founded a new company (Opscode) with Barry Steinglass, Nathen Haneysmith, and Joshua Timberman to turn Chef into a product. [12] The company Chief Technology Officer was Adam Jacob.[ citation needed ]Chef Software, Inc. was a corporation headquartered in Seattle, Washington.

The project was originally named "marionette", but the word was too long and cumbersome to type; naming the format modules were prepared in "recipe" led to the project being renamed "Chef". [12]

In February 2013, Opscode released version 11 of Chef. Changes in this release included a complete rewrite of the core API server in Erlang. [13]

In Sep 2015, Chef Chef was valued at $360 million after a $40 million venture capital funding round. [14] [15]

In November 2015, the company acquired a German security startup, VulcanoSec. [16]

In April 2019, the company announced that the source code for their software would continue to be released under the Apache 2.0 license, while binaries would only be available under the terms of a proprietary license. [17] In response, the Cinc project began releasing Apache 2.0 licensed binaries of several Chef products. [18]

In 2019, it was discovered by a journalist that U.S. Immigration and Customs Enforcement was paying Chef approximately $95,000 per year for a software license. At that time, a former Chef employee deleted his code repository in protest of the contract. The company did not announce any changes to its contracting processes or partners. [19]

Chef Automate

Chef offered a single commercial product, Chef Automate, released at ChefConf in July 2016. Chef Automate included a full-stack continuous deployment pipeline, and automated testing for compliance and security. [20] Chef Automate built on two of Chef's open source projects - Chef and InSpec - and integrated with the company's third open source project, Habitat. Habitat offered "application automation" to simplify running complex applications in different environments including containers, traditional data servers, or PaaS. [21] [22] [23]

Chef offered three versions of its product: Chef Basics (free, open source), Hosted Chef ($72/node, minimum 20 node purchase), and Chef Automate ($137/node, annual subscription).

Progress

On September 8, 2020, Progress announced the acquisition of Chef, [24] [25] [26] with an intended final date in October.

A press release gave the price of acquisition at $220 million. [27] The merged company was named Progress Chef.

Platform support

Chef is supported on multiple platforms according to a supported platforms matrix for client and server products. [28] Major platform support for clients includes AIX, Amazon Linux, Debian, CentOS/RHEL, FreeBSD, macOS, Solaris, SUSE Linux, Microsoft Windows and Ubuntu. Additional client platforms include Arch Linux and Fedora. Chef Server is supported on RHEL/CentOS, Oracle Linux, SUSE Linux and Ubuntu.

Customers

Chef is used by Facebook, [29] ,OpenStreetMap, [30] AWS OpsWorks, Prezi, [31] and BlackLine.

See also

Related Research Articles

<span class="mw-page-title-main">Package manager</span> Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

<span class="mw-page-title-main">Otter (software)</span>

Otter is an infrastructure automation tool that runs under Microsoft Windows, designed by the software company Inedo. Otter utilizes Infrastructure as Code to model infrastructure and configuration.

Software deployment is all of the activities that make a software system available for use.

<span class="mw-page-title-main">Capistrano (software)</span>

Capistrano is an open-source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

<span class="mw-page-title-main">Puppet (software)</span> Open source configuration management software

Puppet is a software configuration management tool developed by Puppet Inc. Puppet is used to manage stages of the IT infrastructure lifecycle.

<span class="mw-page-title-main">Vagrant (software)</span> Software for portable virtual development environments

Vagrant is a source-available software product for building and maintaining portable virtual software development environments; e.g., for VirtualBox, KVM, Hyper-V, Docker containers, VMware, Parallels, and AWS. It tries to simplify the software configuration management of virtualization in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few other languages.

Ansible is a suite of software tools that enables infrastructure as code. It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality.

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first released in 2013 and is developed by Docker, Inc.

OpenLMI provides a common management infrastructure for Linux systems. Available operations include configuration of various operating system parameters and services, hardware components configuration, and monitoring of system resources. Services provided by OpenLMI can be accessed both locally and remotely, using multiple programming languages and standardized APIs.

<span class="mw-page-title-main">Foreman (software)</span> Life cycle systems management software

Foreman is an open source complete life cycle systems management tool for provisioning, configuring and monitoring of physical and virtual servers. Foreman has deep integration to configuration management software, with Ansible, Puppet, Chef, Salt and other solutions through plugins, which allows users to automate repetitive tasks, deploy applications, and manage change to deployed servers.

<span class="mw-page-title-main">Rudder (software)</span> Audit and configuration management utility

Rudder is an open source audit and configuration management utility to help automate system configuration across large IT infrastructures. Rudder relies on a lightweight local agent installed on each managed machine.

<span class="mw-page-title-main">BuildMaster</span>

BuildMaster is an application release automation tool, designed by the software development team Inedo. It combines build management and ARA capabilities to manage and automate processes primarily related to continuous integration, database change scripts, and production deployments, overall releasing applications reliably. The tool is browser-based and able to be used "out-of-the-box". Its feature set and scope puts it in line with the DevOps movement, and is marketed as "more than a release automatigs together the people, processes, and practices that allow teams to deliver software rapidly, reliably, and responsibly.” It's a tool that embodies incremental DevOps adoption.

Infrastructure as code (IaC) is the process of managing and provisioning computer data center resources through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The IT infrastructure managed by this process comprises both physical equipment, such as bare-metal servers, as well as virtual machines, and associated configuration resources. The definitions may be in a version control system, rather than maintaining the code through manual processes. The code in the definition files may use either scripts or declarative definitions, but IaC more often employs declarative approaches.

<span class="mw-page-title-main">DevOps toolchain</span> DevOps toolchain release package.

A DevOps toolchain is a set or combination of tools that aid in the delivery, development, and management of software applications throughout the systems development life cycle, as coordinated by an organisation that uses DevOps practices.

Continuous configuration automation (CCA) is the methodology or process of automating the deployment and configuration of settings and software for both physical and virtual data center equipment.

Buddy is a web-based and self-hosted continuous integration and delivery software for Git developers that can be used to build, test, and deploy web sites and applications with code from GitHub, Bitbucket, and GitLab. It employs Docker containers with pre-installed languages and frameworks for builds, alongside DevOps, monitoring and notification actions.

References

  1. "Announcing Chef". chef.io. 15 January 2009. Retrieved 2021-05-24.
  2. "Chef Infra Server 15.10.12 Released!". discourse.chef.io. 29 Aug 2024. Retrieved 2024-08-31.
  3. "Chef Infra Client 18.5.0 Released!". discourse.chef.io. 9 Jul 2024. Retrieved 2024-08-31.
  4. A new look for Progress Chef - Chef Blog, 7 December 2021, retrieved 2022-01-22
  5. Chef - Code Can | Chef , retrieved 2015-07-04
  6. Cade Metz (2011-10-26), "The Chef, the Puppet, and the Sexy IT Admin", Wired, retrieved 2015-07-04
  7. Alan Sharp-Paul (2013-03-04), Puppet vs. Chef - The Battle Wages On, archived from the original on 2015-09-08, retrieved 2015-07-04.
  8. Lueninghoener, Cory (2011-03-28), "Getting Started with Configuration Management" (PDF), ;login: , 36 (2), Usenix, retrieved 2015-07-04
  9. Keiser, John (14 November 2016). "Chef Provisioning: Infrastructure As Code".
  10. 1 2 3 4 5 "Company Overview of Opscode, Inc". Bloomberg Businessweek. Archived from the original on January 18, 2013. Retrieved 20 March 2012.
  11. "Barry Crist appointed as Opscode CEO". 26 August 2013. Retrieved 15 November 2013.
  12. 1 2 History of Chef: What's in a Name? on YouTube
  13. Bryan McLellan (2013-02-04). "Chef 11 Released!". Chef (company) . Retrieved 2015-07-04.
  14. "Devops software company Chef raises $40M with HP Ventures participating". VentureBeat. 9 September 2015.
  15. "Chef Cooks Up $40M Funding, $360M Valuation". PitchBook.
  16. "Chef acquires German security startup VulcanoSec, launches new compliance product - GeekWire". GeekWire. 3 November 2015. Retrieved 2015-11-03.
  17. Introducing the New Chef: 100% Open, Always - Chef Blog
  18. "About • CINC". CINC. Retrieved 12 January 2023.
  19. Sadeque, Samira (21 September 2019). "Former developer at software company deletes his code to protest its ties to ICE". The Daily Dot. Retrieved 11 February 2022.
  20. "IT Automation and DevOps Dashboards - Chef Automate | Chef".
  21. "Chef™ Growth Soars in 2013". marketweb.com. Retrieved 12 February 2014.
  22. Richman, Dan (June 14, 2016). "Chef takes 'big risk' with release of Habitat, an open-source project for application management". GeekWire. Retrieved July 18, 2022.
  23. Metz, Cade. "The Quest to Make Code Work Like Biology Just Took A Big Step". Wired.
  24. Corporation, Progress Software (2020-09-08). "Progress Announces Acquisition of Chef". GlobeNewswire News Room (Press release). Retrieved 2020-09-08.
  25. "The Fourth Chapter of Chef Has Arrived: Progress to Purchase Chef". Chef Software. 8 September 2020.
  26. "Progress and Chef—Now We're Cooking". Progress Software. 8 September 2020.
  27. "Progress Announces Acquisition of Chef". Globe News Wire (Press release). 8 September 2020.
  28. "Platforms — Chef Docs". chef.io. Retrieved 2 April 2021.
  29. "Facebook uses a seasoned Chef to keep servers simmering". pcadvisor.co.uk. Archived from the original on 24 May 2015. Retrieved 6 January 2014.
  30. "Powering OpenStreetMap's Future: A year of improvements from OpenStreetMap Foundation's Site Reliability Engineer". OpenStreetMap Foundation. 22 May 2023. Retrieved 24 May 2023.
  31. How Chef Enables the DevOps Culture at Prezi - Zsolt Dollenstein on YouTube

Further reading