1分で分かる!chefとは?
ジャバード先生おはよう!ちょっと相談してもいい?
ことりん君おはよう。もちろんいいよ。今日はどうしたの?
レタスコンピュータさんにAnsibleをおすすめしたこと覚えている?
あぁ、覚えているよ。その後どうなったの?
レタスコンピュータはAnsibleを導入したんだけど、サーバーアプリケーションやミドルウェアの管理がかなり楽になったみたい!
それはよかったね!
それでね、その話をどこからか聞きつけたタマネギ不動産さんがAnsibleに興味を持っているみたいなんだ。
ふむふむ。タマネギ不動産さんは手動で運用しているのかな?
いや、なんか「しぇふ」ってやつを使っているって言ってたような…
Chef(シェフ)だね。Chefも構成管理ツールとしては人気があるソフトウェアだよ。
そうなの?人気があるソフトウェアなのになんでAnsibleに興味があるんだろう?
もちろんChefも人気なんだけど、最近ではAnsibleの勢いがすごいからね。実際にChefからAnsibleへ移行している企業は多いんだよ。
そうなんだね。そんなに違うものなの?
「サーバーアプリケーションやミドルウェアを管理する」という目的は変わらないよ。でも、Chefは管理対象となるサーバーにソフトウェアをインストールする必要があったり、構造が複雑だったりするんだ。
じゃあAnsibleはソフトウェアのインストールも不要だし、構造がシンプルってこと?
そうそう。Ansibleは導入や運用がとても楽なんだよ。それに設定を定義するファイルも「YAML」というファイルで書けばいいんだ。Chefの場合は「DSL」という特殊な言語で記載する必要があるから、ここもわかりにくいポイントだね。
ふむふむ。より手軽で簡単なのがAnsibleってことだね。
そんなイメージだね。ただ、Chefが使えないってわけじゃないからね。どちらも良いソフトウェアだし、現在もChefを利用している企業はたくさんあるんだ。だから必要に応じて使い分ければいいとおもうよ。
なるほど。ジャバード先生ありがとう!タマネギ不動産さんにはAnsibleをおすすめしてみるよ!
はーい!いってらっしゃい!
Chefとは?採用に役立つ基礎知識
Chefとは構成管理ツールと呼ばれるソフトウェアの1つです。構成管理ツールはプロビジョニングツールと呼ばれることもあります。
2009年にリリースされたChefは、紆余曲折を経て現在はプログレスという企業に買収されています。
以前は、ソフトウェアのインストールやOS設定などを変更する際は、担当者が手動で対応する必要がありました。ただ、手作業はどうしてもミスが発生したり、待ち時間も含めてかなりの作業時間となってしまうという問題を抱えていました。
そこで登場したのがChefをはじめとする構成管理ツールです。Chefを利用すれば、あらかじめ各種の設定を定義した「レシピ」とよばれる設定ファイルに従い、必要な構成を自動的に構築してくれます。
これにより、設定ミスや作業時間を大幅に削減することができるようになりました。
Chefを使うエンジニア
Chefはインフラをコード化する (Infrastructure as Code)ためのソフトウェアです。
そのため、インフラ(サーバー)エンジニア、インフラ基盤(データベース)エンジニア、インフラ(ネットワーク)エンジニアなどのインフラエンジニアが使います。
Chefを使うエンジニアの特徴と在籍業界
最近では、Infrastructure as Codeを実践する企業も増加しています。そのため、構成管理ツールを利用する企業も同様に増えています。
そのため、Chefを使うエンジニアは様々な業界に在籍しています。
採用する時に知っておくとよいこと
Chefのシェア
Kotlinなどを開発したJET BRAINS社の2021年の発表によれば、DevOpsエンジニアが使用する構成管理ツールのシェアにおいてAnsibleは約7%を獲得しています。2020年は約8%のシェアだったため、やや微減していることになります。
この背景には、競合であるAnsibleのシェア拡大が影響しているといえるでしょう。
何れにしてもインフラエンジニアに対しては、ChefやAnsibleといった構成管理ツールのスキルが求められる時代になってきたといえそうです。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
Chefの豆知識
Chefの競合製品
前述したとおり、Chefは構成管理ツールと呼ばれるものの1つです。ここではChefと競合するソフトウェアを紹介します。
Ansible
Ansibleは、Chefと同じ構成管理ツールであり、レッドハット社が開発しています。オープンソースソフトウェアであるため無料で利用できるのが特徴です。
また、簡単に導入可能であり、管理も容易であることから、さまざまな開発現場で利用されています。
参考:Ansible
Puppet
Puppetも構成管理ツールとして有名であり、一定のシェアを獲得しています。Puppetは2005年にリリースされ、現在も開発が継続されています。
利用企業数は40,000以上といわれており、Ansible同様に人気があるソフトウェアです。
参考:Puppet
Chef関連の資格
Chefに特化したものではありませんが、関連する資格としては以下のようなものがあります。
DevOps Tools Engineer
DevOps Tools Engineerは、Linux Professional Institute(LPI)が主催しており、DevOpsに関する知識や実践的なスキルを問う試験です。
この試験では、構成管理ツールであるChef、Ansible、Puppetなどについても出題されます。
参考:Linux Professional Institute DevOps Tools Engineer
Chef関連のイベント
Chef関連のイベントとしては以下のようなものがあります。
Cloud Operator Days Tokyo
Cloud Operator Days Tokyoは、クラウドの運用者にフォーカスしたイベントです。2020年に初めて開催され、第3回目となる2022年も開催を予定しています。
セッションは、大規模なシステム運用や運用自動化など運用に関する内容が中心となっています。
なお、2021年に開催されたCloud Operator Days Tokyo 2021には、50以上のオンラインセッションが開催され、延べ2,000名以上の参加者を記録しています。
参考:Cloud Operator Days Tokyo 2022