「ISUCONって、本当に楽しい!」――“新体制”のISUCON11運営チームに聞くその醍醐味面白い! だけで終わらない魅力

出題されるWebサービスを決められたレギュレーションの中でチューニングし「いい感じにスピードアップ」することを競うコンテスト、「ISUCON」。2021年9月18日に本選が開催される「ISUCON11」の運営チームに、出題の大変さやISUCONの楽しさ、醍醐味(だいごみ)を聞いた。

» 2021年09月17日 05時00分 公開
[高橋睦美@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 東京五輪で新たな記録を目指し、ライバルや自分自身の限界を超えようと努力するアスリートの姿に心を打たれた人も多いのではないだろうか。ソフトウェアエンジニアリングの世界ではスポーツの世界とは異なり、そこまで自分を追い込み、ガチで競う機会はなかなかないが、それを体験できるイベントが年に1回開催されている。「ISUCON」だ。

 ISUCONとは「いい感じにスピードアップコンテスト」の略称だ。毎回異なるWebサービスが出題され、決められたレギュレーションの中でチューニングし、どれだけ高速化できるかを、1〜3人のチームで競う。ベンチマークを回して最も高い得点をたたき出したチームの勝ち――と、言葉にすれば簡単だが、ISUCONにはエンジニアリングに必要な要素が詰まっているといえるだろう。

 チューニングを行うには、フロントエンドからバックエンドに至るまで対象Webサービスのアーキテクチャを把握し、構成する各技術要素の特性を理解しておく必要がある。さらに、何がボトルネックとなっており、何がリソースを消費しているかを計測し、仮説に基づいて改善して再び計測していく……という、ソフトウェア開発の基本を繰り返すことも重要だ。その際に武器となる言語や開発ツール、モニタリングツールなどにも通じていなければならない。ミクロからマクロまで、エンジニアとしての幅の広さと、突き詰める奥の深さ、両方が求められる。

LINEの櫛井優介氏

 そんなわけで、2021年で11回目を迎えるISUCONへの注目度は年々高まってきた。初回からISUCONの企画・運営に携わってきたLINEの櫛井優介氏(Developers Successチーム Culture Evangelist)によれば、「ISUCON9くらいまでは参加枠が埋まるのに2カ月程度かかっていましたが、ISUCON10では、500チームという上限が25時間で埋まってしまいました。そこで今回(ISUCON11)は、もう少し増やした方がいいのかなと上限を600チームに増やしたら、なぜか2時間で埋まってしまいました」と、うれしい悲鳴が上がる状況だ。

 「ISUCONは『エンジニアの運動会』と言われることもあるんですが、年に1回、技術者が集まって楽しく競えるところが注目されているのかなと思います。また、最近は学生がすごく強くなってきているのが特徴です。学生の皆さんをはじめ新しい人がコミュニティーにどんどん入ってきてくれているのも、盛り上がっている要因の一つではないでしょうか」(櫛井氏)

これまでとは運営体制を変えて準備が進められた「ISUCON11」

 ISUCON11のオンライン予選は2021年8月21日に開催され、学生96組を含む598チーム、のべ1421人が参加した。

 お題となったのは「ISU」(イス)から送られるデータを記録して確認する「ISUCONDITION」というサービスで、世の中でも広がりつつあるIoTサービスを意識した構成だ。8時間の競技を経て、ベンチマーク上位を記録した30チーム、81人(うち学生15人)が2021年9月18日に開催されるオンライン本選に参加する。

予選問題に関する動画では、IoTサービス「ISUCONDITION」を8時間でパフォーマンスチューニングするのに至ってしまった理由を知ることができる(出典:ISUCON 公式チャンネル《YouTube》)

 学生パワーの高まりも背景に、運営体制も変化している。以前は、本選出場者へのヒアリングを元に、上位入賞チームに翌年の出題を任せる形だった。つまり、本選を戦った強いエンジニアたちに「こいつの問題を解いてみたい」と思わせるチームが、予選、本選ごとに1チーム一問形式で問題を用意していた形だった。

 これに対しISUCON11では、予選、本選、参加者向けのポータルというプロジェクト単位でリードを立て、そこに、NTTコミュニケーションズ(以下、NTT Com)、ヤフー、そして東京工業大学デジタル創作同好会「traP」からの有志やTeam takonomuraのメンバーがアサインされていく新しい体制を取った。学生と社会人が共同で進めていく形だが、櫛井氏ら過去の運営に携わった経験者から、「初めて参加する人はここでつまずきがちで、それを解消するためにこんな準備が先に必要」といったアドバイスも得ながら、想像以上にスムーズな運営が実現できたという。

ヤフーの沖本祐典氏

 予選作問チームに加わったNTT Comの北澤祥太氏(プラットフォームサービス本部)もヤフーの沖本祐典氏(検索統括本部)も、予選終了直前にポータルが使えなくなり参加者に不便をかけてしまったが、それでもどうにか無事に予選を終えることができ、本当にほっとしていると声をそろえた。「運営は学生の皆さんも含めて人数が多く、コミュニケーションの負荷が高めだったのですが、いい方に進んで無事終えることができ良かったです」(沖本氏)

NTT Comの北澤祥太氏

 インフラを担当した北澤氏は、「競技者が利用するベンチマーカー用の仮想マシン600台全てを一発で展開するという大規模な作業は初めての経験でした。そのため競技前日よりも前に600台を立ち上げる検証を行い、そこで『Terraform』のstateから1台、2台外れてしまう問題を確認しました。このときは『terraform import』コマンドでstateから外れたリソースを『Terraform』の管理化に入れることで解決しました。この例のように、構築作業や構築された環境で意図しないことが起きていないかを事前に十分検証しておくことができたからこそ、当日は『いけるやろ』という気持ちで臨むことができました」と振り返った。

 基本的にISUCONの出題者は、過去に参加者としてISUCONに参加し、なかなか上がらないスコアと悪戦苦闘した経験の持ち主ばかりだ。運営の立場になってみると、外から見ているときとは違った視点が得られたという。

 「ベンチマーカーを作る側になってみて、思った以上にいろんなことを考えているのだと実感しました。例えば、ただ単にリクエストをどれだけさばけるかで点数を付けるのではなく、バックエンドのどのエンドポイントがどんなタイミングでたたけるとユーザーはどううれしいのか、といったことまで考えながら点数設計を行う、それ故にいろんな悩みがあるんだなというのを実感しました」(北澤氏)

 沖本氏も「作問者は、参加者が思っているよりも10倍くらい考え、すさまじいエネルギーと時間をつぎ込んでいることを実感しました。ISUCONの問題には、実際のWebサービスとして自然であることと同時に、プログラミングコンテストやCTF(Capture The Flag)のような競技性も求められます。その2つを同時に成立させることは正直離れ業なんですが、運営にはそれを実現しようという熱意とスキルを持った人々が集まっていました」と述べた。

エンジニア個人としてはもちろん、会社として携わることにも大きな意義

 以前から、「ISUCONの運営って超楽しそうだな」と思っていた北澤氏。「ISUCONの作問に携われる機会が目の前に開いたのなら、これはもうやるしかない。絶対自分が成長できるし、楽しいはず」という理由から参加したという。

 もちろん一エンジニアとしては、「楽しいから」だけで、運営に携わる十分な理由になるだろう。だが、会社として支援するとなるとどうだろうか。それだけの熱意と時間をかけてまで得られるものはあるのだろうか。

 NTT Comの岩瀬義昌氏(ヒューマンリソース部)は、「会社からすると、ISUCONって結構しびれる、難しいイベントです。エース級のエンジニアが数カ月にわたり稼働を捻出し、しかも直接的な売り上げという点ではゼロ円ですから」と率直に述べた。

NTT Comの岩瀬義昌氏

 だが、会社としてISUCONに関わることにはそれ以上のリターンがあると確信しているという。

 「1つは、600チームの枠が2時間で埋まってしまうほどエンジニアが注目する人気のイベントですから、エンジニアに対するPRとして魅力的です。特に、通信企業というイメージの強いNTT Comの場合、ソフトウェアエンジニアリングにも力を入れているイメージを発信するのにとてもいいと考えています」(岩瀬氏)

 もう1つはエンジニアたちが成長する機会としてだ。

 「運営チームに参加することで、他社の非常に優れたエンジニアの方々と一緒に働くことができます。モチベーションアップとスキルアップ、両方につながるという意味で、会社としても価値があると上層部に説明しました」(岩瀬氏)

 事実、ISUCON11の運営チームには優秀な学生らに加え、ヤフーからは社内で技術的な支援や課題解決をサポートする“特殊部隊”、SWATのメンバーが参加しており、多くの刺激が得られたという。

 実はNTT Comでは2019年、2020年の二度にわたって「社内ISUCON」を開催し、ポジティブな効果を感じてきたそうだ。「北澤さんが入社した年の新入社員研修の一部として、小さい社内ISUCONを実装して出してみたんです。そこで『あ、いけそうだな』と手応えを得て、社内全体に広げて開催し、ブログを書くなどしてきた結果、本家ISUCONから声を掛けていただきました」(岩瀬氏)

 特に2019年はコロナ禍前ということもあって、約30チームが会議室に一堂に会して開催した。「競技時間中は周りを見る余裕なんてありませんでしたが、その後の懇親会がとても楽しかったです。別部署にいて普段は話す機会のない人たちと、同じ課題についてああだこうだと話すことができ、とても楽しかったのを覚えています。親交を深められるし、自分の技術力を測り、足りないところが分かるイベントだなと感じました」(北澤氏)

 企画した側の岩瀬氏は、個人的な感想として「社内ISUCONを開催すると、本当にすごいエンジニアが可視化されてしまうことが好きです。ベテランらの得点を、若いエンジニアらが上回り、上位をかっさらっていくこともあり、やりがいがありつつもごまかしのきかないイベントだなと思っています」と述べた。

 こうした経験を踏まえて、「ISUCONは、ソフトウェアエンジニアリングを内製で行っている企業全てにお勧めできると思います。普段プロダクトを触る機会が少ない人たちも、手を動かし、プロダクションでは難しいような変更をガンガン入れる経験ができて勉強になりますし、純粋にエンジニアリングを楽しむことができます。1人で全部やる能力が身につきますから、人材育成という意味でもすごくいいです。各社の人事の方は、エンジニアと協力してぜひ社内ISUCONをやった方がいいと思います」と岩瀬氏は述べている。

「分からないこと」「できないこと」が分かるISUCON、いよいよ本選開催へ

 他にも社内ISUCONを開催したり、個人で、あるいは有志でISUCONの過去問にチャレンジしたりしているエンジニアもいるだろうが、「そうした人にこそISUCONに出ていただければな、と思います。参加者が同じ8時間を過ごし、かつ順位が明確に出て『あ、おれ300位なんだ』なんて経験をすることってめったにないはずです」と櫛井氏は述べた。

 運営メンバーは異口同音に、チャレンジを呼び掛けた。自身で環境構築することになるが、ISUCON11の予選問題も含めて過去問を公開しているのでチャレンジしてみてほしい。

 「やってみると分かるんですが、ISUCONに出ても一切手が動かなくて、何も分からないうちに8時間が終わってしまうこともあると思います。そこで『ああ、何もできなかったな』で終わるのではなく、なぜ手が動かなかったのかを考えていけば、これから何を学ぶ必要があるのかがどんどん見えてくると思います。まず手を出してみて、うまくいかなかったところを改善し、次回につなげることが大事だと思います」(北澤氏)

 沖本氏は、「普段、業務としてWebサービスを開発していない、エンタープライズ向けの開発やデータサイエンス寄りの業務に携わっている方にもぜひ参加してほしいなと思っています」と述べた。競技として面白いのはもちろんだが、自分を振り返るまたとない機会だと感じているという。

 「ISUCONの題材はWebサービスですが、背景にはソフトウェアエンジニアリングのいろいろな知識が求められますし、分かっているつもりで分かっていない事柄が明確に、ある意味残酷に可視化されます。コンフォートゾーンから一歩踏み出して、自分の知識に隙間があることを確認する良い機会だと思います」(沖本氏)

 2021年9月18日にはいよいよ本選が開催される。本選の作問を担当するヤフーの狩野和博氏(CTO室 SWAT)は、「問題を作る側になってみて、社内ISUCONとは違う面白みに加え、優秀な学生さんや他社のエンジニアのパワーを肌で感じることができ、数カ月間、とても楽しかったです」と振り返った。

ヤフーの狩野和博氏

 問題を作る側には、いい感じに各チームの点数をばらけさせ、競技として成立させるための調整も含め、解く側同様にソフトウェアエンジニアリングのスキルが問われることになるが、そこが醍醐味(だいごみ)でもあるという。

 「(2021年)9月4日に、何チームかの協力をいただいて、難易度やボリュームなどを確認するための本選問題の事前解答を行いました。お話を伺った感じでは、(現時点でも)完成度の高い良い問題だと好評をいただいています」と狩野氏。さらにブラッシュアップして本選に臨むといい、熱戦に期待したい。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。