Days」というカンファレンスをご存じでしょうか。3都市でイベントを開催してきました。このカンファレンスが主にターゲットとしているのは、クラウドネイティブ技術に携わっている、あるいは携わってみたいエンジニアです。Daysの実行委員会も普段から技術コミュニティで活動しているエンジニアを中心に構成されています。エンジニアのエンジニアによるエンジニアのためのカンファレンスなのです。「ともにつくる」というコンセプトこれまで開催してきたカンファレンスを通じて、大事にしてきたものがあります。それは、「ともにつくる」というコンセプトです。クラウドネイティブ技術は、まだ登場して日が浅い技術です。代表的なプロダクトであるDockerが登場したのは2013年です。Kubernetesは2014年に登場し、本格的に普及が始まったと言えるのは、おおよそ2017年以降です。いずれも、まだ登場して数年しか経っていません。登壇者も、我々実行委員会のメンバーも、この技術に関わり始めてからたった数年、人によっては1年程度しか経っていないのです。このような「若い」界隈に対して、我々カンファレンス側が提供できる価値とは何でしょうか。それを徹底的に考え抜いた結果、出した結論が「ともにつくる」というコンセプトでした。知っている人が知らない人に教える一方通行なイベントではなく、登壇者と参加者、参加者と参加者、そして我々主催者と登壇者と参加者が相互にコミュニケーションを取り、一緒に界隈を盛り上げていく。イベントを一方的に提供するのではなく、成長できる場を一緒に創っていく。そのような想いをコンセプトに込めました。Dive」という企画の様子です。カンファレンスというと、椅子が大量に並んでいて登壇者の話を聞く、いわゆるセミナー形式を思い浮かべるかもしれませんが、この企画は違います。会場に一角にホワイトボードを、それも大量のホワイトボードを並べ、誰もが好きなだけ書けるようにしました。ホワイトボードに悩みを書いたり、それに対して返事を書いたり、関係ない雑感を書いたり、とにかくオープンに書けるようにしたのです。中には「これ、盛り上がるの?」と思われる方もいらっしゃるかもしれませんが、めちゃくちゃ盛り上がりました。一般の参加者も、登壇者も、実行委員会メンバーもこの場所に訪れ、自由に書き込み、そして自由に語り合っていました。「ともにつくる」を体現したような企画でした。クラウドネイティブは若いだけでなく、進化もすさまじい技術です。そのため、技術自体もそれに関わる人たちも、熱量が生半可ではありません。一変した世界、オンライン化への道のりこのように2019年は良いイベントを開催できたのですが、それが一変したのが2020年です。コロナウイルスによる世の中の混乱は、カンファレンスにも大きな影響を与えました。従来のカンファレンスは、狭く、換気が悪い空間にたくさんの人が集まるので、ウイルスの蔓延を考えると避けなければならない環境だと言えます。当初は「夏頃までには収まるのではないか」という楽観的な考えもありましたが、その後の状況も芳しくなく、「リアルなカンファレンスを行うのは無理だ」という結論に至りました。他の大多数のイベントと同じく、オンライン化を余儀なくされたのです。言え、実はオンラインイベントを開催すること自体はそれほど難しくありません。Liveやニコニコ生放送、Vimeoなど、ライブ放送を安価に行える配信プラットフォームも充実しています。登壇者を映すカメラとマイクさえあれば、後はライブ配信用のソフトウェアを使って簡単に配信できてしまいます。登壇者と配信者も必ずしも同じ場所にいる必要はなく、Zoomなどを組みあわせれば完全オンラインで配信ができるのです。技術的にそれほど難しくない上に、会場の手配や当日のオペレーションが不要なので、リアルなイベントよりも却って楽に、かつ低コストで行えるようになったと言えます。多くのカンファレンスやセミナーがこの方式を使ってオンライン化へ舵を切りました。一参加者として様々なオンラインイベントに参加してみたのですが、どのイベントにも共通して抱く感情がありました。それは「物足りない」ことです。登壇者がスライドを使って講演するのを聞くのは、リアルなカンファレンスと同じはずです。情報量は何も変わっていないはずなのに、何かが物足りないのです。Daysに向けて企画を練っていきました。理想のオンラインカンファレンスを実現するのはクラウドネイティブ技術だ先に「オンラインイベントを配信するのは難しくない」と書きましたが、カンファレンスの規模になるともう少し複雑になります。上図で説明したのは、配信に関わる仕組みのみです。これに加えて、カンファレンスへの参加申し込みやセッションの視聴登録機能なども必要です。複数のトラック、複数のセッションに渡るため、それぞれのセッションを視聴できる導線も必要ですし、スポンサーの情報を表示する機能も必要です。Daysも、当初はこれらの機能を揃えたシステムを持つ会社に外注する計画を立てていました。前述したような「物足りなさ」がどこから来るのかを考えた結果、「このまま進めても良いのだろうか」と疑問を抱き始めたのです。上図を見ても分かりますが、よくあるオンラインカンファレンスのシステムでは、参加者との繋がりは一方向になっています。テレビを視聴するのと同じで、参加者は単に見ているだけです。テレビのようにコンテンツの質を高めるのは難しく、単にスライドと登壇者の声を聞くだけです。これでは物足りないのも当然です。Daysの根幹には「ともにつくる」コンセプトがあります。ともにつくるには、一方向ではなく双方向でコミュニケーションを取れる仕組みが不可欠です。それも、単に仕組みとして存在するだけではなく、提供するコンテンツと高い親和性がなければ誰も使ってくれません。世の中にあるシステムを使うだけでは、このコンセプトを実現するのは不可能だと感じました。Daysらしさ」をオンラインでも追い求めるのか。我々の出した結論は、後者でした。言え、企画時点で常識をひっくり返すような妙案があったわけではありません。自分たちの理想を追い求めるには、試行錯誤を速いサイクルで繰り返して、改善していく必要があると考えていました。システムを外注する場合、事前に要件が固まっていないといけません。この状況ではそもそも要件を固めるのが難しいです。我々が生み出そうとしているのは、まだ世の中に例が存在しないものだからです。仮に柔軟な契約を交わしたとしても、こちらで要望を出してから実装してもらうには、少なくとも1〜2週間、場合によっては1ヶ月はかかってしまいます。開催まで数ヶ月しかない状況においては、改善のサイクルを数回しか回せないということを意味します。この絵を描いていく中で、ふと思いました。「これってクラウドネイティブ技術がもたらす利点そのものではないか」と。クラウドネイティブ技術の定義はCNCFによる定義を参照していただくのが良いのですが、重要なのは「単にコンテナ入れましょう、Kubernetes入れましょう=クラウドネイティブ」ではない点です。日々変わりゆく世の中に追従するため、人とシステム両面を変化に強い形にしていこうというのが、クラウドネイティブ技術の根幹です。実は、リアルで開催していた2019年から、クラウドネイティブ技術のカンファレンスなのだから、何らしかの形でその技術をイベントそのものに活用できないかと考えていました。しているうちに直面したのが、このコロナ禍です。「カンファレンスも変化していかなければいけない。変化させればいいか、やってみなければ分からない」。今我々が置かれているこの状況は、クラウドネイティブ技術を活かせる絶好のチャンスではないでしょうか。全員がボランティアベースで、フルタイムで関われるメンバーがいない中でこれをやり遂げるのは、多大な困難が予想されました。それよりも自分たちの理想を実現したいという気持ちが上回りました。Daysのイベントプラットフォームを自分たちで作る」という挑戦を行うことになったのです。Daysのシステムをどのような体制で、どのような仕組みで作ってきたのかを、「人・組織」と「技術」の両面から解説していきたいと思います。FoundryおよびKubernetesのプロフェッショナルサービスに携わる。Tanzu製品を担当。TokyoのCo-Chairを務めている。Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。ITがお届けするポッドキャストです。