Velocity 2009 レポート – 第一日目 -
第2回となるオライリー主催の Velocity 2009 に参加してきました。今日は、第一日目ワークショップの日でした。

カンファレンスへの登録は、セルフチェックイン式で事前にメールで送られてくる確認コードが必要です。確認コードを入力すると、受付の人から名前を呼ばれて参加証を含む登録カードをもらいますが、このときに ID が必要でした。運よくパスポートをホテルの部屋に預けなくて持参してきたのでパスポートを提示して無事参加証を受け取りました。

参加証と一緒に Velocity のアジェンダと Linux Journal をもらいました。どうして Linux Journal なのか分かりませんが、おそらくアメリカには Web DB +Press のような本はないからのではないかと思いました。正直なところ高価かカンファレンスなので、豪華なものをもらえるのかなと思っていましたが、そうでもなかったですw。バッグとかほしかった。。。

第一日目で参加したカンファレンスの日程表は、次のとおりです。
まず、Death of a Web Server: Crisis in Caching に参加しました。

この講演では、実際に隣で 1U サーバ(スペック:Intel Core2 Duo, 4GB RAM)で、車の検索サイトを動作させながら、実際にキャッシュを利用してそのパフォーマンスを計測するデモを行っていました。動作環境は、次のとおりでした。
- OS: Micrsoft Windows 2008 Server
- DB: Microsoft SQL Server 2005
- プログラミング言語: ASP.NET
デモサイトへの負荷テストツールには、Microsoft Visual Studio Team 2008 を使って行っていて、そのときの秒間リクエスト数などのモニタリングには専用のパフォーマンスモニタを使用していました。数秒おきくらいで、秒間リクエストやメモリの使用量などをまとめて表示していたので便利そうなツールでした。
デモサイトの変更も Visual Studio で変更してからメニューから一発でデプロイしていたのも印象的でした。
キャッシュするよくあるデータベースの内容を対象にしていました。キャッシュする方法は、ASP.NET に含まれているキャッシュのライブラリで行っていたので、詳しく分かりませんでしたが、キャッシュごとにそのヒット率を集計するプログラムを自作しながらキャッシュがちゃんと使われているかというとても基本的なことを再確認させられる講演でした。
かなり、.NET 技術にフォーカスしていたので、すぐには使うことはないと思いますが、他の技術でも基本的なことはやはり同じだと再確認させられました。
海外のカンファレンスは初参加の初セッションでしたが、10分間の質問時間にもかかわらず時間をオーバーしてまで質問が出続けていたのは印象的でした。
続いて、Introduction to Managed Infrastructure with Puppet に参加しました。普段、愛用している Puppet の入門的な講演だったので、既知の内容がほとんどでしたが以外に知らないこともありました。
Puppet では、基本的に manifest と呼ばれるシステムの状態定義ファイルを Puppet の独自言語で書いて実行する必要がありますが、-e オプションを使うことでコマンドライン一発でも実行できます。例えば、次のような感じです。
$ puppet -e ‘file { “/tmp/foo”: ensure => present }’
notice: //File[/tmp/foo]/ensure: created
通常ユーザ権限で実行するときには、$HOME/.puppet/var ディレクトリを作成する必要があります。
noop オプションをつけると、実際にはシステムに適応しないで動作確認することができます。
$ puppet -e ‘file { “/tmp/foo”: ensure => present }’ –noop
notice: //File[/tmp/foo]/ensure: is absent, should be present (noop)
Puppet の設定の一部をみるときには、configprint オプションをつけます。
$ puppet –configprint modulepath
/Users/naoya/.puppet/modules:/usr/share/puppet/modules
test オプションをつけると、Puppet デーモンが起動している状態でもコマンドライン一発で puppet を起動することができます。
$ puppet –test
puppetmastered の certname は、実際にはサーバでためすときテストサーバを実際のサーバのホスト名を指定にすることで可能なようです。
あと、File リソースで filebucket を指定しておくと置き換える前のファイルを bucket へ保存することができるのですが、Puppet の作者でもログをみてバックアップファイルのファイル名のハッシュ値を手動で指定していたのには驚きました。やっぱり手動で設定するか方法はない様子です。
今回の資料はここに公開されていて、サンプルの manifest などは git でアクセスできます。
$ git clone git://github.com/reductivelabs/velocity_puppet_workshop_2009.git
このセミナーで偶然隣に座ってきた人が、Reductive Labs の Andrew Clay Shafer さんで、Luke Kanies 氏を紹介してくれました!
今回の講演は、Puppet 入門にかなりいいので日本語版を作って公開してよいか Andrew Clay Shafer 氏に確認したら問題なさそうなので作りたいと思います。
Hadoop Operations: Managing Big Data Clusters
Cloudera Inc. の Jeff Hammerbacher 氏による、Hadoop の概要から実際の運用まで幅広い内容をカバーした講演でした。同氏は、Cloudera Inc. を立ち上げる前には Facebook の 30 名近いデータチームにいたそうです。
おもに次の内容についての講演でした。
- Hadoop の概要とサンプルケースについて
- Cloudera と Hadoop について
- クラスターに使用するハードウェアとソフトウェアについて
- インストールと設定
- HDFS(講演中は、HDFS についてかなり重点的に説明していました)
- MapRedeuce
- クラスターのライフサイクルとメンテナンスについて
同日のスライドは、ここに公開されています。スライドにかなり詳しい内容が書かれているのでかなり役に立ちそうです。
Scalable Internet Architectures
OmniTI の Theo Schlossnagle 氏によるウェブのアーキテクチャーに関する講演でした。同氏は、同名の本が発売されています。
正直なところスライドをめくるのが早くて、まとめることができなかったので、スライドが公開されたあとに振り返ってみようと思います。

時間をあけて Ignite Velocity という BOF がありました。これは、20 スライドを自動的に 15 秒ずつ表示しての LT のようなものでした。
印象的に残ったのは、Yahoo! の人による Velocity の公式ホームページに使われている画像を GIF から PNG(ピンジーと発音していた) に変換してページの全体サイズを約 30% ほど削減することができたという話。
varinish についての話が印象的に残りました。このスライドは、ここに公開されています。
あと、ネット環境は San Jose ダウンタウンということで、ダウンタウンに Wifi、ホテルにも Wifi、会場にもホテルと Wifi 盛り沢山です。Wifi はほとんど解放されています。電源は、さすがに全員分といかないですが会場の端に用意されています。なので、セッションが始まるときには、電源まわりに集まってきますw。
P.S.
# 写真はすべて iPhone で撮影したものですが、デジイチで撮影した写真はデジイチと接続する USB ケーブルを忘れてしまったので、あとでアップ予定です。
Tags: velocityconf







