『Next Tech Project』1day Hackathon -BACKEND- に参加しました
8/21に開催された「『Next Tech Project』1day Hackathon -BACKEND-」に参加してきました!
『Next Tech Project』1day Hackathon -BACKEND-とは
コロプラ流のユーザーファーストなバックエンドの技術を知るハッカソン。
リアルタイムオンラインゲームを支えるエンジニアの1日を経験しよう!
『Next Tech Project』1day Hackathon -BACKEND-とは,コロプラ社の主催する(した)ハッカソンです.
今回のハッカソンは一風変わっていて,アイディアソンを経て,何かプロダクトやサービスをパパッと開発していく通常のハッカソンではなく,「既に稼働しているサービス(ソーシャルゲール)のパフォーマンスチューニングをしていく」という形式のハッカソンでした.日に日にアクティブユーザ数が増えているサービスを多数抱え,毎日恐ろしい量のリクエストをさばいているコロプラ社のバックエンド周りを触れるということで,ノリと勢いで申し込んで参加してきました.
ちなみに,コロプラ社のオフィスにお邪魔したのは今回が初めてなのですが,コロプラ社の入っている恵比寿ガーデンプレイスタワーは恵比寿ガーデンプレイスというかなりおしゃれな場所にあって驚きました.ホテルか何かと間違えるくらいキレイなビルでした(写真撮り忘れた).
内容
今回は実際に稼働しているサービスを扱うため,細かいところは伏せた上で説明していきます.
予め決められた3人1チームに分かれ,自己紹介等を済ませた後はさっそく環境構築.Vagrantを用いてさくっと仮想環境を立ち上げていきます.
その後はひたすらハック(チューニング)タイム!! 今回のハッカソンの設定は,ざっくりと説明すると
某映画の公開で急にサービスのトラフィック量が増加しちゃった!でも先輩エンジニアたちは新サービスのプロジェクトで忙しくて手が回らない…
そこで新人3人にこのサービスのパフォーマンスチューニングをしてほしい!
という感じです.こういうの好き.
DBのチューニングやWebサーバのチューニングは他の2人にお任せして,僕はひたすらPHPのコードを読んでました.ちなみに,僕の嫌いな言語の一つはPHPです.
途中,お昼ごはんも挟みつつ,ひたすらコードリーディング&修正&速度計測をやっていきました.配布された当初の動作は死ぬほど遅く,「こんなものリリースした日にはTwitterが大荒れだな」って感じだったのですが,チューニングを重ねていくに連れてレスポンスがどんどん早くなっていっていたのは快感でした.
6時間ほどのパフォーマンスチューニングを終えて,いよいよ測定結果発表.僕らのチームは圧倒的スコアにより堂々の1位でした🎉🎉🎉🎉🎉🎉🎉
その後は簡単な答え合わせやパフォーマンスチューニングに関するレクチャー,そして懇親会がありました.
感想
今回のハッカソンを経て,「ほんの僅かなコードとconfig類の変更でトータルのパフォーマンスがいかに変わるか」ということを改めて知ることができました.まさに80:20の法則って感じ.
雰囲気としては,同日に開催された某社のmixi git challengeに近かったです.
次があればぜひまた参加したい,楽しいハッカソンでした!運営の方々,本当にありがとうございました!!
最近のコメント