サービスの開発・運用 ウノウ編

php

from PHPカンファレンス2007

サービスの開発・運用 ウノウ編(ウノウ株式会社 尾藤正人さん)

  1. ウノウの紹介
    • コンシューマ向けWebサービス開発(BtoC)
      1. 映画生活
      2. フォト蔵
      3. vpop
      4. sugu.cc
      5. gumi
      6. ポケットブレイナー
      7. TilePlex
      8. プラッシュ
      9. ラボブログ
    • 社員30人くらい
    • サーバー20台くらい
  2. サーバーを建てる
    1. 自社サーバー
      • 小規模、大規模
      • メリット
        • 安い
        • 自由度が高い
      • デメリット
        • 面倒
        • 場所
        • 空調
        • 電源
        • 引越し
    2. レンタルサーバー
      • 小規模
      • メリット
      • デメリット
        • 拡張子しずらい
    3. ホスティング
      • 中規模、大規模
      • メリット
        • 自由度が高い
        • 設備が充実
      • デメリット
        • 高い
  3. サーバー構成の例
    1. ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ハードウェア編)
    2. ハードウェアを統一
      • パーツを集めてきたりしない
      • ある構成を決めたら、その構成のマシンを何度も買う
    3. 筐体マシンを買う
      • メリット:音が小さい
      • デメリット:物理的体積が大きい
    4. エレクタに格納
    5. 後ろ向きで並べる
    6. マジックテープでケーブルをまとめる
    7. 養生テープを使う
      • メモ(PC名)
    8. 色違いのLANケーブル
    9. ケーブルに長さを書いておく
  4. ネットワーク構成
    1. ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ネットワーク編)
    2. 2回線以上引く
      • DNSを内側において、回線を自動的に切り替える
    3. グローバルIPはプロキシサーバ
      • リバースプロキシで内部にアクセス
      • バーチャルをきっておけば、サービス運用が楽
    4. ローカルにはクラスBのプライベートIP
      • 別に多くて損なことはない
    5. 各サーバーに恒久的な物理名
      • サーバー1、サーバー2、サーバー3、・・・
      • 実際にはこの呼び名は使われない
    6. 役割に応じて論理名
      • Web、DB
  5. ソフトウェア構成
    1. ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ソフトウェア編)
    2. OSはコピーするもの
      • restore
      • dump
    3. ファイルシステムはext3
      • 安定感
    4. LVMは遅い
    5. 設定ファイルはコピー
      • puppetよさそう
      • 設定ファイルはサーバー毎に極力変えない
    6. 極力パッケージを使う
    7. ソースからインストールするときは/optへ
  6. 運用
    • Software Design 10月号にて
    • ツール
      1. Nagiosでプロトコル
      2. Swatchで監視
      3. Cactiで統計
  7. セキュリティ
    • パッケージはUpdate
    • 不必要なポートはすべて閉じる
    • ftp禁止
    • sshパスワード認証禁止、公開鍵認証にしましょう
    • root作業禁止、sudoしましょう
  8. トラブル
    • 近くに住む
    • メールで起きられるように鍛える
    • トラブルが起きたら
      1. ネットワークの確認(ping、ssh、telnet)
      2. 状態の確認(top、vmstat、netstat、ifconfig、dmesg、ログファイル)
  9. DB
    • 複数台でスケールできるように
    • 更新クエリと参照クエリを分ける(別サーバーに発行できるようにしておく)
    • JOINは極力使わない(DB分割で痛い目をみる)
  10. 高速化
    • コードキャッシュ
    • コード最適化
    • プロファイラ
    • デバッガ
  11. サービスの始め方
    • 小さくはじめる
      • 完成させる必要はない
      • 1人?2人
      • サーバー1台
      • 短期間(1?2ヶ月)
    • 少しずつ拡張
    • 時にはあきらめ

このセッションのマインドマップ1(1,481KB)
このセッションのマインドマップ2(252KB)

?関連リンク?

※尾藤さんのブログに公演で使用したスライドがあります
ベイエリア情報局: PHPカンファレンス2007に参加してきました
http://blog.bz2.jp/archives/2007/09/php2007_1.html

ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ハードウェア編)
http://labs.unoh.net/2006/06/post_19.html

ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ネットワーク編)
http://labs.unoh.net/2006/06/post_21.html

ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(ソフトウェア編)
http://labs.unoh.net/2006/07/post_26.html

ウノウラボ Unoh Labs: ベンチャー流サーバ構築のススメ(同期ツール編)
http://labs.unoh.net/2006/08/post_31.html

About: uechoco