Microsoft OpenHack - Modern Data Warehouse 参戦記

2021/11/24-26 に開催された Microsoft OpenHack - Modern Data Warehouse に参加しました。リアルなシーンを想定された課題解決型の充実したハッカソンでした。楽しかった3日間を思い出しながら、その様子や感想を書いていきます。

![openhack](https://connpass-tokyo.s3.amazonaws.com/thumbs/a4/a0/a4a07bea7f468017e3b1d6b42cedded2.png)

## OpenHack とは

Microsoft 社が世界中で開催するハッカソンのシリーズで、様々なトピックで開催されるようです。 [公式ページ](https://openhack.microsoft.com/) の Topics を見ると *AI-Powered Knowledge Mining*, *Containers*, *DevOps*, *Serverless* など様々です。

## 参加した Modern Data Warehouse の紹介

**おことわり** : イベントの運営方針として、与えられた実際の課題やデータの詳細については公開しない方針と伺っていますので、その範囲での紹介となります。

今回日本向けに開催された *Modern Data Warehouse* の情報は connpass に書かれている公式情報が一番詳しいです:

https://msdevjp.connpass.com/event/228823/

が、一部かいつまんで紹介すると、以下のような点がポイントでした:

- 3日間のハッカソン型イベントである: 定時フル3日間くらいを使うので、時間の確保は必須
- 参加者: データ分析に関わる開発者 (データエンジニア、アナリスト、データサイエンティストなど)
- 進め方: 複数人でチームを組み、そこに Microsoft の社員の方がコーチとしてついてくれて、チームで進めていく
- Hack の内容: 設定された (架空の) ビジネス上の課題を好きな Azure のサービスを使って解いていく

続けて、自分なりのハイライトをいくつかに分けて書きます。

### 多様な参加者層: データ分析に関わりがあれば誰でも楽しめる

チームを組んだメンバーを見ると、参加者層が幅広いなと思いました。

- SQL は得意だけど Azure はあまりわからない
- データサイエンティストとしてのキャリアが長いが Azure を使い始めたばかり
- 事業会社でデータ分析プロジェクトのPMだが、エンジニアリング部はベンダーとMicrosoft社のサポートを頼っている
- 企業向けIT製品一般の導入をする社内IT担当だが、今度データ分析の社内プロジェクトが始まるので学習に来た
- 普段はクラウド・SaaS技術検証をしているが、リアルなシーンでの経験値を積みたい。また社内トレーニングの参考にしたい (これが自分)

ただ皆さん共通して、何かしらのデータ分析のプロジェクトに仕事で関わっていて、それぞれのプロジェクトの話が聞けたのもとても面白かったです。

### Hack の内容: リアルなシーンを想定した課題をチームで解く

お題はいくつかあって、順に与えられて解いていく段取りになっています。課題を順に解いていくと架空の企業のデータ分析の整備がどんどん進んでいく感じで、あたかもその企業のエンジニアになったような気分で解くことが出来ます。これが本当によく出来た問題設定だなぁ、という感じで、参加者には *「ドンピシャこんな課題をこれから仕事でやるんです！」* という人がいたくらいですし、そうでない人にも必ず持ち帰るものがあるような内容でした。

ちなみに全問完答するのは至難の業だそうで、私達も道半ばでタイムアップでした。 (そもそも完答できるならハッカソンで勉強しに来る必要がないわけですが…)
それでもノルマは達成できたようで、バッジがもらえるボーナスもありました:

https://twitter.com/take4mats/status/1464101725980135424

ゲーム性があっていいですね！
解けなかった続きの課題はしっかり勉強したいと思います。

また、採用技術は Azure の範囲であれば参加者に裁量がありますが、データ分析関連ですから以下のアーキテクチャ図の要素技術が選択肢になりそうです (Source: *[Azure Synapse を使用した分析のエンド ツー エンド \- Azure Example Scenarios \| Microsoft Docs](https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/dataplate2e/data-platform-end-to-end)*)。
![azure-analytics-end-to-end.png](https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/dataplate2e/media/azure-analytics-end-to-end.png)

### 関連サービスの解説: Hack 以外に学びの時間も

Hack の合間で何度か挟まれるミニセッションで、 Synapse Analytics の各機能などデータ分析関連の主力サービスについて Microsoft のエンジニアの方からレクチャーが行われました。他にも、 Hack 途中に必要な調べ物から脱線して「こんなことも出来るのかな？」などとチームメンバー内で勉強・トライするような場面もありました。
課題を解くことは大事なのですが、競争というよりは学ぶことを重視した雰囲気でした。
*「Azure 歴浅いからビビりまくってたんですが、疑問点を拾いながら進められたのでとても良かったです！」* というチームメンバーの感想も印象深いです。

データ分析に関わる Azure サービス群を概観できて、自分たちが気になるところを更に肉付けできて良いと思います。
個人的に主なところでいうと、タイトル通りのモダンなデータウェアハウスのアーキテクチャやデザインパターン, Azure の GitOps と CI/CD モデル などですかね。

また、真面目な学びだけじゃなく、ちょっとした Tips や小ネタもありました:

- [推奨されるリソースの命名則](https://docs.microsoft.com/ja-jp/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations) も公式ドキュメントで提供されている
- チュートリアルやこの手のイベントで頻出の架空の企業名があって、世界感まで作り込まれていそうで面白い (有名なのだと [Contoso](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%88%E3%82%BD))

## 振り返って

私自身、この分野のリアルな経験が不足気味で、道具の使い方だけ覚えようとすると身が入らなかったところがありました。そこに今回のイベントでリアルな課題解決のために学ぶ・実装するのがとてもフィットした感じで、終始気持ちよく取り組むことが出来ました。
一度触れられると見え方が変わるし、今回触れられなかった技術も含めて、世界地図が見えたような感じがあります。

https://twitter.com/take4mats/status/1464412910990413827

参加者から刺激をもらえるというのも大きくて、 **ハッカソンは学び方として自分にフィットするアプローチ** だなと改めて感じました。

---

というわけで今回の OpenHack | Modern Data Warehouse を振り返りましたが、 **次回イベントは 2021/12/20-22 開催で *App Modernization with NoSQL* がトピック** のようですね。 https://msdevjp.connpass.com から辿ると見つけられるので、是非チェックしてみて下さい。
イベントを開催・運営してくださった Microsoft の皆さんありがとうございました！