リアルな体験談や交流が得られたエンジニアの祭典JKD v18.12
JKD v18.12はベンダーニュートラルを目指し、スポンサーシップを受けながらもベンダー色に染まらないことを目指したエンジニアのためのカンファレンスである。様々なセッションが行われたが、その中でも特に印象に残ったものは、いずれも「エンジニア自身が実際に手を動かして経験したリアルなノウハウ」がメインのモノが多かった。会期中の取材を通して、筆者はそのように感じた。
コンテナランタイムの比較結果を紹介するセッション
その具体的な好例と言えるセッションが、コンテナランタイムの比較を行ったサイバーエージェントの長谷川誠氏による「runcだけじゃない コンテナlow level runtime徹底比較」ではないだろうか。
なお長谷川氏は、JKD v18.04でも「Dockerだけじゃないコンテナruntime徹底比較」と題したセッションで講演をしている。
単にコンテナランタイムを調べて解説するだけではなく、性能評価として起動時間などを比較、考察するなど、実際にエンジニアとしての領分を思う存分に発揮した、いかにもランタイムオタクと呼ぶにふさわしいセッションとなった。
実際にランタイムを調べるにはドキュメントだけではなく、場合によってはソースコードまで確認しなければならない。また動作を評価するためには、ランタイムが稼働する環境を作るなどの手間も必要だ。しかしそれを率先して行うことで、このセッションを聞いたエンジニアは、ダイレクトに自身が知りたい項目にジャンプできるわけだ。そういう意味では、たとえ性能比較でそれほど差が付かなかったとしても実施したことに意味がある。また性能評価するためのツールの分析や最終的に自分でスクリプトを組んで検証したなどという経験は、長谷川氏に続く後進のエンジニアには大きな助けになるだろう。
ベンチマークツールについては、スクリプトを作成した背景などについても解説を行った。単なる成果物だけではなく、こういう情報があれば、他のエンジニアの応用にも役に立つだろう。
ベンチマークの結果については、あくまでも非常にシンプルなユースケースでの使い方であることを前提として説明を行った長谷川氏だったが、それでも2018年12月の時点での記録として、これを半年後などにさらにアップデートすることで、乱立するコンテナランタイムの評価には一石を投じるものになるのではないだろうか。同じジャンルのソフトウェアを継続的に評価することの重要さを、参加したエンジニアが持ち帰ってくれることを願ったセッションとなった。
最後にHigh Level及びLow Levelのコンテナランタイムについての考察を行い、コンテナランタイムだけではなく、軽量仮想マシンのランタイムとなるKata ContainerやgVisor、そしてPodman、containerdなどを紹介した。
このセッションの後に行われたコンテナランタイムに関するTechMeetingには、サイバーエージェントの長谷川氏、DockerのメンテナーでもあるNTTの須田瑛大氏なども参加し、ランタイムに関する参加者からの質問に答えた。ここではセッションの直後では出来なかった質問や参加者自身の経験などを打ち解けた雰囲気の中で交換する時間となり、通常のテックカンファレンスではなかなか得られない、より深い情報交換が行えたように思える。
実際に動いているクラウドネイティブのデモShowKs
講演者が自身の経験から語ると言う意味で最もエキサイティングな内容になったのが、ShowKsと呼ばれるデモシステムに関するセッションだ。これはJKDのプランニングを行うボランティアの中で産まれた「InteropのShowcaseのように、クラウドネイティブなシステムが実際に動いていることを見せるデモシステムがあると良いよね」というアイデアから全てが始まったもので、いわば草の根運動的なデモ開発のプロジェクトだ。
このセッションでは、プロジェクトの開始当初の打ち合わせで使われたホワイトボードのメモなどを紹介しながら、開発の目的、プロセスなどを説明した。特に企業で働くエンジニアであるために、開発のためのコミュニケーションはSlack、それも22時頃から会話が本格的に始まるというあたりは、いかにもオタクエンジニアといった感じだ。
セッションの中での解説だけではなく、ShowKsはブースでも説明を行っていた。A4のプリントを張り出しただけのシンプルなセッティングで、こんなところでもエンジニアらしさが現れていた。
セッション自体は、ShowKsを構成する複数のコンポーネントの解説、CI/CDのためのSpinnaker関連の解説など、各担当のエンジニアが持ち回りで実施された。
1枚1枚のスライドや語られる言葉に、今回の開発を通じて獲得した知見が散りばめられており、参加者も食い入るように見つめていたことが印象的だった。
展示ブースのようす
一般的なカンファレンスと同様、JKD v18.12にも展示ブースが用意されており、スポンサーとなったベンダーやコミュニティがそれぞれ展示を行っていた。ここでも外資系ITベンダー、国内のITベンダー、そしてユーザー企業などがテーブルを並べて、参加者に訴求していた。
2回目のイベントということで、前回の経験を踏まえて様々な工夫も見られた。例えば2018年4月に行われた最初のJKD v18.04では、Job Boardを白紙の状態から始めたので、なかなか書き込みが行われなかった。そのため、無理矢理書き込んでもらうことで徐々に手書きの求人情報が集まってきたという経験があった。それに対して今回は、最初からA4のプリントを用意して貼り出すという工夫が見られた。
ユーザー企業であるZOZOテクノロジーズやサイバーエージェントなどもブースを出展していた。主な目的は人材獲得だ。
サイバーエージェントの担当者に伺ったところ、「想像以上に問い合わせが来ている」と言っていた。エンジニアが技術的なプレゼンテーションをしっかりと行い、「うちの会社は人材を募集しています」と呼びかけることに加えて、ブースでは人事担当者が対応してくれるというスタイルは、ハイアリングの最も効率的な方法論と言えるだろう。
2019年からはCloudNativeDays
JapanContainerDaysとしては、今回のv18.12がラストとなり、2019年からはCloudNativeDaysと題したカンファレンスが各地で開催される予定だ。2019年7月に予定されているCloudNativeDaysでは、OpenStackのコミュニティとも共同で、よりインフラから上位のアプリケーションまでクラウドネイティブなシステムを見通す形のカンファレンスになると思われる。今回のように、リアルな経験に基づいたセッションを期待したい。