サーバの構築作業や運用管理を自動化する「chef」 (cadc研究レポート発表lt)

14

Click here to load reader

Upload: yuuki-namikawa

Post on 24-May-2015

13.869 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

1http://www.flickr.com/photos/jonathanbeard/3307862620/

[[研究課題レポート発表研究課題レポート発表]]

サーバの構築作業 運用 をサーバの構築作業 運用 を自動化する「自動化する「ChefChef」」

(株)サイバーエージェントアメーバ事業本部 プラットフォームDivサービスディベロップメントG, CADC

並河 祐貴(id:rx7, @namikawa)

Page 2: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

2http://www.flickr.com/photos/jonathanbeard/3307862620/

最近、割とよくある光景

Page 3: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

3http://www.flickr.com/photos/jonathanbeard/3307862620/

○△の負荷がパないので、

Page 4: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

4http://www.flickr.com/photos/jonathanbeard/3307862620/

サーバを30台増設するしかない。

Page 5: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

5http://www.flickr.com/photos/jonathanbeard/3307862620/

来週までに。

Page 6: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

6http://www.flickr.com/photos/jonathanbeard/3307862620/

(((( ;゚Д゚)))ガクガクブルブル

Page 7: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

7http://www.flickr.com/photos/jonathanbeard/3307862620/

Chefを使って、急なサーバ増設も、普通にこなせるようになってきました!

Page 8: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

8http://www.flickr.com/photos/jonathanbeard/3307862620/

「「ChefChef」とは」とは• サーバの構築作業 システム の ール

– システムのあるべき状態を設定する• オープンソース、Ruby製

• 用実– 37signals– Engine Yard– Rackspace hosting– etc…

Page 9: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

9http://www.flickr.com/photos/jonathanbeard/3307862620/

サーバ構築・システム 自動化の 勥勯サーバ構築・システム 自動化の 勥勯

• 手作業では、そもそも時間がかかる– 数十台、数百台のレベルになると・・・– 割のサーバ とに が発生したりとか

サーバ までのリード イムが くなることで機会損失を発生させることは避けたい

運用中のサーバでのミスは特に無くしたい設定に間違いがあっても自動化しておく事で即修正可能

• 人為的なミスを抑えたい– 作業 れ、ルーチン作業でのオ ミス– 作業者によって、スキルにバラつき

Page 10: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

10http://www.flickr.com/photos/jonathanbeard/3307862620/

それ、シェルスクリプトでよくそれ、シェルスクリプトでよくねね??

• Chefでは内部DSLを採用– スクの をできる け えつつ、Rubyでの

柔軟な記述ができる

• プラットフォームの が できる– ディストリビ ーションによって ンドに

• yumとaptとか、adduserとuseraddとか・・・

• サーバの状態が記述できるフレームワーク

Page 11: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

11http://www.flickr.com/photos/jonathanbeard/3307862620/

ChefChefのシステムアーキテクチャのシステムアーキテクチャ• Ruby• Merb(Rack)• CouchDB• Solr• RabbitMQ• (Java)• (Erlang)• HTTP(REST)• JSON

Chef-Server

API

Chef-Server

WebUI

RabbitMQ

CouchDB Solr

Chef-Solr

Indexer

Chef-ClientChef-ClientChef-Client Knife

Client

Page 12: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

12http://www.flickr.com/photos/jonathanbeard/3307862620/

ChefChefのちょっとイケのちょっとイケててないところないところ• 名前がSEO的に致命的・・・

– Chef, Cookbook, Recipe, knife...

• dry-runができない・・・

• エラー文がちょっとわかりづらい・・・

Page 13: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

13http://www.flickr.com/photos/jonathanbeard/3307862620/

実際の設定については時間の都合上、割愛します

Page 14: サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)

14http://www.flickr.com/photos/jonathanbeard/3307862620/

現状と今後現状と今後• アメーバでは、ピグを中心に使い始めています。

• 手探りで使っているので、設定の書き方も、初期と比べて変わってきた。

• クラウド等の基盤サービスと連携して、インフラ構築/運用の完全オートメーションができる仕組みにしたい。