SlideShare a Scribd company logo
クックパッドのスケーリング



       クックパッド株式会社
             高田悟史
自己紹介



  ■ 高田悟史(たかださとし)
  ■ 787万人を支えるインフラチーム
   ■ スケール関連を担当中
目次




 ■ キャパシティプランニング
 ■ サーバ増設のスピードアップ
キャパシティプランニング
キャパシティプランニングとは




 ユーザがいつまでも快適に
 使い続けるためにやるべき
 こと
キャパシティプランニング



          ■ 分析
          ■ 予測
          ■ 配置
キャパシティプランニング - 分析



  ■ 現在のキャパシティを知る
   ■ 長期に渡るデータの記録
   ■ サーバ特性に合わせて、キャパシティ
    を計る指標を決める
キャパシティプランニング - 予測



  ■ キャパシティを越える日を予測する
   ■ 指標と計測データの結びつけ
   ■ 上限を特定して対策をする時期を確定
キャパシティプランニング - 配置



  ■ 迅速にサービスインできるようになる
   ■ 自動インストール
   ■ 自動設定
キャパシティプランニング



          ■ 分析
          ■ 予測
          ■ 配置
サーバ増設のスピードアップ
クックパッドのサーバー増設の流れ

                           サーバ管理ツール

                                Rails
                                          boot用サーバ
  (2-1)kickstart.cfgの取得

                                            DHCP

                            (1)PXE Boot
                                             tftp
               New




(3)puppetd                                  Apache
                          (2-2)パッケージ取得



       puppetmasterd
OSインストール時の問題


■ 手間がかかる
 ■ 電源をOn
 ■ OSのCDROMからインストール
  ■ 次へ次へ
OSインストールまでの流れを改善


■ 自作のサーバ管理ツールにサーバ情報を登録
■ 電源をOn
■ PXE Bootでネットブート
■ 動的生成されたkickstart.cfgを使ってKickstart
 ■ インストール終了まで待つだけ
サーバ情報を登録
kickstart.cfgを自動生成
■ http://ブートサーバ/deployment/kickstart
 ■ ホスト名
      network --device eth0 --bootproto dhcp --hostname test1


 ■ %post に出力される
      # eth0
      cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
      DEVICE=eth0
      BOOTPROTO=none
      ONBOOT=yes
      TYPE=Ethernet
      IPADDR=192.168.0.1
      NETMASK=255.255.255.0
      EOF
PXE BootとKickstartとPuppet

                          サーバ管理ツール

                              Rails
                                        boot用サーバ
 (2-1)kickstart.cfgの取得

                                          DHCP

                          (1)PXE Boot
                                           tftp
               New




(3)puppetd                                Apache
                         (2-2)パッケージ取得



       puppetmasterd
OSインストール後の問題


■ ソフトウェアインストール/設定用スクリプトの
 メンテナンスコスト

■ パッケージの統一
■ サーバー毎に異なる設定の反映
 ■ database.yml
 ■ my.cnf
Puppetを導入した


 ■ Puppetとは
  ■ サーバの状態管理ツール
  ■ Manifestに状態を記述することで反映
  ■ サーバ / クライアント構成
Puppetの構成


                        puppetmasterd




    (1)Manifestを取得




              puppetd                   puppetd




 (2)Manifestを実行
パッケージの統一(Passengerの例)



    package {
     'passenger':
       provider => 'gem',
       notify => Service['httpd'],
        ensure => '2.2.5';
    }
サーバごとに異なる設定(/etc/my.cnfの例)

 ■ Manifest
     $mysql_server_id = $hostname ? {
      db1 => 10001,
      db2 => 10002,
      db3 => 10003,
         db4 => 10004,
         default => 'error'
     }


 ■ Template
     server-id        = <%= mysql_server_id %>
PXE BootとKickstartとPuppet

                           サーバ管理ツール

                                Rails
                                          boot用サーバ
  (2-1)kickstart.cfgの取得

                                            DHCP

                            (1)PXE Boot
                                             tftp
               New




(3)puppetd                                  Apache
                          (2-2)パッケージ取得



       puppetmasterd
Puppet導入の副作用



 ■ 学習コスト
 ■ インストール/設定の手間を0にするまでには
  それなりに時間がかかる

 ■ manifestにもリファクタリングが必要
まとめ
まとめ


 ■ サーバ増設のスピードは重要
 ■ OSのインストールにかかる時間は変わらな
  いが、手間がかからなくなった

 ■ Puppetを導入して、ソフトウェアのインス
  トール/設定の手間がほぼ0になった
ご清聴ありがとう
 ございました

More Related Content

KEY
Fabricでサーバー管理をDRYにしよう
PDF
Zabbix rails
PPTX
Net opscoding#4発表資料
PDF
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
PDF
Japan OpenStack User Group 34th Meetup - Handson Environment
PDF
JOSUG 34th Meetup
PPT
Pgcon2012 ori-20120224
PDF
Using Kubernetes on Google Container Engine
Fabricでサーバー管理をDRYにしよう
Zabbix rails
Net opscoding#4発表資料
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
Japan OpenStack User Group 34th Meetup - Handson Environment
JOSUG 34th Meetup
Pgcon2012 ori-20120224
Using Kubernetes on Google Container Engine

What's hot (19)

PDF
KVM環境におけるネットワーク速度ベンチマーク
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PPTX
さくらのクラウドでVyOS使ってみた
PPTX
ネットワークエンジニアのための Puppet / Chef
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
PDF
Ethernetの受信処理
PDF
OpenStack構築手順書 Juno版
PDF
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
PDF
Openstack+Ceph設定ガイド
PDF
PG-REXで学ぶPacemaker運用の実例
PDF
systemdを始めよう
PDF
OpenStack Grizzly構築手順書
PDF
マイクラ自動化枠第2回資料
PDF
GlusterFS Masakari Talks
PDF
About OpenStack DBaas (trove)
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
PDF
フルオープンソースでここまで出来る。OpenStackの構築と運用
PDF
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
PPTX
PostgreSQL共有バッファと関連ツール
KVM環境におけるネットワーク速度ベンチマーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
さくらのクラウドでVyOS使ってみた
ネットワークエンジニアのための Puppet / Chef
CloudFoundry 2 on Apache CloudStack 4.2.1
Ethernetの受信処理
OpenStack構築手順書 Juno版
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
Openstack+Ceph設定ガイド
PG-REXで学ぶPacemaker運用の実例
systemdを始めよう
OpenStack Grizzly構築手順書
マイクラ自動化枠第2回資料
GlusterFS Masakari Talks
About OpenStack DBaas (trove)
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
フルオープンソースでここまで出来る。OpenStackの構築と運用
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
PostgreSQL共有バッファと関連ツール
Ad

Similar to クックパッドのスケーリング (20)

PDF
Personal Cloud Automation
PDF
環境構築自動化ツールのご紹介
PDF
Infinite Debian - Platform for mass-producing system every second
PDF
Case study puppet
PDF
Puppet on AWS
PDF
Kickstart, Puppet, Docker
PPTX
Puppetのススメ
PPTX
明日から始める Chef 入門 #bpstudy
PDF
PXE @第一回成果報告会(2012/12/17)
PDF
XenServerによるお手軽開発サーバ運用
PDF
What is chef
PPTX
ちゃんとWeb会議
PDF
TAM 新人ディレクター システムスキルアップ プログラム第3回「Webサーバの選定」
PDF
とある帽子の大蛇料理Ⅱ
PDF
Solaris 11 ディープダイブセミナー インストール編
PDF
Lxc で始めるケチケチ仮想化生活?!
PDF
Webサーバのチューニング
DOC
Cloud founryインストール手順
PDF
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
PPT
LL言語でもHudsonを使おう!
Personal Cloud Automation
環境構築自動化ツールのご紹介
Infinite Debian - Platform for mass-producing system every second
Case study puppet
Puppet on AWS
Kickstart, Puppet, Docker
Puppetのススメ
明日から始める Chef 入門 #bpstudy
PXE @第一回成果報告会(2012/12/17)
XenServerによるお手軽開発サーバ運用
What is chef
ちゃんとWeb会議
TAM 新人ディレクター システムスキルアップ プログラム第3回「Webサーバの選定」
とある帽子の大蛇料理Ⅱ
Solaris 11 ディープダイブセミナー インストール編
Lxc で始めるケチケチ仮想化生活?!
Webサーバのチューニング
Cloud founryインストール手順
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
LL言語でもHudsonを使おう!
Ad

Recently uploaded (9)

PDF
西都 採用サイト掲載用ピッチ資料 | 安心して働ける環境と成長できるキャリアパス
PPTX
Document from Suhani (2).pptx on the following topic
PDF
Fellowship Co.,Ltd. Company Overview for Students
PPTX
株式会社フライク_______採用ピッチ資料_____update20250801
PDF
Syslabo_Company Guide_for saleshub_20250808
PPTX
「AI×仕事の進め方」研修資料.pptx RIZAPビジネスイノベーション株式会社
PDF
AI活用の成果が変わる!生成AI時代の速読・読解力トレーニング「AI Reading Lab」
PDF
【QYResearch】世界製薬業界の市場変革と将来展望における多角的な事業展開の探求
PDF
自動鉱山スキャナー、グローバルトップ11企業のランキングと市場シェア2025~2031年.pdf
西都 採用サイト掲載用ピッチ資料 | 安心して働ける環境と成長できるキャリアパス
Document from Suhani (2).pptx on the following topic
Fellowship Co.,Ltd. Company Overview for Students
株式会社フライク_______採用ピッチ資料_____update20250801
Syslabo_Company Guide_for saleshub_20250808
「AI×仕事の進め方」研修資料.pptx RIZAPビジネスイノベーション株式会社
AI活用の成果が変わる!生成AI時代の速読・読解力トレーニング「AI Reading Lab」
【QYResearch】世界製薬業界の市場変革と将来展望における多角的な事業展開の探求
自動鉱山スキャナー、グローバルトップ11企業のランキングと市場シェア2025~2031年.pdf

クックパッドのスケーリング

Editor's Notes