Suche senden
Hochladen
Chefを利用した運用省力化とDevOpsの取り組みについて
•
43 gefällt mir
•
7,266 views
Yuuki Namikawa
Folgen
DevLOVE Conference 2012
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 42
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks
Yuuki Namikawa
Chef概論とレシピ実践入門
Chef概論とレシピ実践入門
Kazuto Ohara
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
Yuuki Namikawa
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
Yoshinori Nakanishi
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy
Takeshi Komiya
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
Apache Module
Apache Module
Tomohiro Ikebe
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
Empfohlen
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks
Yuuki Namikawa
Chef概論とレシピ実践入門
Chef概論とレシピ実践入門
Kazuto Ohara
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
Yuuki Namikawa
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
Yoshinori Nakanishi
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy
Takeshi Komiya
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
Apache Module
Apache Module
Tomohiro Ikebe
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
Puppet on AWS
Puppet on AWS
Sugawara Genki
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
Mina 20130417
Mina 20130417
Naotoshi Seo
クラウド上でのChef活用と ベストプラクティス v0.2.0
クラウド上でのChef活用と ベストプラクティス v0.2.0
NIFTY Cloud
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
Takashi Kanai
Ansible入門
Ansible入門
Daiki Hayakawa
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Naotoshi Seo
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
Yui Ito
入門Ansible
入門Ansible
Taku SHIMIZU
Windows7でもchefしたい!
Windows7でもchefしたい!
Tamie YAMAMOTO
Redmine Ansible
Redmine Ansible
ITO Yoshiichi
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
hiboma
ロール適用ツール ~ansible art~
ロール適用ツール ~ansible art~
辰徳 斎藤
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
Ansible handson ood2016
Ansible handson ood2016
Hideki Saito
Chef windows linux環境構築
Chef windows linux環境構築
靖 小田島
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
Akihiro Kuwano
Mashup Caravan in FUKUOKA (Cyberagent)
Mashup Caravan in FUKUOKA (Cyberagent)
moai kids
Weitere ähnliche Inhalte
Was ist angesagt?
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
Puppet on AWS
Puppet on AWS
Sugawara Genki
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
Mina 20130417
Mina 20130417
Naotoshi Seo
クラウド上でのChef活用と ベストプラクティス v0.2.0
クラウド上でのChef活用と ベストプラクティス v0.2.0
NIFTY Cloud
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
Takashi Kanai
Ansible入門
Ansible入門
Daiki Hayakawa
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Naotoshi Seo
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
Yui Ito
入門Ansible
入門Ansible
Taku SHIMIZU
Windows7でもchefしたい!
Windows7でもchefしたい!
Tamie YAMAMOTO
Redmine Ansible
Redmine Ansible
ITO Yoshiichi
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
hiboma
ロール適用ツール ~ansible art~
ロール適用ツール ~ansible art~
辰徳 斎藤
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
Ansible handson ood2016
Ansible handson ood2016
Hideki Saito
Chef windows linux環境構築
Chef windows linux環境構築
靖 小田島
Was ist angesagt?
(20)
Puppetのススメ
Puppetのススメ
Puppet on AWS
Puppet on AWS
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Mina 20130417
Mina 20130417
クラウド上でのChef活用と ベストプラクティス v0.2.0
クラウド上でのChef活用と ベストプラクティス v0.2.0
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
Ansible入門
Ansible入門
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
入門Ansible
入門Ansible
Windows7でもchefしたい!
Windows7でもchefしたい!
Redmine Ansible
Redmine Ansible
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
ロール適用ツール ~ansible art~
ロール適用ツール ~ansible art~
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
Ansible handson ood2016
Ansible handson ood2016
Chef windows linux環境構築
Chef windows linux環境構築
Andere mochten auch
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
Akihiro Kuwano
Mashup Caravan in FUKUOKA (Cyberagent)
Mashup Caravan in FUKUOKA (Cyberagent)
moai kids
データベースシステム論13 - データベースの運用
データベースシステム論13 - データベースの運用
Shohei Yokoyama
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
Yusuke Ando
株式会社ディー・エヌ・エー LinkedIn導入事例 (2013年12月)
株式会社ディー・エヌ・エー LinkedIn導入事例 (2013年12月)
LinkedIn Japan / リンクトイン・ジャパン
データベースシステム論15 - 関係データモデル以外のデータベース
データベースシステム論15 - 関係データモデル以外のデータベース
Shohei Yokoyama
今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理
Masahito Zembutsu
LODEO開発ストーリー
LODEO開発ストーリー
Tomohiro Shinden
Cent7@zabbix2.4を試す
Cent7@zabbix2.4を試す
masayoshi shiraishi
Eight meets AWS
Eight meets AWS
Tetsuya Mase
20140213 web×マス広告の統合分析第3部_公開用
20140213 web×マス広告の統合分析第3部_公開用
Cyberagent
Wikipedia解析
Wikipedia解析
ghazel7
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
gree_tech
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
Terui Masashi
XMLデータベースについて
XMLデータベースについて
Koji Kawaguchi
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?
Takahiko Sato
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
Kazuki Aranami
VMware的インフラ仮想化の世界
VMware的インフラ仮想化の世界
Takahiro HAGIWARA
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Yukihiko SAWANOBORI
Andere mochten auch
(20)
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
Mashup Caravan in FUKUOKA (Cyberagent)
Mashup Caravan in FUKUOKA (Cyberagent)
データベースシステム論13 - データベースの運用
データベースシステム論13 - データベースの運用
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
株式会社ディー・エヌ・エー LinkedIn導入事例 (2013年12月)
株式会社ディー・エヌ・エー LinkedIn導入事例 (2013年12月)
データベースシステム論15 - 関係データモデル以外のデータベース
データベースシステム論15 - 関係データモデル以外のデータベース
今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理
LODEO開発ストーリー
LODEO開発ストーリー
Cent7@zabbix2.4を試す
Cent7@zabbix2.4を試す
Eight meets AWS
Eight meets AWS
20140213 web×マス広告の統合分析第3部_公開用
20140213 web×マス広告の統合分析第3部_公開用
Wikipedia解析
Wikipedia解析
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~
XMLデータベースについて
XMLデータベースについて
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
VMware的インフラ仮想化の世界
VMware的インフラ仮想化の世界
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Ähnlich wie Chefを利用した運用省力化とDevOpsの取り組みについて
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
Yuuki Namikawa
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
Yuuki Namikawa
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Kenta Suzuki
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
VOYAGE GROUP
Fluentd meetup #2
Fluentd meetup #2
Tomohiro Ikeda
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
junichi anno
20091119_sinatraを使ってみた
20091119_sinatraを使ってみた
ngi group.
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
ロフト くん
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
日本Javaユーザーグループ
20101018 JJUG CCC10 WindowsAzure
20101018 JJUG CCC10 WindowsAzure
Shinichiro Isago
PHP on Cloud
PHP on Cloud
Akio Katayama
沢山のスマホサービス環境を カジュアルにセキュアに運用する
沢山のスマホサービス環境を カジュアルにセキュアに運用する
Hirotomo Oi
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
Masahito Zembutsu
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
Taku Unno
Ähnlich wie Chefを利用した運用省力化とDevOpsの取り組みについて
(20)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Fluentd meetup #2
Fluentd meetup #2
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
20091119_sinatraを使ってみた
20091119_sinatraを使ってみた
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
20101018 JJUG CCC10 WindowsAzure
20101018 JJUG CCC10 WindowsAzure
PHP on Cloud
PHP on Cloud
沢山のスマホサービス環境を カジュアルにセキュアに運用する
沢山のスマホサービス環境を カジュアルにセキュアに運用する
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
Fusion-io(ioDrive) benchmarking #sfstudy 01 LT
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Couch DB in 15minutes
Couch DB in 15minutes
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
Mehr von Yuuki Namikawa
bash(set)コマンドのオプション3選
bash(set)コマンドのオプション3選
Yuuki Namikawa
俺たちの自分戦略 - namikawa (DevLOVE Conference 2012)
俺たちの自分戦略 - namikawa (DevLOVE Conference 2012)
Yuuki Namikawa
#kuwacon Lightning Talks
#kuwacon Lightning Talks
Yuuki Namikawa
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
Yuuki Namikawa
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
Yuuki Namikawa
JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料
Yuuki Namikawa
Railsの運用について
Railsの運用について
Yuuki Namikawa
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)
Yuuki Namikawa
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
Yuuki Namikawa
Amazon EC2 を使ったSaaS運用事例(LT) - Tokyo Cloud Developers Meetup (20090409)
Amazon EC2 を使ったSaaS運用事例(LT) - Tokyo Cloud Developers Meetup (20090409)
Yuuki Namikawa
Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例
Yuuki Namikawa
Mehr von Yuuki Namikawa
(11)
bash(set)コマンドのオプション3選
bash(set)コマンドのオプション3選
俺たちの自分戦略 - namikawa (DevLOVE Conference 2012)
俺たちの自分戦略 - namikawa (DevLOVE Conference 2012)
#kuwacon Lightning Talks
#kuwacon Lightning Talks
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料
Railsの運用について
Railsの運用について
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例
Amazon EC2 を使ったSaaS運用事例(LT) - Tokyo Cloud Developers Meetup (20090409)
Amazon EC2 を使ったSaaS運用事例(LT) - Tokyo Cloud Developers Meetup (20090409)
Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例
Chefを利用した運用省力化とDevOpsの取り組みについて
1.
- DevLove Conference
2012 - Chefを利⽤した運⽤省⼒化と DevOpsの取り組みについて 並河 祐貴 (Yuuki NAMIKAWA) id:rx7 / @namikawa 1
2.
自己紹介 並河 祐貴 (a.k.a.
id:rx7) (株)サイバーエージェント所属 エンジニア Blog: http://d.hatena.ne.jp/rx7/ Twitter: @namikawa 著書・寄稿多数 2
3.
これまでのキャリア 海岸沿いのSIer (2004〜2008) 先端技術調査・導入(R&D)、現場PJ支援(SI)
社内システム企画・運用、社内教育 SonicGarden (2008〜2010) B2B/B2C向けWebサービス、クラウド導入支援 企画/営業/PR/サービス構築/運用/顧客サポート CyberAgent (2010〜) Webサービス構築/運用/いわゆるマネジメント 3
4.
今日の話は・・・ 弊社のサービスとそれらの運用について 最近のアメーバピグのシステム構成とか DevOpsの話はあまりしません
ごめんなさい Chefを利用したプログラマブルなシステム基盤 実際に使ってどうだったか つまり主に「Chef」の話をしに来ました! 4
5.
アメーバピグ (Ameba Pigg)
5
6.
アメーバピグ (Ameba Pigg)
アバター仮想空間サービス きせかえ、おでかけ、ゲーム – カジノ、つり、ライフ(庭)、アイランド(島)、カフェ(店)、 ワールド(街) ユーザ数 1300万人 (2012/09, Amebaユーザの約半数) トラフィック (アバター/ゲーム) 約7〜8Gbps / ピーク帯 同時接続ユーザ数 (アバター/ゲーム) 約40万ユーザ / ピーク帯 6
7.
アメーバピグのアーキテクチャ
Other... HTTP Web User TCP memcached Socket (or none) Socket (Java or node.js...) アバターサービスとゲームで DB 実装言語やミドルウェアは (MySQL or MongoDB...) 異なりますが、基本的な構成は 同一となります。 7
8.
これまでの(主にシステムの)変遷 本体(アバターサービス)だけでも・・・ 自作サーバ導入 DBにFusion-ioのハードウェアを採用
Chefの導入 ネットワーク回線・LBの統合 データセンター移設 2系統化によるメンテナンス時間短縮 8
9.
ピグでのシステム運用スタイル 職種は一応存在する アプリエンジニア(Dev?) インフラエンジニア(Ops?)... チーム・体制
各施策ごとに機能開発を担当するチーム 非機能部分(性能・安定・効率化)を担当するチーム 基本的にシステム運用は全員プレイ モニタリングも 障害対応も リリースやサーバ設定も 当番はありますが、基本的にエンジニア全員で担当します 9
10.
システム運用する上で 運用改善の過程でツールによる作業効率化 アプリケーションのデプロイ サーバを増設する
設定変更を反映する ...etc アプリ/インフラ双⽅の協⼒が必要 セットアップ、パフォーマンスチューニング、トラブ ルシューティング... DevとOpsで作業の境界は一切設けていないです タッグを組まないと解決できない課題が多数 10
11.
少し昔の話
11
12.
僕が今の会社に入って 一番最初にやった仕事
12
13.
ピグのWeb/APサーバを3台増設 その時に渡された手順書(1台分)
13
14.
14
15.
アメーバピグの規模感 アメーバピグ サーバ台数: 約270台
– Web/APサーバ40台、Socketサーバ70台 – DB(MySQL+FIO)サーバ6台 x 2(スタンバイ) – API, Storage, Hadoop Cluster, Mobile, Smart Phone – Auth, Ranking, Backup etc ピグライフ サーバ台数: 約280台 – Socket(node.js)サーバ80台、DB(MongoDB)サーバ150台 – Statサーバ20台、Log管理・解析、Smart Phone…etc ピグアイランド・ピグカフェ・ピグワールド ライフとほぼ同等のシステム構成 サーバ台数は、3サービスで約440台 (テスト環境もあわせると) サーバ台数は、ざっと1000台超の規模 15
16.
1000台規模のサーバ群 DCは3箇所に分散 ⇒ 1箇所へ集約中 ほぼ物理サーバ
+ 一部社内クラウド + CDN 次は、パブリッククラウドも 監視はmon + munin monにはかなり限界を感じているのでリプレースを検 討中... 全サーバを「Chef」で管理 16
17.
ピグのサーバ増設・運用管理 サービス・システム規模、共に右肩上がり 急な増設を求められることもあります ビッグイベントにあわせて30台入れちゃうとか 想定を超えるスピードでサービスが成⻑するとか 数十台のサーバに同じ設定を入れたりも そこで「Chef」を使ってみました
17
18.
それ、 クラウド使ったら でk(ry
クラウドも、運用を効率化する1要素 ミドルウェアの設定管理や、プロセスの状態管理も 含めて今回は「Chef」で自動化する話をします 18
19.
Chefの概要 http://www.flickr.com/photos/jonathanbeard/3307862620/
19
20.
「Chef」とは
サーバの構築作業やシステム管理のツール システムのあるべき状態を設定する オープンソース、Ruby製 利用実績 37signals Engine Yard Rackspace hosting etc… http://www.flickr.com/photos/jonathanbeard/3307862620/ 20
21.
サーバ構築・システム管理自動化の必要性
手作業では、そもそも時間がかかる 数十台、数百台のレベルになると・・・ 同じ役割のサーバごとに環境差異が発⽣したりとか サーバ投入までのリードタイムが⻑くなることで 機会損失を発⽣させることは避けたい 人為的なミスを抑えたい 作業漏れ、ルーチン作業でのオペミス 作業者によって、スキルにバラつき 運用中のサーバでのミスは特に無くしたい 設定に間違いがあっても自動化しておく事で即修正可能 http://www.flickr.com/photos/jonathanbeard/3307862620/ 21
22.
それ、シェルスクリプトでよくね?
サーバの状態が記述できるフレームワーク 基本的なタスクが備わっている 管理タスクの品質をできるだけ揃える Chefでは内部DSLを採用 Rubyでの柔軟な記述ができる プラットフォームの差異が吸収できる ディストリビューションによってコマンドに差異 yumとaptとか http://www.flickr.com/photos/photomequickbooth/4062072718/ 22
23.
Chefのシステムアーキテクチャ
Ruby CouchDB Solr Merb(Rack) CouchDB Chef-Solr Indexer Solr RabbitMQ Chef-Server RabbitMQ (Java) API (Erlang) Chef-Server HTTP(REST) WebUI JSON Chef-Client Chef-Client Knife Chef-Client Client http://www.flickr.com/photos/jonathanbeard/3307862620/ 23
24.
Chefでの”主な”登場人物
Node Role Cookbook Recipe Template Attribute 時間の都合上、基本を簡単にご紹介します http://www.flickr.com/photos/jonathanbeard/3307862620/ 24
25.
Node, Role, Cookbook
の関連(例) nginxのCookbook サーバA APサーバの Passengerの Role Cookbook サーバB RubyのCookbook サーバC gitのCookbook Node Role Cookbook 管理対象の 管理対象の システムのあるべき形を サーバ グルーピング 定義する設定 http://www.flickr.com/photos/jonathanbeard/3307862620/ 25
26.
Chefのリポジトリ構造 (Cookbook)
cookbooks/ 設定したいパラメータ(各サーバ 固有のものやデフォルト値など) |-- attributes を記述したもの |-- definitions |-- files |-- libraries システムのあるべき姿、 |-- providers つまり設定内容を実際に 記載したRubyスクリプト |-- recipes |-- resources `-- templates サーバへ配置する設定ファイルの テンプレートで、eRubyで記述する http://www.flickr.com/photos/jonathanbeard/3307862620/ 26
27.
Recipe、Templateの一例
./recipe/default.rb ./templates/default/ports.conf.erb package "apache2" do Listen <%= port %> action :install NameVirtualHost *:<%=port %> end template "/etc/apache2/ports.conf" do source "ports.conf.erb" ./attributes/default.rb owner "root" default[:port] = “8080" group "root" mode 0644 variables( :port => node[:port] ) end “port”:”80” “node A”の情報を保持 [Node Attribute], service "apache2" do [Run List] 等 action [ :enable, :start ] 実⾏するrecipeの設定 end chef-client node A 実⾏ Chef-Server http://www.flickr.com/photos/jonathanbeard/3307862620/ 27
28.
Chefで利用できるResource
Cookbook File Mount Cron Ohai Deploy Package Directory PowerShell Script Erlang Call Remote Directory Execute Remote File File Route Git Ruby Block Group SCM HTTP Request Script Ifconfig Service Link Subversion Log Template Mdadm User http://www.flickr.com/photos/jonathanbeard/3307862620/ 28
29.
Chefのちょっとイケていないところ
サーバのセットアップが面倒くさい サーバセットアップは最初だけなので許容できる Ubuntuだと割と楽かも。クライアントは簡単 名前がSEO的に致命的 Chef, Cookbook, Recipe, knife... リアルに調べ物をする時に困ります (dry-runができない) テスト環境が必須 (クラウド・仮想化が最適) 10.14系から利用可能に! http://www.flickr.com/photos/photomequickbooth/4062072718/ 29
30.
Chefの運用 http://www.flickr.com/photos/jonathanbeard/3307862620/
30
31.
Chefを活用したサーバ増設
PXE + kickstart + Chef 1. 事前に chef-server 側でNodeの設定が必要 2. サーバに線を繋ぎ電源ON、PXEブート開始 3. Label No.とNode名を入⼒し、OSインストール開始 4. 同時に chef-client のインストールと設定 5. kickstart の %post で chef-client を実⾏ kickstartのcfgファイル 通常のOS インストールタスク 通信 client PXE+ksサーバ chef-clientのインストール OSインストール後 通信 chef-clientの設定 は直接通信 chef-clientの実⾏ Chef-Server http://www.flickr.com/photos/jonathanbeard/3307862620/ 31
32.
Kickstartでの %post スクリプト
1. Chef Clientのインストール 2. /etc/chef/client.rb の配置 3. “node_name”を取得・上記ファイルに設定 4. /etc/chef/validation.pemを配置 5. chef-clientコマンドを実⾏ 実際のOSインストール時にPXE Boot時に⼊⼒するラベル例 boot: 1 node=chef-test01 http://www.flickr.com/photos/jonathanbeard/3307862620/ 32
33.
Chefを活用したサーバ増設
今はオンプレミスな物理環境を想定 クラウド環境でも応用可能 EC2だと、事前にAMIを作成しておいて、user-dataに Node名を指定して... (弊社のOpenStackクラウド基盤を活用) http://www.flickr.com/photos/jonathanbeard/3307862620/ 33
34.
Cookbookの使い⽅
Cookbookの例 ネットワーク設定 H/Wに必要な設定 – 主にH/W固有で必要なドライバやRAIDチェックスクリプト等 各サーバ共通で必要な設定 – DNS, NTP, LDAP, 監視ライブラリ, 鍵交換等 各Roleで必要な設定 NodeへのCookbook設定例 RoleへのCookbook設定例 { { "run_list": [ "run_list": [ "recipe[network::xxxxx]", "recipe[ameba-common::pigglife]", "recipe[hw::dell_r310]", "recipe[pigglife-mongodb::mongod]" “role[pigglife-mongodb]" ] ] } } http://www.flickr.com/photos/jonathanbeard/3307862620/ 34
35.
Chefを使う上でやっていること
Script Resource は基本的に使わない 何度でも実⾏される chef-client実⾏時のチェック・運用が面倒 何度実⾏しても問題ないものしか使わない 過去、こんな感じで書いていました... script “script_name" do interpreter "bash" user “username" creates comp_dir + “script_name.done" code <<-EOH command ...... ...... EOH end http://www.flickr.com/photos/jonathanbeard/3307862620/ 35
36.
Chefを使う上でやっていること
各nodeのChef適用は、chef-clientを実⾏ tomahawk: 複数のサーバで同じコマンドを実⾏ “knife ssh”, “knife ssh_cheto” 等も NodeのAttributeの登録 JSONファイルを自動⽣成して登録・バージョン管理 RoleもJSONファイル形式でバージョン管理 アンインストール・削除等の処理も忘れずに Environment(0.10〜)の活用 development, staging, productionの分別 http://www.flickr.com/photos/jonathanbeard/3307862620/ 36
37.
Chefを使う上でやっていること
verbose_logging false デフォルトではInfoログが出過ぎる 影響のあった変更処理のみロギング why-run (0.10.14〜) Chefでの処理をnodeに反映しないテストモード CouchDBのバックアップ Chefサーバのバックアップ、/etc/chef 以下も – (Chefリポジトリをバージョン管理していて、そちらのバック アップがあれば特に必要ないかも) http://www.flickr.com/photos/jonathanbeard/3307862620/ 37
38.
Chefを運用する上での課題
Recipeが正しいことを保障するには? 仮想マシン等を活用してテスト – VirtualBoxの制御ができるVagrantが便利 – 本当に正しい処理が⾏われているかは人手での確認が必要 why-run – これも人手での判断が必要 Recipeのユニットテスト – 場合によっては十分、nodeが正しい状態を保障しきれない nodeでの自作チェックスクリプト・F/W http://www.flickr.com/photos/jonathanbeard/3307862620/ 38
39.
Cookbookでのコミュニケーション
セットアップ手順のチェックをRecipe (Cookbook)という名のコードベースで DevとOpsのクロスチェック Cookbook/Node/Role等、バージョン管理して いるので、過去との差分も確認しやすい 誰でもRead/Writeできる場所にあるので、みん なでメンテナンスできる DevとOpsの新しいコミュニケーションツール http://www.flickr.com/photos/jonathanbeard/3307862620/ 39
40.
これからChefを勉強する⽅へ
chef-solo が便利 chef-server を必要とせず、ローカルにCookbookを 適用できる 小環境ならこれで十分 他にも、VMとかでテストとか練習とか Chefのインタラクティブシェル “shef” Opscode Platform (Hosted Chef) Chefのホスティング環境 (サーバ) 5 nodes までなら、無料で試せる http://www.flickr.com/photos/jonathanbeard/3307862620/ 40
41.
まとめと今後の展望
Chefを活用することで多くのサーバの増設・管理 にかかる負担を軽減 あるべき状態に自動で設定・維持できる ルールを少し覚えれば、誰でも簡単に設定が書ける 内部DSLなので、Rubyを覚えれば処理も柔軟に書ける クラウド等の基盤サービスと連携して、インフラ 構築/運用の完全オートメーションができる仕組 みにしたい http://www.flickr.com/photos/jonathanbeard/3307862620/ 41
42.
Chefでサーバ管理の省⼒化
をはじめてみませんか? http://www.flickr.com/photos/jonathanbeard/3307862620/ 42
Jetzt herunterladen