6/13、6/14に開催されたオープンソースカンファレンス北海道に参加しました。 今回もDevOps(デブオプス)とChef(シェフ)に関する講演とブース出展という形での参加でしたが、多くの方にご来場いただき有難うございました。 また同じ週にはちょうどChef Casual Talksを東京、大阪、北海道を結んで行いましたのでこちらも紹介します。
講演スライド
ChefはDevOpsのツールセットの「自動化されたインフラ」に該当
ChefとDevOpsは近年話題になることの多いキーワードですが、具体的にどのような関連があるのでしょうか。 DevOpsは開発者(Developer)と運用者(Operator)の関係を改善することでより早く価値を提供するという考え方で、アジャイルやスクラムと同様にチームワークに関する考え方です。 2009年にFlickrのエンジニアによって提唱された時点では、メンタルモデルやツールなどさまざまな要素が含まれています。 そしてその中の1つが「自動化されたインフラ」であり、これがInfrastructure as Codeを実現するChefのようなツールに該当します。
よってDevOpsを実現するにはChefだけを使えばいいのではなく、チームのワークフローやさまざまなツールの活用を同時に行う必要があります。
Gitのようなバージョン管理システムを幅広く導入したり、チャットツールと自動化を組み合わせた運用フローなどの最近聞く話題もやはりDevOpsの文脈に位置づけることができます。
導入事例が続々と増加中
Chefの導入事例は国内外で非常に豊富です。 Facebookの大規模な運用実績はChef11でのパフォーマンス改善による恩恵が大きいでしょう。 また国内でもサイバーエージェントやグリーなど有数の大規模なサービスで採用されています。 Chef11からはサーバーのストレージがPostgreSQLになった事で運用性も上がり、安定性やパフォーマンス面での実績は充分でしょう。
アーキテクチャや文法が複雑ではないか?という指摘もありますが、これは大規模での運用を行う為にはやはり有効な仕組みです。 シンプルに使う場合はほとんどの文法や構造に注意を払う必要はありませんし、規模が大きくなってきた際にさまざまな機能が生きてくると言えるでしょう。
書籍はどちらもオススメ
手前味噌になりますが、最近相次いで出版された書籍を組み合わせる事でChefの導入から拡張まで幅広い知識を獲得できます。 ツールやノウハウがコモディティ化する事で属人性も下がり担当者の引き継ぎなども行いやすいプラットホームになっていくでしょう。 これまで導入を見送っていた方や、Webの情報を集める際に古い情報と新しい情報の区別を付けるのが大変だった方などは一度手にとって見てはどうでしょうか。
最新の話題を動画でチェック
不定期で開催しているChefのイベントではさまざまな観点からの気付きや情報交換が行われています。 今回もDockerやPackerとの組み合わせ、バッドプラクティスとの向き合い方など実践的な情報が出てきました。 倍速再生なども可能ですので是非ご覧ください。
- Chef Casual Talks Tokyo Vol.5 - Chef Meetup | Doorkeeper
- 第3回 Chef Casual Talks Kansai - Chef Meetup Kansai | Doorkeeper
- Chef Casual Talks Sapporo Vol.1 - Chef Meetup Sapporo | Doorkeeper
Chefの発展はまだまだ続きます
昨年から急速に話題に挙がっているImmutable InfrastructureやDockerといったキーワードがあります。 これらのキーワードはChefやInfrastructure as Codeといったキーワードと競合しているわけではありません。 必要に応じて組み合わせて利用する事ができますし、Chefの持っている実績やツール群はシステムの基盤として採用できる信頼性を持っています。
もちろんシステムの基盤構築や運用サービスなどをアウトソースしたい際はEngine Yardのご利用をご検討ください。