OSSの構成管理ツール「Chef」をどう使うか
Facebookのカリスマエンジニアに聞くDevOps事例
米FacebookはDevOpsをどのように捉え、実践しているのか? その事例を同社のカリスマエンジニア、フィル・ディボウィッツ氏に聞いた。
クラウドとDevOpsのムーブメントを引っ張るカリスマエンジニアの1人が、米Opscodeの構成管理ツール「Chef」を使って得た教訓を披露した。カリスマとは米Facebookのシステムエンジニア、フィル・ディボウィッツ氏だ。同氏は2013年4月下旬に米国サンフランシスコで開催されたイベント「ChefConf 2013」において、FacebookがChefなどのオープンソースユーティリティを使って、それぞれ1万台以上のサーバを含む多数のクラスタからなる環境を管理していることを紹介した。
本稿ではディボウィッツ氏と、Facebookのプロダクションエンジニアリングディレクターを務めるペドロ・カナウアティ氏に、DevOpsに関する見解や、DevOps初心者へのアドバイス、FacebookがChefを選んだいきさつなどを聞いた。
DevOpsとは何か
――DevOpsという言葉についてどう思いますか? DevOpsは実体のある概念でしょうか? それとも中身のないバズワードでしょうか?
ディボウィッツ氏 人々は言葉を造りたがるのだと思います。物事にレッテルを貼りたがるのです。しかし、この言葉の考え方は役に立つと思います。
私が初級管理者だった1990年代末から2000年代初めにかけて、こういわれたことがあります。「上級管理者と初級管理者の違いは、上級管理者はコードを読み書きできることだ」と。確かに管理者がコードを読み書きできれば便利だと合点がいきました。私はコンピュータサイエンスの学位を持っていて、膨大なコードといつも格闘するのは面白くなさそうだと思っていましたが、それが便利なことは分かったのです。こうした当時の考え方が、現在見られる考え方の源流のようなものではないでしょうか。そして人々は今、この考え方やその実践をDevOpsと呼びたがっているわけです。
結局のところ、運用管理の担当者はコードを読み書きできる必要があります。サポートしているアプリケーションを理解できなければならないことが理由の1つです。さらに、システムの規模が拡大すると、コードを書けなければ運用管理を効果的に自動化することができないという理由もあります。
マシンごとに手動でログインするのでは、すぐにうまくいかなくなります。こうしたやり方で対応できるシステム規模はたかが知れています。数万台のマシンを抱えていたら、1台ずつSSH(Secure Shell)でログインしてコマンドを実行していくわけにはいきません。ですが、それを自動化できれば、そうした環境を効率的に運用できます。
DevOpsの定義は人によって少しずつ違うでしょうが、そこが肝心な点です。私としては、実は呼び名は何でも構いません。要するに、「自分が担当している仕事の上手なやり方のこと」だと思っています。それをDevOpsと呼ぶ人々がいるわけです。
開発者による構成管理作業を可能にしたChef
――DevOpsの考え方になじみがない人へのアドバイスをいただけますか?
ディボウィッツ氏 最大のポイントは発想の転換です。例えばレガシーインフラを扱っていると、このように考えがちです。「自分の担当はDNSサーバとメールサーバで、AのサーバにログインしてBのことをしなければならない」。しかし、こうした発想では規模の拡大についていけません。いつか、必要なDNSサーバが5台、メールサーバが10台、Webサーバが30台になり、さらにはそれらが数百台、数千台規模になる可能性があるのです。
そこでサーバではなく、環境について考えることが必要になります。自分の環境の望ましい状態を、何らかの便利な方法を使ってどう表現するかを考えるのです。その便利な方法があれば、「自社の環境の望ましい状態」の定義を外部に移し、自分の環境の全要素をいつでも高速かつ簡単に、自動的に再生成することが可能になります。
――そうした表現方法の1つとして、今日の講演で「データとしての構成」について言及していましたが、これは具体的にはどのようなものですか?
ディボウィッツ氏 「データとしての構成」とは、システム管理の設定やパッケージの配置を表すハッシュなどのことです。システム管理者がシステムやシステムグループの構成作業の一部をソフトウェア開発者に任せたい場合、開発者がシステム管理の方法を知らなくても、また、Chefや「Puppet」「CFengine」など、管理者が使っているツール全てを知らなくても、そうした情報があれば、自らの環境でアプリケーションに必要な構成の一部を、彼らにとってなじみ深いツールを使って管理できるようになります。この「なじみ深いツール」とはコードとデータです。開発者は皆、コードとデータで作業しているのです。
カナウアティ氏 この例をさらに説明すると、開発者は「共有メモリを増やす必要がある」といったことは知っておく必要があるかもしれません。しかし、例えば「アプリケーションがLinuxマシン上で稼働している、Linuxシステムの/etcディレクトリにはsysctlファイルがある、sysctlファイルに設定を記述したら、それを有効にするためのコマンドを実行する必要がある」ということは知らなくても構いません。
つまり“データとしての構成”は、例えば「共有メモリを増やす必要があること」をファイルで示し、開発者がそのハッシュのごく一部を変更するだけで、必要な構成管理作業が自動的に行われる仕組みを提供するものです。開発者はこのような仕組みを好みます。システム管理のことを知らずに済むからです。彼らは、共有メモリを増やす必要性だけを知っていればよいのです。
――構成自動化ツールの比較評価を行いましたか?
ディボウィッツ氏 はい。われわれはPuppet、Chef、Spineを評価しました。Spineは聞いたことがないでしょうが、私がオンラインチケット販売会社のTicketmasterで働いていたときに、開発に使ったツールです。
われわれはまずスタッフに、3つのツールそれぞれの有望度を評価させ、各自に、自分が最も高く評価したツールではなく、最も低く評価したツールを提供しました。そして、自分に提供されたツールが選定されるように、社内PRとカスタマイズに精いっぱい努めるよう求め、数週間にわたって操作習得とカスタマイズの準備に当たらせました。
この期間を経て、3つのツールごとにスタッフが合流し、われわれはそれぞれについて、数種類の機能と、かなり複雑なわれわれのSSH設定を実装しました。続いて各ツールのコード、スタッフ1人1人による各ツールの試用体験、われわれのモデルへの各ツールの適合度を評価しました。
3つのツールのどれを使っても、目的の作業を行えました。ですが、われわれのケースでは、Chefの柔軟性がわれわれのワークフローニーズに最適でした。Chefでは、Rubyのパワーをフルに活用して、自社のシステム構成を表現、変更できるだけでなく、Chef自体を拡張したり変更したりすることもできます。われわれは、Chefの内部要素であるnode.saveに手を加え、Chefの動作を変更しました。
われわれは、思いのままにChefに変更を加えることができたので、このツールに合わせてワークフローを変える必要はありませんでした。 Chefのもう1つの魅力的な特徴として、全てがクライアントで行われることから、サーバモードで使うかどうかを選択できたことも挙げられます。他のツールではこうはいかなかったと思います。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー