開催概要: http://websystemarchitecture.hatenablog.jp/entry/2017/12/17/133301
きっかけ
元々のきっかけは、僕が酔っ払って適当にツイートしてたら、y_uukiさんにいい感じにされてた [Twitter] ことである。y_uuki さんとは一度リモートで会ったことがあったので、じゃあ物理で会いに行こうということになっていた。それとは別に、もともと WSA 研には興味があった。その理由は主に次の2つである。
Web サービスインフラの寿命
最近は Web サービスインフラの可能性について漠然と考えていた。近年、AWS, GCP をはじめとするクラウド、IaaS でサービスを構築することは当たり前になっている。そして、Heroku をはじめとする PaaS, さらには CaaS (Container as a Service) もある。さらに、AWS Lambda に代表される FaaS、つい最近では Serverless Aurora も登場した。インフラを抽象化する流れは加速している。10年先、20年先、もっと先かもしれないが、ごく近い未来、アイディアさえあれば、そのアイディアを実現するインフラ、アプリケーションはボタンを押すだけで構築されるようになっているんじゃないかと妄想している。そうなった場合、インフラをやる人間の仕事は残っているのか。クラウド、プラットフォームを作る側に居ない限り、仕事は無くなっているんじゃないのかとすら思う。どこまで Web サービスインフラがいつまで存在しうるのかに興味がある。
Web システムの限界と学術的価値
Web の用途は広がるばかりであり、最近だとインターネットでテレビをやるみたいなことがある。今のインターネットでは、電波を使ったテレビ局と同じことをやるのは本質的に難しく、限界があるのではないかと思っている。実際には CDN を使うなど実現できる方法はある一方で、Web を使ったシステムのアーキテクチャの限界はどこまでなのかという思いがある。限界があったとしても、それを学術的価値として残せるならそれで十分に良い気がする。Web システムの限界と、学術的価値がどうなっていくのかに興味がある。
自分の発表
参加者全員が発表するレギュレーションだったので発表した。事前に予稿の提出が求められているのは研究会っぽいなとなった。
予稿: https://gist.github.com/itkq/6fcdaa31e6c50df0250f765be5577b59
まとめると、どうやっていい感じにマイクロサービスのコンテナをスケールしていくのという話である。コンテナが究極に早く起動すれば、リアクティブオートスケールと、コンテナを時々ぶっ壊すといった Chaos Engineering を合わせれば解決する気はしている。しかし現実にはそうなっていないので、長期的に見た、最高のスケール、キャパシティプランニングのために、まず1つのサービスのパフォーマンスを数値化し、サービス同士の依存関係も数値化することについて考えた。
待ち行列とキャパシティの関係から考えてみる、本番と同等に再現するなら shadowing は全パターンやらないといけない、その場合 shadowing を受ける先が大変そう、パケットをポートミラーリングすればいいのでは、でも L7 の情報はどうする、など議論が発生して、masayoshi さんにはサーベイのためのキーワードを教えてもらったり、充実していたと思う。構想はあるがなにもできていない、という状況だったので炎上じゃんと思っていたのだが、15 分みっちり議論があったり、おもしろかったと言われたので良かった。今後も自分で考えつつ色んな人と話をしていきたい。
感想
招待講演
tomomii さんの招待講演は、こういう話を話せるということ、こういう話を受けいれる場であったことにまず驚いた。人事でありながら臆すること無く自分の専門外に領域に突っ込んでいくことが凄いし、それを相手に受け入れられるもらえる人柄や雰囲気あってこそだと思った。
個は、東洋哲学の道で生き、失敗をそれでよしとする、失敗を恐れない心構えであることが必要で、組織は、自分の専門領域を極めながらも、専門外の人と議論をしてさらにブラッシュアップし、個が互いに相互し合うことが必要、という内容だと思う。特に専門外の人と話すことによるインスピレーションは、実際に起きていたので驚くばかりである。もともと多数の学部や専門が存在する、大学という機関は、まさにここでいう組織を目指しているものだと改めて思う。しかし、現実には交流がなかったり、しがらみに囚われたり、年功序列の世界だったりする。WSA 研では、大学であるような壁を取っ払って、楽しい・面白いという根源的な動機で、個を増強する組織を目指しているのだなと感じた。参加者全員が発表する、15 分発表 / 15 分質疑のタイムスケジュールも理にかなっている。
振り返りが重要とも言っていて、有益性、成果、価値を考えてみることによって、組織の存在意義、具体的には次回の開催に繋がるとのことだった。当たり前のようだが、皆が皆当たり前にできているとは言えないと思う。当たり前にするためにも、この記事を書いている。
全体
研究会全体としては、メンツがすごくて、各発表で積極的な発言がでていて、勉強会ともまるで違ったし、自分が参加したことがある国内のアカデミックな研究会とも全然違っていた。例えるのなら、研究室でのゼミ、輪講に近い。そのような雰囲気でカジュアルに話ができるのは、そういう考え方があるのか、全く知らなかったと自分の勉強にもなるし、この話題は自分も結構入っていける、など収穫があった。自分はガンガンむじゃきな質問していくぞと思っていたけど、他の人の議論に圧倒されてほとんどできなかったので、ここは反省点である。
発表で特に印象深かったのは、hirolovesbeer さんの「高速なログ検索エンジンHayabusaについて」で、自分にとって有益な発表だったと思う。簡単なことを簡単に解き、複雑なことを複雑に解くのではなく、複雑なものも簡単に解くアプローチとその具体的な実装がリンクしていて、実装を意識した複雑に対する考え方の片鱗を見ることができた。
最も良かったと思っているのは、WSA 研とは少し遠く感じる発表についての議論の時、その発表の本質的な部分をより抽象化したうえで、自分自身の研究テーマと重ね合わせて議論していたことだった。僕はその発表を聞いていて、どこを変えたらより面白くなるのかとかそもそもについてを考えていたので、僕より圧倒的に先を進んだその話はかなり研究者っぽいと感じた(実際研究者である、すみません)。僕もそういう目線で話ができるようになりたいと思った。
インターネットでは、自分と同世代のエンジニアから刺激を受けることはよくあるものの、研究会では自分より4歳下の chikuwa_IT くんも発表していて刺激になった。自分が学部2年の頃はなんもしてなかったなと思った次第である。
最後に、学生でありながらも参加を快く受けれいてくださった運営の方々と、色んな話を気軽にしてくださった参加者の皆さま、誘っていただいた y_uuki さんに感謝しています。今後もまたよろしくお願いします。