Serverless OpenHackに行ってきた。 #openhack #serverless

Microsoftが主催するOpenHackという3日間のハッカソンイベントに招待していただいたのでチームで参加してきた。結果から端的に言うと、最高に学びしかなくて後で高額請求書が送られてきても文句言えないくらいの満足度のイベントでした。

今でも応募フォームは見るだけはできるので覗いてみても、どんなイベントなのかがわかりづらい。ということで、実際に参加してみて、どんな雰囲気なのかを書きます。先に書いたとおりで、最高に学びしk(略)なイベントなので、招待されたら参加できるように全力で調整すべきであるとオススメしておきます。

参加する切っ掛けは?

私達の場合、MSの中の人から招待フォームのURLと開催概要を頂いたことが最初の切っ掛けでした。直接頂いた私や私達チームだけでなく、社内で共有して良いということだったので、部署内のチャットで共有させていただきました(実際にこの告知で来た同僚はいませんでしたが😢)。

どんなチームでHackするの?

Team 10のメンバー。濃い。

上の写真が実際に参加したチームのテーブルです。全体で20ほどのチームが参加していました。各チームは5〜6名ほどのサイズで、Microsoftのガッチガチのエンジニアが専属サポートで付いてくれます。左側が自分が所属するチームメンバー、右側に別の会社の方という感じに、混ざっています。申込時は個人で申し込むのですが、企業やチームごとにまとめつつも、わざと混ぜこぜにしているそうです。

どんな環境なの?

会場はTABLOIDさん

会場はTABLOIDさん。JR浜松町から歩いて10分ほどで着きます。もともと倉庫だったのか、奥にあるだだっ広いスペースで3日間外に出ることなく、Hackしまくる空間が作られていました。まさに、精神と時の部屋。

ネットワークは、有線無線のどちらも提供されていて、ネットワークスピードも快適。上のチームの写真には写ってないのですが、各テーブルには外付けディスプレイが1台あり、HDMI、VGA、ディスプレイポートケーブルがあり、だいたいのPCが接続できる状態でした。

Azure のサブスクリプションもチームごとに用意されているので、お金のことを気にすること無く、じゃんじゃんプロビジョニングできます(常識の範囲内で)。自分は一度試してみたかった、Cosmos DBとAzure Functionsで簡易なAPIの開発を試せたので、この時点でかなり満足😊

3日間外に出なくていい最大の理由はランチ!これも3日間無料で提供していただきました。二日目のランチを撮りそこねたのですが、ラインナップを載せておきますね。

OpenHack Day 1: 今半
OpenHack Day 3: なだ万

その他、お菓子やドーナツやソフトドリンクが継続的にデリバリーされていて、糖分やカフェインに困ることはありませんでした。外に出なければいけないのは、喫煙者の方が喫煙する場合のみだと思います。

どんな課題なの?

募集フォームの開催概要の中に

実在し得る課題の解決を通じてスキルを高める3日間のコーディングイベントです。

と書いてあるように、実際にMicrosoftさんが過去に導入支援した事例を元に構成された10の課題がありました。同じ内容で今後も開催する可能性があるので具体的なことは書けないのですが、この課題をすべてパスすると、手元に本番で稼働させられるシステムが出来ている、というものです。

それぞれの課題には、

  • ビジネスとしてのバックグラウンドと要件、
  • それを何で実装するのかについての技術的制約(Azure FunctionsとLogic Appsでやりましょう、というもの)、
  • その課題に関連する公式ドキュメントのリンク

が与えられます。特に公式ドキュメントは、OpenHackのときだけでなく、その後に役立つものばかりです。この3日間で、Azure Functionsで何か作る時にどのあたりのドキュメントを見に行けばいいか、という勘所がつかめた気がします。個人的には、Node.jsのdurable functionsにいつのまにかExternal Eventが実装されていたのをドキュメントで知ったので、やっぱり定期的にドキュメントは漁らないといけないと思いました(ボリュームが半端ないんですが…)。

自分たちのチームが出来たのは3つ目まで。それでも、持ち込んだ自分のPCにはAzure Functionsの開発環境が出来上がり、デプロイの方法を実践できて、Cosmos DBバインディングを使ったAzure FunctionsによるAPI開発が出来て、最終日にはAzure DevOps(旧VSTS)を使ったCI/CDのパイプラインを作る、といったことが出来ました。

課題以外には何かやるの?

プライベートな相談会

OpenHack会場とは別に個室が用意されていて、そこで実際の業務で抱えている課題について相談する時間を設けてもらえます。OpenHack会場に来ているエンジニアは、その時のテーマに関連する技術のエキスパートやエバンジェリストが来ているので、悩みを伝えると適切な方を紹介していただけます。

だいたい時間は30分ほど、と事前に教えてもらっていたのですが、実際には1時間30分ほどいろいろと教えてもらいました。その場で解決、というわけではありませんが、今後何を試したらいいのか、その候補を複数もらえたので大変助かりました。延長できたのは、おそらく他の参加者があまりプライベートな相談を持ちかけなかったからではないかと思うのですが、もしそうなら大変もったいない…

ランチセッション

お昼の時間に30分ほど、MSの方がランチセッションというプレゼンをしてくれました。3日間それぞれのテーマは、

  • Serverless Examples: サーバーレスの概要、Azure Functions の事例
  • DevOps for Serverless: Azure Functionsのベストプラクティス
  • IoT Use cases: IoTでのServerlessの事例

といった濃厚な話ばかりでした。スピーカーの人たちも会場にずっといたので、プレゼンでもっと聞きたかったことがあればすぐに聞けるし、たくさんおねだりすると別途セッションを開いてくれたりしました。

おわりに

実際に参加するまでどんなことやるのかイメージできてなかったのですが、とても実りある3日間を過ごせました。普段気になってて試せなかった技術、聞く相手がなかなかみつからなかったり、そもそも知らなかったことを知れなかったり、そして何よりも普段のオフィスを離れてそのことにだけ集中できる場があったことがとても良かったです。ちなみに、3日間全部会場にいなければならない、という制約は無く、途中業務都合で抜けることもOKでした。自分も実際に私用で抜けました。

ということで、次回開催時に招待されたらお断りする必要ないし、全力でその3日間参加できるように調整すべきイベントだと思います。次回がいつなのか、何のテーマなのかはまだ未定だそうです。おそらくMicrosoftさんとしては、寧ろユーザーである我々がどんなテーマに関心があるのか気になっていると思うので、「○○で開催してくれたら行くのにな〜」なんて日頃からお伝えしていくのが良いのではないでしょうか。

k8sとかAKSとかIstioとかその辺をがっつりやるために3日間籠もりたいな〜

参考