こんにちは。田中(邦)です。
先日、キャスレー主催のハッカソンを行いました。
土曜日開催にも関わらず多くの方々にご参加いただき大変な盛り上がりを見せたハッカソンなのですが、今回はその準備と反省点について少し書いていきたいと思います。
(ハッカソン当日の様子については経営企画部の黒澤くんが書いてくれた記事を読んでいただけるとよく分かると思います)
今回のハッカソンはCasley AWS Summer Hackathonというハッカソンで、どんな形でもAWSを使っていればOKというゆるい縛りのものでした。
実はハッカソンを主催するのは今回が初めてで、スケジュールはどうするのか、何を準備すればいいのかサッパリ分からない状態でした。
というわけで調べた結果と実際にやったことを残しておきます。
スケジュール
とりあえずググって色々と調べてみるとGoogleが公開しているドキュメントに辿り着き、そちらのドキュメントをベースにスケジュールを組みました。
告知と参加登録
Static Web Hostingを有効にしてS3に告知ページを作成しました。
また、参加登録フォームはGoogle Driveのフォーム機能を利用しました。
今回は初めての開催ということで社員+社員の知り合いという範囲で参加者を募集しました。
AWSのアカウント
次に、AWSを使うということでどうやって参加者にAWSにログインして使ってもらうかについて検討しました。
「IAM使えば簡単にできるんじゃね?」とか思っていたんですが、既存のEC2のインスタンスが見えてしまったり、設定や操作のミスで現在動いているインスタンスを止めてしまうと大変なので別アカウントを作ることにました。
AWSのConsolidated Billingという機能を使えば支払いを1つのアカウントにまとめることができるとのことだったので下記の記事を読みながらアカウントを作成。
Consolidated Billingを用いた、複数アカウントの請求の合算
メールアドレスが別途必要だったり、最初からConsolidated Billingで支払いをまとめるつもりでもクレジットカードの登録が必要だったりでちょっとめんどくさかったですね。
ここまでできれば既存のAWSアカウントと切り離されているので動いているインスタンスを誤って止めてしまったりすることはないのですが、このままユーザにメールアドレスとパスワードを教えるとrootでログインさせているようなものなのでIAMを使ってハッカソン用のグループを作り、そこにユーザを紐付けました。
グループにはリザーブドインスタンスを契約させない制約とか、その他使われると金銭的に嫌な感じのものはとりあえず制限をかけておきました。
IAMについては下記を参考にしました。
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
AWS Identity and Access Management (IAM) | アマゾン ウェブ サービス(AWS 日本語) 文書
IRC
テキストのやりとりに利用するためにIRCのサーバを用意しました。
こちらを参考にしました。
Amazon LinuxにIRCサーバーを立ててみる
ircd起動手順(サーバーパスワードあり、SSLなし)
VAGRANTのbox
開発用にRuby2.0をインストールしたvagrantのboxをひとつ用意してS3にアップしておきました。
Tシャツ
参加賞にTシャツとかあるとテンション上がりそうだよね。ということでTシャツも用意しました。
黒、赤、緑と用意しましたが黒がお気に入りです。
反省点
ほぼ全員の意見としてあったのが、時間が足りない!というものでした。
コーディングできる時間が6時間程度しかないので単純に解決するには開催を2日間にするとかになってしまいますが、ただでさえ皆さんお忙しい中調整して参加してくださっているので2日間開催することはなかなか難しいと思います。
今回は参加の敷居を下げる目的もあってAWSを使っていればどんなサービス/プロダクトでも良いという縛りにしたのですが、これが環境構築のコストを上げるという結果に繋がってしまった気がしています。
そこで次回は環境を絞って、ほぼ環境が整っているEC2のインスタンスやVagrantのboxを用意して環境構築にかかるコストを下げた状態で開催できればと思っています。
あと、私が参加しながら司会進行を務めていたのですが、モデレータみたいな方がいたほうが盛り上がるんじゃないかと思いました。
以上、ハッカソンの準備と反省点でした!
参加者の皆様、運営を手伝ってくれた皆様、本当にありがとうございました!