公開日:2024-09-06
事前申込者が前年比2.5倍に!kintone AWARDのグランプリを決める新投票システムを開発
サイボウズ株式会社
マーケティング本部 鈴木 亜希子 様
マーケティング本部 吉澤 一敏 様
サイボウズが毎年開催している総合イベント「Cybozu Days」では様々なセッションが行われています。中でも人気なのが、「kintone AWARD」です。kintoneを活用した業務改善ノウハウをユーザー同士で共有しあう「kintone hive」という交流型イベントが毎年全国で開催されており、各地区の代表者たちがファイナリストとして集結し、プレゼンを披露する決勝イベントです。2023年は東京・大阪・名古屋・福岡・仙台・松山で「kintone hive」が開催され、地区代表の6社がプレゼンを披露してくれました。
グランプリは、審査員に加えて会場でプレゼンを聞いている全員による投票で決定されます。この投票と集計のシステムもkintoneと連携サービスを使って構築していました。これまで毎年1000人近くが当日参加していましたが、2023年の「kintone AWARD」は2500人近い事前申し込みがあったので従来のシステムでは対応できません。
「Cybozu Days 2023」開催が迫る中、急ぎ投票システムをどうにかする必要があります。そんな時、サイボウズ社よりアールスリーインスティテュートに相談いただきました。今回は、数週間で2500人が投票するシステムを構築した経緯について、サイボウズでマーケティングを担当する鈴木亜希子氏と吉澤一敏氏にお話を伺いました。
■想定以上の事前申し込みがあり投票システムの刷新が必要に
「kintone AWARD」にはkintoneをこれから導入しようとしている企業から、すでに使っているがもっと活用したいという企業まで多数の方が見に来る人気のセッションです。以前から大きな会場で開催されており、毎年1000人近い参加者がいました。プレゼンが終了すると、審査員に加え会場にいる全員が自分のスマートフォンから投票し、その結果からグランプリが決定されます。これまでは、kintoneと連携サービスを利用して投票を受け付け、グランプリを決定していました。
「kintoneを導入していただいている方や検討している方から、事例を見たいと言われることが増えてきました。kintone AWARDのような選りすぐりの事例が集まるセッションが求められていると考え、2023年から基調講演扱いにしました」(鈴木氏)
「Cybozu Days」は幕張メッセの巨大な会場で開催されており、大小さまざまなセッション会場が設けられています。通常はプログラムに従って、それぞれのセッションが行われているのですが、基調講演の時は他の会場もサテライト会場となり、講演の様子を流します。2023年から「kintone AWARD」もそのような開催になったのです。
「kintone AWARD」では会場にいる全員が投票するのですが、当然、この人数もそれまでと比べて増えます。事前申し込み者が従来の約2.5倍、2500人くらいまで膨れ上がりました。
「それまでの投票で使わせていただいたWeb フォームサービスでは、2.5倍となると対応できないことに気が付いたのです。それがCybozu Days 開催の数週間前のことです」(鈴木氏)
鈴木氏は「Cybozu Days」の担当で、セッションを担当する吉澤氏もその問題には気が付いていたのですが、打ち手が思い浮かばず悩んでいました。二人で相談した結果、アールスリーに相談することになったそうです。
「kintoneだけでは投票システムを作れないことはわかっていました。そのため、他社サービスと組み合わせる必要があるので、両方の知見と信頼できる技術力を持っているところはどこかな、と考えたときに、浮かんだのがアールスリーさんでした。そこで、『つきましては相談したいことが……』とすぐに連絡をしました」(鈴木氏)
■kintoneとAWSを連携させて短時間に大量の情報を漏れなく処理するシステムを構築
鈴木氏から相談を受け、すぐに社内で人をアサインしました。数週間後に開催されるイベントについての相談なので、もう断るという選択肢はない、なんとかしよう、ということになりました。まずは、AWS(Amazon Web Services)に詳しい4人が集まり、どうすればいいのか意見を出し合いました。「Cybozu Days」には毎年参加しているので、もちろん「kintone AWARD」の投票についても知っています。
kintoneのAPIは1分間の同時アクセス数が100までです。最大2500人が3分間で投票しますが、多くの人は投票がスタートした直後に操作すると予想されます。それだけの同時アクセスをクリアするための仕組みを考える必要があるのです。
アールスリーではAWSの開発も多く手掛けています。短時間で大量の情報を裁くというのも珍しくありません。今回の相談もある種典型的なパターンの一つだったので、基本的な構成図は1日でできました。翌日には鈴木氏と吉澤氏にお送りしています。
「サイボウズの開発陣に『kintone AWARD』で大量のアクセスが発生しますが、アールスリーさんにお願いして、こんな仕組みで対応します、kintoneのサービスには影響はないです、と伝えました。すぐにいただいた構成図を見せられたことで安心してもらえた気がします。やっぱりkintoneに障害を起こす訳にはいかないですから」(鈴木氏)
まず、投票は「AWS Lambda」で受け付けることにしました。フォームは従来のものを参考に似た画面を作っています。大量に受け付けた投票の情報は、行列待ちのような感じで「Amazon SQS」に一旦入れます。その後、「AWS Lambda」でkintoneに負荷をかけずにゆっくりと書き込んでいきます。
同時に、投票の履歴を「DynamoDB」に書き込みます。一人のユーザーが複数回投票した場合でも、重複投票の結果はkintoneに書き込まないような処理も行います。また、kintoneへの書き込みに失敗したデータがあれば、別の「AWS Lambda」で書き込むような仕組みも用意しました。
AWSやkintoneはどちらもインターネット経由のサービスです。ネットワークやサービス自体の負荷等、様々な原因でどうしてもうまく書き込めない可能性はあり、それも考慮に入れる必要があるのです。そういう意味で、一旦受けたデータを溜めて、仮に最初のルートがだめでも、後から書き込めるようにしておくという仕組みを用意しました。投票されたデータを絶対に取りこぼさないようにする、というアールスリーの意思表明です。
kintoneに入ってからの集計処理アプリは吉澤氏が作りました。
「最初、この問題を解決するのは結構大変そうだなと思っていたのですが、意外ときれいに役割分担ができました。投票を受け付ける仕組みはアールスリーさんにお願いして、投票を蓄積、集計するアプリはこちらで用意しました。ちなみに、投票を集計するロジックはカスタマインを使って構築しました」(吉澤氏)
kintone歴の長い吉澤氏ですが、なんとこの時初めてカスタマインを使ったそうです。投票データ自体はアールスリーからお渡ししますが、各登壇者に何票入ったのか、審査員の投票を加味した上での決選投票は何票になるのかといった複雑な集計ロジックは、すべて吉澤氏に担当いただきました。
「数週間というデッドラインが決まっていたので、危機感を持った取り組みでしたが、カスタマインはUIがわかり易かったので、スムーズに構築することができました。カスタマインがもし無かったら、集計ロジックは組めなかったと思います」(吉澤氏)
■投票の耐久テストに苦労した甲斐あり本番ではエラーゼロで大成功
投票システムの開発は順調に進みました。鈴木氏や吉澤氏にも途中で見ていただき、iPhoneのダークモードで表示するとkintoneのロゴが見えなくなってしまう、というようなフィードバックをもらい、都度改修していきました。
開発よりも大変だったのがテストです。3分間で2500人の投票に耐えられるという確認をする必要があります。テスト用の専用ツールを作り、社内皆のパソコンから同時に投票したりしました。
最初は、「AWS Lambda」をあらかじめ実行しておくプロビジョニングしている数が足りなかったので、うまくいったりいかなかったりしました。そこで、700台のコンテナを上げておき、1分で1000人以上が投票しても受け入れられるようにしたのです。
当日も、アールスリーの社内メンバーは「kintone AWARD」の会場とZoomでつなぎっぱなしにして、投票を見守りました。状況を監視し、何かあれば即対処する必要があるからです。
投票が終了すると吉澤氏の合図に従って、投票終了のウェブページを表示させます。その後、状況を確認すると、エラーもなくすべてkintoneに書き込みが完了していました。想定したとおり、最初の20秒で約1000の投票があり、その後、残りの人が投票するような推移をしていました。
最後に一言と、今後について伺いました。
「その年のNo.1事例を決める大変重要な投票が『kintone AWARD』の投票になります。よって、運営担当としては失敗は許されません。それぐらい大事な投票だったのですが、それをスピーディーかつ確実に進められたことは非常にありがたかったです。アールスリーさんは、投票中もZoomで接続しながらリアルタイムで見守ってくれて、とても心強かったです。今回の投票を通して、カスタマインの使い方も習得することができたので、今年開催の『kintone AWARD』でも活用させていただきます」と吉澤氏。
「アールスリーさんに相談して引き受けていただいた段階で、私はもう成功を確信していました。うちの開発部門を安心させていただけるドキュメントもご用意いただけたのもよかったです。もし、アールスリーさんが無理だったら、玉入れとかアナログな投票にした可能性もあります笑。今年も『kintone AWARD』は基調講演扱いにしようとしているので、またぜひアールスリーさんにお願いしたいと思っております」と鈴木氏は語ってくれました。
取材2024年7月