hbstudy#01 インフラエンジニア勉強会に行ってきた

  • 株式会社ハートビーツ主催
  • 色んな意味でアウェー感あり
  • 何となく Mac/iPhone 率高い気がするなぁ

インフラエンジニア勉強会

  • 馬場さん
    • ハートビーツのCTO
  • インフラエンジニア
    • サーバエンジニア + ネットワークエンジニア + アーキテクト
    • 情報とか交流とか少ない
    • 情報が少ない
      • SD, WEB+DB PRESS, サーバ/インフラを支える技術
  • インフラエンジニア勉強会
    • 月1 で 2時間程度
    • セミナーじゃなくて,討論するスタイル
    • bpstudy をまるパクリなんだそうな
    • 扱ってみたいテーマ
      • テクノロジー,運用・マネージメント,事例・実例
    • 企画運営
      • ハートビーツ + 有志の方々

Kerne-based VIrtual Machine (KVM)

What's KVM
  • loadable kernel module
  • based on QEMU
  • 仮想化支援技術サポート
  • 動作する OS が多い
    • 完全仮想化?
What's QEMU
How does it work?
  • Kernel の上に QEMU があり,その上に QEMU OS が動く
  • ネットワークは
    • ブリッジ,TAP,TUN
    • 昔の VirtualBox ã‚„ VMware の接続に近い?
Quick Start KVM
# yum install kvm quemu-img bridge-utils
    • CPU の仮想化支援技術が有効になっているかチェック
    • Network は bridge の設定が必要
      • QEMU が起動したときに TAP が割り当てられるようなスクリプト作っている
    • qemu-img でイメージを作成
    • qemu-kvm で起動
      • VNC で起動画面を取得
      • ネットワークブート(-boot n)などとやると,インストール後もネットワークブートしようとするから,それを外して再起動
Problems
  • ホストの複数のNICの割り当て
  • ネットワーク負荷のモニタリング
Roadmap
  • Intel VT の I/O サポートの取り込み
  • メモリ効率の改善
  • リアルモードのサポート
Announces...
  • Tokyu GTUG Night #1
    • 恵比寿で 8/5 に

動的構成管理ソフトウェア Wakame の話

  • やまざき@株式会社あくしゅ さん
自己紹介
  • Virual Reality を長年作っていた
  • あくしゅ
インフラエンジニアに期待すること
  • 日々安定させて
  • 提案もして
  • もっとアプリ側に出てきて欲しい
  • プログラマを押しのけてほしい!
  • なぜか
    • インフラはアプリの特性を知らなければ構築できない
  • Scalability
    • 必ず提案される問題
    • 実際のところ,大規模サイトを運営した経験があるエンジニアは少ない
    • Amazon EC2 でやってみればいいじゃない!
  • いまのホスティングデータセンタ
    • データセンターにあるリソースを確保する感じ
      • 自律的にリソースの確保も出来るようになってきた
  • システム管理者のように振る舞うソフトウェアがあれば
    • そこで Wakame
Wakame
  • sudo gem install wakame
  • 技評で特集された
  • Google でも1位に
  • どのような振る舞いをするのか
  • 全体像
  • 動作原理
    • マシンに Wakeme にインストールしておく
      • Master/Agent åž‹
    • 起動させると,Master が Agent にサービス起動を指示する
      • なので init.d などからは削除しておく
    • Master にスケールアウト計画の指示
      • Master がリソースマネージャに指示を出してインスタンスを起動する
        • その際に Master を起動しないようにしておくと,起動済みの Master から Agent にサービスを起動する指示を出す
        • Load balancer に指示を出して,トラフィックを分散するなども可能
  • スケールアウトは計画的に
    • 予言はできない
    • アクセス負荷の予測など
      • キャンペーンなどは計画できる
    • Yahoo! からのリンク張られる時間とかわかれば・・・・
  • 計画できないのではない.準備が間に合わないだけ
  • 似たようなもの
    • RightScale
    • Vertebra
    • Scalr
    • Chef
      • Puppet の様な感じ
  • ダウンしないインフラへ
  • Q&A
    • 負荷を監視してスケール出来るの?
      • いろいろな値をトリガーに動作することが出来る
      • ロジックをいろいろ作れる
    • Amazon EC2 でノイズのようなスパイクをどうする?
      • 本当のスパイクと区別できないので,難しい
    • 実際の利用例は?
      • いまやっているところ
    • 実験ベースで何台まで?
      • Amazon EC2 の 20台リミットがあるので,まだ
    • Master が落ちたら?
    • どうやってる?
      • 内部でサーバの階層構造を決めて
      • トリガーを指定して
      • 設定できる
    • Eucalyptus で動くの?
      • 動くらしい
    • なぜ Ruby ?
      • 流行だから
      • 労力を削減できる
      • Ruby のバージョン依存については考えてなかった
    • AMQP よりも XMPP の方がいい
      • XMPP の方がログアウト(セッション切れ)をサポートしているので,変えたい
      • ただ,AMQP の方がエンタープライズなのでウケがいい
    • MySQL の Slave を増やすことはできる
      • Snapshot を取得して mount して replication をする方法はあって実際にできている

まとめとメモなど

  • Wakame は便利そう
    • サーバの増強計画は必須
    • Master が落ちたときには,何も指示を出さなくなる
      • 構成情報を全て外部に保存できれば,failover はできそうですね
    • Eucalyptus で実験したいな
    • RabbitMQ のバックエンドが Erlang
  • Rubyの気持ちよさと気持ち悪さについていろいろ話した気がする
  • Poken率結構高かったな
  • インフラを勉強するための会じゃなくて,インフラやってる人が勉強する
    • もちろん次回も行く予定です