YAPCの裏方で動いているシステム。dotCloud上で トーク用のインスタンス、チケット用のインスタンス、チェックイン用のインスタンス、そしてDBが走っております。
トーク用とチケット用を分けたのは、リリースのタイミングとかが全然違うので、別々に開発したから。面倒っていえば面倒だけど、開発のタイミングという意味ではやりやすかった。
チェックイン用のインスタンスはスタッフ向け。バーコードリーダーで「ぴっ」ってやられたと思うけど、バーコードリーダーはただのキーボードのような扱いになっているので、単純にフォームのテキストフィールドに所定のテキストを送って、あとはフォームで処理してるだけ。
これらのdotCloudでデプロイしているアプリを http://yapcasia.org/2011/ 越しにプロキシしてる。簡単だね! 今回はサーバーの再起動とかそういうのを全部適当にやれて非常に楽だった。dotCloud++
逆にdotCloud--だったのは、ライブになったシステムに改修を加える際に一瞬アプリが落ちる事。404 not foundとかでちゃうのがヒヤヒヤした。まぁYAPC程度の規模のイベントなら24/7であがってる必要はないから現実問題としてはこれはこれでOK。あと、開発を始めてから途中でdotCloudのサーバーのデプロイ方式が微妙に変わったので壊れるんじゃないかとヒヤヒヤしたけど、実際は警告を無視してたら普通に動いた。まぁ、なんか知らんけど動くんじゃないかとは思ってたw
今後もこういう必要性がでてきたらdotCloudは積極活用したい。YAPCのスポンサー(miyagawaさんの旅費を負担していただいた)だけど、スポンサーじゃなくてもマジおすすめ。
YAPCのシステムについて、現在時点での反省点:
1. トーク応募者のメアドをtwitter/facebook認証からぶっこぬくのを忘れた。
ML等で連絡できませんでしたが、今回はtwitterで大丈夫だろう、と踏んで白を切りました
2. 投票が・・・
投票できるべきでないところに投票できてた。ゲストスピーカーのトークも入ってたんだけど、これは注意書きをちゃんとしておけば単純に名誉として有りだと思うので、あまり問題視してない。LTへの応募はまずかった。あれはちょっと焦った。ちなみに、なぜ気づいたかというと、本当はLT Day 1が投票数第一位だったからなんだね!select count(*)してびっくりした!
3. チェックインが・・・
テストDBにはあったんだけど本番DBにはまだ追加してないカラムがあることが前夜祭の時点で発覚。焦ってカラムを追加して、UPDATEを人数分かけまくった。焦った。あと、二日通し券の人だけストラップの色がでてなかったんだけど、これは人力でカバーしてもらった。
お世辞にも作り込んでいるとは言えないYAPCのシステムですが、まぁソースコードをパートタイムで書いているのが僕一人で、しかも僕はユーザーフレンドリー設計とかが苦手な人なのでちょっと多めに見てくだしあ・・・
コメント