曉人氏Chefファーストサーバは1996年創業の老舗のレンタルサーバ会社です。HR」など、高パフォーマンスで素早く導入できるサービスを多数提供しています。Cloud運用で段階的にChefを導入。作業の正確さを徹底し、効率化を実現できました。基盤グループの上畑圭史氏と浅原曉人氏にお話をおうかがいしました。構築作業の属人化、ドキュメント管理が追いつかずChef導入前にはどのような課題を抱えていましたか?弊社はドメインのレジストラやサーバの構築や運用を行っています。Cloudではコースごとに仮想マシンの仕様が異なり、またOS、パッケージ、オプションでも多様な選択肢があります。同じ構成はほぼありません。これまで環境を構築すると担当者がドキュメントに記録していましたが、それぞれが独自フォーマットで管理している状況でした。環境構築後でも設定を変更することがあります。後日の変更作業はドキュメントへの反映が忘れがちで、記載内容が不正確なままということもありました。サーバの運用管理が属人化していたのです。これでは新しい担当者が検証用に同じ環境を構築しようとドキュメントを参照しても、同じ環境が構築できないリスクを抱えていました。圭史氏ドキュメントの課題を解決するにはドキュメント管理ツールを導入するか、構成管理ツールを導入する必要があると考えていました。数年前にシステム自動管理ツール「Puppet(パペット)」を検討したこともありました。独自の構文を習得する必要があります。特定の人しか使いこなせないなら、また属人化してしまいます。してChefに着目するようになりました。近年では人気が高まり、サンプルコードや技術情報などネットで得られる情報が増えています。Chefはオープンソースソフトウェアの中でも機能追加や改善のサイクルが早いほうだと思います。情報の収集しやすさもあり、徐々に導入しました。2012年には全ての環境をChefで管理できるようになりました。Chef導入で環境構築作業が正確、後日の作業も安心Chefを導入して業務はどのように変わりましたか?作業の正確性と効率性が高まりました。それまで担当者は内容が不確実なドキュメントを参照していたため、作業で試行錯誤してしまうこともありました。Chefで設定を管理できるため、確実に作業を進めることができます。環境を複製する場合が顕著です。環境の複製は環境変更前の検証や負荷分散のためにサーバ台数を増加するときなどに実施します。それまではドキュメントを参照しながら、同じ設定になるように手動で設定していたところ、Chefなら簡単にできます。一目瞭然ほかにChefならではのよいところはありますか?作業時間が短縮できました。1週間かかっていた作業なら1〜2日で完了します。お客様に2週間お待ちいただいていたところ、余裕を持たせても1週間でお渡しできるようにスピードアップできました。現時点では保守は必ずChefを使うように徹底しています。手動で設定変更が行われてもChefを実行すれば変更箇所がすぐ分かります。イレギュラーな保守が行われてもきちんと把握できて、Chefに登録してある本来の設定に戻すのもすぐにできるので安心です。自分たちでサンプルをレビューしてスキルを共有Chefの運用が定着するまでどのような工夫をしましたか?Chef導入開始から1ヶ月間は毎日コードのレビューをしていました。詳しい人が「この部分は○○するためにある」と解説したり、「○○できるように、この部分のコードを変更しました」と情報を共有するなど。今ではメンバー全員がChefを習得しています。弊社ではインフラのスキルを持つエンジニアとプログラミングのスキルを持つエンジニアが両方いて情報共有できたため、Chefが導入しやすかったと考えています。ChefはRubyベースなのでコードに慣れていないインフラエンジニアには敷居が高くなりがちです。実際に「Chefを使うより自分が手動で設定したほうが早い」とChefを敬遠するインフラエンジニアもいますが、それは最初だけです。使いこなせるようになれば、メリットは大きいはずです。今後試してみたい機能などありますか?現状ではオープンソースのChefServerを使用しています。Chefはいま機能が増えたり、有料版で提供されている機能がオープンソース版にも提供されることもあるため、現在はオープンソース版で様子見をしているところです。有料版にはマルチテナント環境で有用な機能があり、弊社の業務には有用で魅力的と感じています。Chefは弊社のようなクラウドサービスとは親和性が高いです。クラウドサービスの普及に貢献していると思います。LABロゴ使用ガイドライン情報セキュリティ。