会場のコワーキングスペース Co-Edoは茅場町ということで、
青物横丁から日本橋経由でダッシュで向かったものの、先日の秋葉原に続き、ちょっと遅刻で到着。
■ Amazon SWF – Deep Live! - マイニングブラウニー 得上竜一さん
会場の人のラップトップにJarファイル(クライアント)をダウンロードしてもらって、
SWFを使ってそれぞれにmidiファイルを配布して、オーケストラってやろうっていうセッション。
会場にいる人が参加出来るこういうのはアツい。。
jarファイルをダウンロードしてきて、
$ wget http://jaws.tottokug.com/2/s.jar --2013-05-17 18:54:31-- http://jaws.tottokug.com/2/s.jar 〜略〜 100%[===================================================================>] 14,531,044 230KB/s in 45s 2013-05-17 18:55:21 (313 KB/s) - ‘s.jar’ saved [14531044/14531044]
落としてきたjarを実行すると、SLEEP TO JOINEDということで参加待ち。
$ java -jar s.jar 0 [main] INFO com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker - start: GenericActivityWorker [super=GenericActivityWorker[service=com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient@6d7e845a, domain=c4, taskListToPoll=dt, identity=13788@Eiji-MBA.local, backoffInitialInterval=100, backoffMaximumInterval=60000, backoffCoefficient=2.0], taskExecutorThreadPoolSize=100] SLEEP TO JOINED SLEEP TO JOINED SLEEP TO JOINED
JOINしてALLOCATE待ち。曲は24トラックあるらしい。
今のところ16トラックなので音鳴らないか、、落ちるか、、、
SLEEP TO JOINED SLEEP TO JOINED joined Concert ID is hoge Shutting down JOIN ActivityHost SLEEP TO ALLOCATED already joined. SLEEP TO ALLOCATED SLEEP TO ALLOCATED
ADJUSTEDきたー的な。
SLEEP TO ALLOCATED SLEEP TO ALLOCATED SLEEP TO ADJUSTED SLEEP TO ADJUSTED SLEEP TO ADJUSTED
そして playActivityWorker start って出てる。
会場ではエラーのスタックトレースでた~とかって声も。
SLEEP TO ADJUSTED TUNINGU~~~~~~ SLEEP TO ADJUSTED ntpserver time:1368784983055 computer time:1368784983057 playActivityWorker start 442036 [main] INFO com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker - start: GenericActivityWorker [super=GenericActivityWorker[service=com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient@6d7e845a, domain=c4, taskListToPoll=track_9, identity=13788@Eiji-MBA.local, backoffInitialInterval=100, backoffMaximumInterval=60000, backoffCoefficient=2.0], taskExecutorThreadPoolSize=100]
いよいよ再生、、オレのPC音鳴ってる!!
会場全体としてちょっと音がスカスカだけど、こういうのはテンション上がりますね!
TUNINGU~~~~~~ Device[Real Time Sequencer] MicroSecPos0 Device[Java Sound Synthesizer] MicroSecPos-1 playing message[ currentTime = 1368785154985, startTime = 1368785180724] 3byte 25739ms???? Device[Real Time Sequencer] MicroSecPos0 Device[Java Sound Synthesizer] MicroSecPos-1 playing message[ currentTime = 1368785155734, startTime = 1368785181732] 3byte 25998ms????
■ AWS上でのPuppetの活用 クックパッド 菅原元気さん
クックパッドのことを知らない人は会場にいない。
Puppet Labs曰く、Opsworksが発表してるようなことは3年前に実現出来てる。
クックパッドのインフラ周りはRubyがほどんど&Ruby。
・サーバーのプロビジョニング
ElasticfoxからBase AMIでインスタンス起動。CeontOS6.2。
最小限のパッケージ、ネットワークの要らん設定削除、公開鍵の取得設定、など。
ログインしてec2-initってスクリプト流してからPuppet実行。
ec2-init。Capistranoで経由で実行
DNSとかrouteの設定、yum、RubyとPuppetのインストール。
Puppetは2.7(3.2とかが最新らしい)
manifestに沿ってPuppetは動く。gitからCapistranoでPuppet-masterへ。
Puppet+AWS
External Node Classifiers。AWSからメタ情報をPuppet-masterで取得して〜
Puppetで利用するタグ
– Role : DBとかAPPとか。
– Params : Puppetに任意の値を。
– PuppetApplied : いつ〜って情報
・PuppetのManifest, Templateの解説
・設計・運用方針
すべてのサーバーをPuppetで。例外を作らないこと
RoleとModuleで管理。
Role:app_server, git_server。base+ホゲホゲとか。
Module:それぞれのモノ
Puppetの継承は使わない方がイイらしい。公式ドキュメントにもそんな事が書いてある。そのかわりにModuleを細かく書く。
Puppetの適応はまめに。restartとか怖いので定義しない。
パッケージのインストールは必ずバージョン指定すること。依存地獄になり兼ねない。。
メジャーバージョンは別物として考える。MySQLだったら5.5と5.6とか。
Puppet自身の管理とかイタかったり、Rubyの管理はしない方がイイ(だからec2-initを自作)
Puppetでどうしても管理出来ない時はアラートを出すようにしたり。
Puppetの適用はcapistranoを使うかログインするか。
apply終了後に日付タグ。危険なreloadとかはは色付けして。
Puppetのクライアントのデーモン立てるとサーバーに変更があったらってのがあるけど、怖くて使ってない。。
DescribeTagsは叩き過ぎるとエラーが起こったり。
Puppetで管理しないもの:httpd, varnish, nagios, haproxy,,,変更が多いもの。
GHE+capistranoってやり方を多用。
・Puppet以外
CapistranoのMultistage Extension。deploy.rbの肥大を防ぐ。
ERBの展開がRubyだと使えるからサーバーの台数とかはeachとかで回せば展開される。
■ こんなパフォーマンス話めったにしないんだからねっ AWS荒木靖宏さん
会場でAWSのベンチマークをとったことがある人はそこそこいるけど、
大体がEC2/EBSのベンチマーク⇒EBS性能のバラツキがきになる。。
最近EBSのProvisioned IOPSで4000までイケるようになったってので
実際にベンチマークとってみたら、まんま4000でちゃった。
が、単体での性能がOKならイイのか?っていう話。
ネットワーク越しの〜って性能が大事。
・多くのTier1
・多くのISP
当然長いことやってるとイロイロ変化がある。
– os.gree.jpとのRTT
20ミリ、8ミリ、、、ってきて最近4ミリ秒以下になった。
– IIJ
段々早くなってきてるけど10ミリ秒ちょっと。
– AWSリージョン間
US East 200ミリ秒
US West 150ミリ秒
Singapore 75ミリ秒
南米 East 300ミリ秒くらいだけどほぼブレない
– AWS内部
S3に10MBのGET調査。5分間に3回。100〜200ミリ秒の間
– PrivateIPとPublicIPどっち使った方が早い?
Privateの方が断然早い。Privateは40マイクロでPublicで0.6ミリ秒
Zoneが異なるとその差は更に。
VPCがデフォルトってのもあるし、Privateの方が今後もっと増えてくはず。
– インスタンスごとのネットワーク
netpipe-tcpでウインドウサイズを変えながら。
同じAZだとある程度大きなインスタンスだとそれほど変わらない。t1.microだけ顕著。
異なるAZだとレイテンシがあってそんなに変わらない感じ。
– MySQLの性能測定
sysbenchで1億レコード。OLTPで測定。物理サーバーとくらべてみる。
一本しか接続しないと物理サーバーの早いけど、
パラレルになっていくとEC2の方が早くなっていく。RDSはEBSをRAIDしてる。
なので接続数を増やす方法で。ここでもt1.microは結構厳しい。
Multi-AZだとコネクション数が多い時のWriteの書き込みの遅さが顕著。
RDSはSAS 15krpmを2つ並列にする程度の性能。通常EC2インスタンスをそのまま使う理由はない。
RDSを使えば新しいバージョンを簡単に導入できる。
■ CDP2.0への野望 玉川さん 片山さん
re:Invent2013でCDP2.0いきたい。CDP本は韓国版が近日出る予定。
・Wiki
どのサービスとどのパターンが結びついてる〜っていう図がある。
Wikiの書き込みはインキュベーターという形で。書き込みたい場合は連絡が欲しいとのこと。
それぞれのパターンの発表があって、最後に手上げて投票していく感じ。
S3を使った永代供養とかって言われてるパターンとか、
S3にFluentd使ってログ集める&古いのはGlacierに自動で〜的なのとか、
リージョン間のレプリケーションとか、
Windowsのリモートデスクトップに3000番台のポート開けてくれないからFW越しでとか。
駆け足でよく理解できないパターンもあったりしましたが、非常に興味深かったです。
■ 懇親会
コワーキングスペース Co-Edoの地下にあるcoal blackというクラブ的なところ。
DJもDjay for Macというソフトウエア&デバイスを使ってAWSの凄腕たちがやる感じ。
色んな方とお話させていただきましたが、皆さんのガチっぷりが凄くて、
久しぶりにこういう本気な人たちの集まりに参加したな、と。
自分も頑張らなきゃイカンなぁ〜って思える素晴らしい機会でした。
カレコレ何年もデータセンターには言ってないですが、
懐かしい感のある吉田さんのデータセンター話とか
ハイレベルな技術話の中でもガッツリ落ちをもってきて大爆笑な菅原さんのプレゼンや
“振る”っていうシンプルな動作を集計することで、
フェスとかクラブとか、その他イロイロ、みんなで盛り上がっちゃおうぜ!
っていう福田さんのサービス紹介はマジあつかったし。
途中結構酔っ払ってきてしまってあんまりメモ取れなかったりもしたのですが、
他のLTもハイレベルでナイスでした!
コメント