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

  • open source processor emulator
  • Host : x86(64), PowerPC
    • Target : x86(64), ARM, SPARC, MIPS
    • エミュレーション : ビデオカード,マウス・キーボード,IDE,NIC なども
    • VNC をサポート,BIOS エミュレーションも
  • Eucalyptus
  • OpenNebula

###How does it work?

  • Kernel の上に QEMU があり,その上に QEMU OS が動く
  • ネットワークは
    • ブリッジ,TAP,TUN
    • 昔の VirtualBox や VMware の接続に近い?

###Quick Start KVM

  • Fedora
# 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
    • 恵比寿で 85

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

  • やまざき@株式会社あくしゅ さん

###自己紹介

  • Virual Reality を長年作っていた
  • あくしゅ
    • Ruby で受託開発
    • GANREF.jp (PHP)

###インフラエンジニアに期待すること

  • 日々安定させて
  • 提案もして
  • もっとアプリ側に出てきて欲しい
  • プログラマを押しのけてほしい!

  • なぜか

    • インフラはアプリの特性を知らなければ構築できない
  • Scalability

    • 必ず提案される問題
    • 実際のところ,大規模サイトを運営した経験があるエンジニアは少ない
    • Amazon EC2 でやってみればいいじゃない!
  • いまのホスティングデータセンタ

    • データセンターにあるリソースを確保する感じ
    • 自律的にリソースの確保も出来るようになってきた
      • Amazon Web API
  • システム管理者のように振る舞うソフトウェアがあれば

    • そこで Wakame

###Wakame

  • sudo gem install wakame
  • 技評で特集された
  • Google でも1位に

  • どのような振る舞いをするのか

  • 全体像

    • Xen インスタンス群 + リソースマネージャ + ストレージ = Amazon EC2
  • 動作原理

    • マシンに 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率結構高かったな
  • インフラを勉強するための会じゃなくて,インフラやってる人が勉強する
    • もちろん次回も行く予定です
 
comments powered by Disqus