クックパッドの新オフィスでitamaeによる寿司の無限プロビジョニングを体験して、Ansibleのお悩み相談してきた #infra_sushi
今日は、クックパッドの新オフィスで「Infrastructure as Code 現状確認会」があり、運良く繰り上がれたので参加してきました。
新オフィスは、恵比寿ガーデンプレイスタワーというおしゃれスポットで、オフィスにはキッチン付きのスペースがあって、そのキッチンではその寿司が無限プロビジョニングされているという夢のような空間でした。
写真:無限プロビジョニングされる寿司
本編終了後のLT枠が空いているとのことだったので、本編の間に資料を作ってLTもしてきました。内容は昨日つぶやいた最近のお悩み相談。最近、AWS + Ansibleの環境で実現方法に困ったことを2つ紹介して、相談させてもらいました。
Ansible + AWSの環境で使ってる人がいたら、どうしてるか聞きたい。
資料はこれ。
そして、これがお悩み相談に対する会場でのベストアンサー。
適材適所という言葉があってね????
ですよねー(´;ω;`)
お悩みの詳細はスライドを見てもらうとして、一つのツールですべて賄おうとして頑張ってしまうと、構成に矛盾が出てしまうので、適材適所で組み合わせて使わないといけないというのは、完全に正論。
自分の中では、この問題は根本的にはインフラをどう抽象化・モデル化して、コードに落とすかというところにも関わる問題で、試行錯誤していたところをバッサリやってもらったので、だいぶInfrastructure as Codeへの理解が深まった気がしました。
手抜きをしてしまいたいがために、ツールが向いていないところまで無理やりはめてしまって、あとから拡張性やメンテナンス性に限界が来て死ぬというのは、よくやってしまう失敗なので、つらみが出たら、根本的にアプローチが間違っていないか見なおした方がいいですね。。。
会場でのツイートはTogetterにまとまっているのでこちらから。
本編の内容
本編のスライドで見つけたものを貼っておきます。
構成管理ツールととしては、"Chef"とクックパッドで開発されている軽量Chefの"itamae"、"Ansible"が話題に上がっていました。ちなみに会場シェア的には、Chefはほぼすべての人の手が上がっていて、Ansibleは半分ぐらいという感じ。構成管理ツール以外では、あらゆるインフラをDSLでCode化してしまうお話とServerspac/SpecInfraのライブV2リリース。
自分では構成管理ツールにAnsibleを使っているのですが、インフラをコードに落とすという観点では、やはりChefは完成度の高いツールだと思うので、そのエッセンスだけ抜いてできることを限定して、学習コストを下げたitamaeは良さげな感じでした。
また、@tagomorisさんの発表でも「Chefは、Rubyで何でもできますよ、言われると…」みたいな話があったと思うのですが、自由度が高いっていうのは諸刃の剣で、なんでも書けるためにあとでメンテがつらくなったり属人化しやすくなったりしてしまうので、その点ではitamaeやAnsibleのようにできることが限定されているのは、自分の環境では逆にメリットになっているように思います。
Infrastructure as Codeは、あらゆるシステムの常識になるぐらい流行って欲しいので、そのためにももう少し自分の中で経験を貯めてどこかで発表したいですねー
クックパッドのみなさんには、ISUCON予選に引き続き、またお世話になりました。お寿司大変美味しかったです。ごちそうさまでした(・∀・)
それではこの辺で。
2014/10/05 追記
このお悩み相談について、Ansible本の筆者の@r_rudiさんから回答ブログをいただき、それに関わるやりとりをしたのでまとめました。
そちらをみてもらえると、こういう問題に対するAnsibleでの解決策がわかるので、合わせてお読みください。
回答ブログはこちら。
Ansibleでの連番ホスト名をつけるなど — そこはかとなく書くよん。
それに関連するやりとりのまとめはこちら。
AWS + Ansibleのお悩み相談についてのやりとり - Togetterまとめ
ちなみに、Ansible本はこちら。